存在 xsd link 覆盖 xslt
Presence of xsd link overriding xslt
我真的是 XML、XSD 或 XSLT 的新手。
我想做的是:
- 输出数据以 XML 格式传输。
- 用户可以查看 XML 文件
- 用户不习惯 XML 并希望在漂亮的 table 中查看数据而不是 XML 代码
- 我为此创建了一个 XSLT 文件
我完成了 XSLT 文件(除了调整颜色模式等)。
我现在遇到的问题是,在 xml 文件中有一个 link 到外部 xsd 文件 (xmlns =..)。只要此代码存在,呈现的 XML 就会缺少提取的输入 (xsl:value-of select=...)。
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="test.xsl"?>
<Table1 xmlns="http://www.test.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
我的 xslt 代码如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<body>
<table border="1">
<tr>
<td>
Id of
</td>
<td>
<xsl:value-of select="//idOf"/>
</td>
</tr>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
我做错了什么?
谢谢!
试试(根据michael.hor257k的评论编辑)
<xsl:stylesheet version="2.0"
xmlns:test="http://www.test.xsd"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
exclude-result-prefixes="test">
然后将 test:
添加到您访问 xml 结构的所有内容,例如<xsl:value-of select="//test:idOf"/>
xmlns="http://www.test.xsd" 不是 只是 XML 中的 "Link" 但它声明了默认命名空间- 在此处使用 xsd 作为文件扩展名可能是一种品味,但如果不使用它就无法访问 XML 中的数据。
我真的是 XML、XSD 或 XSLT 的新手。
我想做的是:
- 输出数据以 XML 格式传输。
- 用户可以查看 XML 文件
- 用户不习惯 XML 并希望在漂亮的 table 中查看数据而不是 XML 代码
- 我为此创建了一个 XSLT 文件
我完成了 XSLT 文件(除了调整颜色模式等)。 我现在遇到的问题是,在 xml 文件中有一个 link 到外部 xsd 文件 (xmlns =..)。只要此代码存在,呈现的 XML 就会缺少提取的输入 (xsl:value-of select=...)。
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="test.xsl"?>
<Table1 xmlns="http://www.test.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
我的 xslt 代码如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<body>
<table border="1">
<tr>
<td>
Id of
</td>
<td>
<xsl:value-of select="//idOf"/>
</td>
</tr>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
我做错了什么?
谢谢!
试试(根据michael.hor257k的评论编辑)
<xsl:stylesheet version="2.0"
xmlns:test="http://www.test.xsd"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
exclude-result-prefixes="test">
然后将 test:
添加到您访问 xml 结构的所有内容,例如<xsl:value-of select="//test:idOf"/>
xmlns="http://www.test.xsd" 不是 只是 XML 中的 "Link" 但它声明了默认命名空间- 在此处使用 xsd 作为文件扩展名可能是一种品味,但如果不使用它就无法访问 XML 中的数据。