2013-09-21 125 views
0

我在做这个简单的XSLT:XSLT不渲染

<?xml version="1.0" encoding="utf-8"?> 
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl ="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl"> 
    <xsl:template match="/"> 
    <h1>El meu primer document XSLT</h1> 
    <xsl:for-each select="pisos/pis"> 
     <strong>id:</strong> 
     <xsl:value-of select="id"/> 
    </xsl:for-each> 
    </xsl:template> 
</xsl:stylesheet> 

这是我的XML文件:

<Stock_pisos> 
<pisos> 
    <pis> 
     <id>1</id> 
    </pis> 
    </pisos> 
</Stock_pisos> 

然而,文件只是呈现H1标题。

任何提示?

回答

2

你应该选择根元素,第一:

<?xml version="1.0" encoding="utf-8"?> 
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl ="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl"> 
    <xsl:template match="/"> 
    <h1>El meu primer document XSLT</h1> 
     <xsl:for-each select="Stock_pisos/pisos/pis"> 
     <strong>id:</strong> 
     <xsl:value-of select="id"/> 
    </xsl:for-each> 
    </xsl:template> 
</xsl:stylesheet> 
+3

在代码方面贴出你的建议是正确的,但术语“'根node'”是错误的XSLT/XPath的背景下为http:/ /www.w3.org/TR/xpath/#root-node由'/'选择,表示文档节点而不是根元素。所以我想你想说“选择'根元素'”。 –