0
我試圖將所有<list>
元素包裝在<div>
中。 <list>
元素都是彼此的兄弟姐妹。我認爲匹配第一個元素並將模板應用於所有它和它的所有兄弟在<div>
內就足夠了,但我似乎在這裏丟失了一些東西。XSLT 1.0將第一個元素和所有後續的同級元素包裝
我有下面的XML:
<section.body>
<para>
<list>
...
</list>
<list>
...
</list>
<list>
...
</list>
</para>
</section.body>
而下面的XSLT:
<xsl:template match="section.body/para/list[1]">
<div>
<xsl:attribute name="class">
<xsl:value-of select="'&listWrapperClass;'"/>
</xsl:attribute>
<xsl:apply-templates select=".|following-sibling::list"/>
</div>
</xsl:template>
隨着預期的效果:
<div class="sectionClass">
<div class="paraClass">
<div class="listWrapperClass">
<div class="listClass"/>
<div class="listClass"/>
<div class="listClass"/>
<div class="listClass"/>
</div>
</div>
</div>
這似乎在一個循環中被抓到的時候試圖應用這些模板,並對我進行嘲弄。真的不知道我在這裏錯過了什麼,所以任何幫助將不勝感激!
完美!那正是我需要的。我對XSLT相當陌生,這表明我對一些我不瞭解的東西有正確的方向。謝謝! – Anthony