我有一个包含以下内容的 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 中的标题值。我只能看到
描述
你好
但是如果我像这样从 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 是由表单生成的,如果我删除默认命名空间,它将不起作用。我什至不知道如何解决这个问题,或者我做错了什么。请帮忙。
提前致谢。