我使用this recursive menu,並做了一些改動。我想要的第一級li標籤是一個具有唯一編號的標識。所以第一個ID是id =「mid0」,第二個是id =「mid1」等等。如何才能做到這一點?如何從元素個數創建唯一標識,如XSLT中的數組?
我是XSLT新手,所以請原諒我問一個愚蠢的問題,但我試過尋找它,我找不到我在找什麼。
<xsl:if test="count($currentPage/ancestor::root/* [@level=$level]/* [@isDoc and string(umbracoNaviHide) != '1']) > '0'">
<xsl:for-each select="$currentPage/ancestor::root/* [@level=$level]/* [@isDoc and string(umbracoNaviHide) != '1']">
<li class="twocol">
<a href="{umbraco.library:NiceUrl(@id)}">
<xsl:if test="$currentPage/@id = current()/@id">
<xsl:attribute name="class">Selected</xsl:attribute>
</xsl:if>
<xsl:value-of select="@nodeName"/>
</a>
<xsl:if test="count(current()/* [@isDoc and string(umbracoNaviHide) != '1']) > '0'">
<xsl:call-template name="submenu">
<xsl:with-param name="level" select="$level+1"/>
</xsl:call-template>
</xsl:if>
</li>
</xsl:for-each>
</xsl:if>
帶班「twocol」李是我需要的ID,因此在輸出端像這樣:
<li id="mid0" class="twocol">
<li id="mid1" class="twocol">
請編輯的問題,包括您的輸入XML(或它的簡化版本)和所需的輸出結構。 – Utkanos
我試過了,但它都變成了一行代碼。我會再嘗試。 – plebksig
完成,對此感到抱歉。 – plebksig