1
我'XSLT模板新XSLT和需要幫助遞歸和條件
這是我的XML源文件:
<cars best-category="83">
<category id="1" name="SUV">
<category id = "50" name="BMW">
</category>
</category>
<category id="2" name="combi">
<category id = "60" name="Volkswagen">
<category id="102" name="4x4">
</category>
</category>
<category id = "83" name="Skoda">
</category>
<category id = "32" name="Seat">
</category>
</category>
<category id="12" name="another">
</category>
</cars>
,我需要這個結果(通過BEST-選擇全名屬性路徑類別值):
<CATEGORYTEXT>combi | Skoda</CATEGORYTEXT>
我的XSLT:
<xsl:for-each select="cars/category">
<CATEGORYTEXT>
<xsl:apply-templates select="category" >
<xsl:with-param name="text" >
<xsl:value-of select="@name" />
</xsl:with-param>
</xsl:apply-templates>
</CATEGORYTEXT>
</xsl:for-each
和我的模板:
<xsl:template match="category">
<xsl:param name="text" />
<xsl:if test="category">
<xsl:apply-templates select="category">
<xsl:with-param name="text">
<xsl:value-of select="$text" />
<xsl:text>
|
</xsl:text>
<xsl:value-of select="@name" />
</xsl:with-param>
</xsl:apply-templates>
</xsl:if>
<xsl:value-of select="$text" />
<xsl:text>
|
</xsl:text>
<xsl:value-of select="@name" />
</xsl:template>
芽我不知道,如何篩選結果的最佳類別值...誰能幫助我?
感謝
這是確定這個確切的例子,但如果有下一個內部類的子元素?像這樣: '<汽車最佳類別= 「87」> \t <類別ID = 「2」 名稱= 「組合式」> <類別ID = 「83」 名稱= 「斯柯達」> \t \t \t <類別ID = 「87」 名稱= 「4×4」> \t ' 或 '<汽車最佳類別= 「12」> \t <類別ID = 「12」 名稱=「另一「> \t ' – zvodev
請不要在評論中發佈代碼 - 而是編輯您的問題。 –
規則就像操作系統中的文件夾路徑,如果best-category = 12,那麼結果只是「another」,或者如果102然後'combi |大衆| 4x4' – zvodev