我正在使用XSL做一些工作,并且有一些初学者的困难。
我通过将xsd转换为初学者的xml来获取我的源代码。目前我只想尝试与元素匹配,并专注于以后的样式。我还没有为xsd到xml样式表找到很多信息来源(至少作为初学者可以接受),这就是我到目前为止基于转换后的xml的原因。
我的源代码的简化版本是:
<n1:Test xmlns:n1="urn:com:sam:types:test">
<a>1</a>
<b>1</b>
<c>1</c>
</n1:Test>
我的XSL是:
<xsl:stylesheet version="1.0"xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:pla="urn:com:sam:types:test">
<xsl:output method="xml" />
<xsl:template match="/">
<xsl:for-each select="n1:Test">
<xsl:value-of select="a" />
<xsl:value-of select="b" />
<xsl:value-of select="c" />
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
我对XSL并不熟悉,并且一直在努力工作,但是我还在苦苦挣扎。我相信我的问题与我尝试应用命名空间的方式有关。
非常感谢任何指导。
答案 0 :(得分:0)
您的样式表有两个明显的错误:
version="1.0"
和xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
; 您声明xmlns:pla="urn:com:sam:types:test"
,但是您使用了。{
n1:
前缀。你应该:
<xsl:for-each select="pla:Test">
而不是:
<xsl:for-each select="n1:Test">
你没有发布你的预期结果,所以我不知道你可能有什么其他问题 - 但如果你修复这两个问题,至少你会得到一些结果。