2010-06-15 41 views
0

問題我有是我想循環父母使他們粗體,然後通過ID:PID(父母ID)並列出他們的孩子。我的第二個循環不起作用。XSL兩個for-each循環相同的節點

XML

XSL

<xsl:choose> 
<xsl:when test="@PARENT_OBH_ID"> 

<b><xsl:value-of select="@TITLE"/></b> 

<xsl:for-each select="FOOTER"> 
    -<xsl:value-of select="@TITLE"/> 
</xsl:for-each> 


</xsl:when> 
</xsl:choose> 

</xsl:for-each> 

感謝

回答

0

你可能會更好過重組這個使用模板,您使用在目前的制度是指上下文數據變得困惑(你XSLT解析器是不知道哪個元素它應該從第二循環讀取裏面的屬性)

<xsl:choose> 
<xsl:when test="@PARENT_OBH_ID"> 
    <b><xsl:value-of select="@TITLE"/></b> 
    <xsl:apply-templates select="FOOTER" /> 
</xsl:when> 
</xsl:choose> 

<xsl:template match="FOOTER"> 
    <xsl:value-of select="@TITLE"/> 
</xsl:template> 

apply-templates重新開始與頁腳元素作爲重點的背景下(這樣@TITLE是指在頁腳標題屬性,這是你在瞄準我猜測?)