我有一個樣品XSLT計數兄弟
<Root>
<A rename="yes,it is option 1"/>
<C rename="no"/>
<A rename="yes,it is option 2"/>
<C rename="no"/>
<C rename="yes"/>
<C rename="no"/>
<A rename="yes,it is option 3"/>
<A rename="yes,it is option 4"/>
<C rename="no"/>
<C rename="yes"/>
<C rename="no"/>
<C rename="no"/>
</Root>
然後我將模板應用於這個樣子
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output omit-xml-declaration="yes" indent="yes"/>
<xsl:template match="A">
<p><b>option1: <xsl:value-of select="count(following-sibling::C[preceding-sibling::A[1]/@rename[contains(.,'option 1')]])"/></b></p>
<p><b>option2: <xsl:value-of select="count(following-sibling::C[preceding-sibling::A[1]/@rename[contains(.,'option 2')]])"/></b></p>
<p><b>option3: <xsl:value-of select="count(following-sibling::C[preceding-sibling::A[1]/@rename[contains(.,'option 3')]])"/></b></p>
<p><b>option4: <xsl:value-of select="count(following-sibling::C[preceding-sibling::A[1]/@rename[contains(.,'option 4')]])"/></b></p>
</xsl:template>
</xsl:stylesheet>
,但我想輸出這個樣子的,如果沒有下面的兄弟姐妹,我們只是忽略這個one.just打印這些@rename包含「選項」,也包含元素
option1: 1
option2: 3
option4: 4
我所得到的是現在
option1: 1
option2: 3
option3: 0
option4: 4
option1: 0
option2: 3
option3: 0
option4: 4
option1: 0
option2: 0
option3: 0
option4: 4
option1: 0
option2: 0
option3: 0
option4: 4
現在,這是一個很好的例子,不使用XML。爲什麼在你不給數據任何結構時使用結構化格式? – Tomalak
另外*您沒有真正嘗試*您輸入的顯示XSLT代碼。我幾乎得到你想要的輸出。請在您的問題中多加一些注意,如果您的代碼和問題文本講述了兩個不同的故事,則無法幫助您。 – Tomalak
我只是想簡化我的原始文件 –