我有一个包含以下内容的xml文件:
<?xml version="1.0"?>
<mods xmlns="http://www.loc.gov/mods/v3" xmlns:mods="http://www.loc.gov/mods/v3"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xlink="http://www.w3.org/1999/xlink">
<titleInfo><title>A-Title-01</title></titleInfo>
</mods>
还有一个XSL文件:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<h2>Description</h2>
<p>Hello</p>
<p><xsl:value-of select="titleInfo/title"/></p>
</xsl:template>
</xsl:stylesheet>
我的问题是我无法在xHTML中获取标题值。我只能看到:
Description
Hello
但如果我从xml中删除默认命名空间,就可以这样做:<?xml version="1.0"?>
<mods xmlns:mods="http://www.loc.gov/mods/v3"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xlink="http://www.w3.org/1999/xlink">
<titleInfo><title>A-Title-01</title></titleInfo>
</mods>
并将样式表的匹配项更改为<xsl:template match="/mods">
,我可以看到标题值。
但是,我无法从xml中删除默认命名空间,因为xml是由表单生成的,如果我删除默认命名空间,它将无法正常工作。我甚至不知道如何解决这个问题或者是否做错了什么。请帮忙。
提前感谢。