我真的很习惯使用XML,XSD或XSLT。
我要做的是以下内容:
我完成了XSLT文件(除了调整颜色模式等)。 我现在的问题是在xml文件中有一个指向外部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>
我做错了什么?
THX!
答案 0 :(得分:0)
尝试(根据michael.hor257k&#39评论编辑)
<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 =&#34; http://www.test.xsd"不是只是 a&#34; Link&#34;在你的XML中但是它声明了默认的命名空间 - 在这里使用xsd作为文件扩展名可能是一种品味,但你无法使用它来访问XML中的数据。