我在我的XML中有以下幾行。匹配不同的數字格式
<toc-item num="(i)">
<toc-item num="(ii)">
<toc-item num="(a)">
<toc-item num="(b)">
<toc-item num="1">
<toc-item num="2">
我需要一個XSLT代碼,這將使3如果數目在格式(I),2如果在格式(a)和1對最後一種情況。我已經嘗試了下面。但是,如果(i)或(a)是,則給予2。
<xsl:variable name="nu">
<xsl:number format="(i)" level="any" />
</xsl:variable>
<xsl:variable name="Brac">
<xsl:choose>
<xsl:when test="contains(current()/@num,$nu)">
<xsl:value-of select="3"/>
</xsl:when>
<xsl:when test="contains(current()/@num,'(')">
<xsl:value-of select="2"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="1"/>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:value of select="$Brac"/>
請讓我知道我能得到它。
由於
這可以在XSLT 2.0中優雅地處理。你可以使用它嗎? –
是的,我可以使用xslt 2.0 – user2423959