1
這裏是我的XML:XPath表達式來獲取所有前面的兄弟姐妹UNTIL條件滿足
...
<table></table>
<p class="source"></p>
<p class="notes"></p>
<p class="notes"></p>
<p class="notes"></p>
<p />
<p />
...
<table></table>
<p class="notes"></p>
<p class="notes"></p>
<p />
...
我想寫一個被稱爲每個"<p>"
標籤模板。該模板將返回該標籤所在的位置相對於其前面的第一個"<table>"
標籤的索引。它只應計數"<p>"
具有屬性「class」等於「notes」的標籤。
因此,對於上面的例子中,我會希望在下面的評論中所指出的指標:
...
<table></table>
<p class="source"></p>
// should return 0 <p class="notes"></p>
// should return 1 <p class="notes"></p>
// should return 2 <p class="notes"></p>
<p />
<p />
...
<table></table>
// should return 0 <p class="notes"></p>
// should return 1 <p class="notes"></p>
<p />
...
這裏是我想出迄今:
<xsl:template name="PrintTableNumberedNote">
<xsl:variable name="currentPosition" select="count(preceding-sibling::p[(@class='notes')])"/>
<xsl:value-of select="$currentPosition"/>.
</xsl:template>
我需要添加邏輯,使計數停止在第一次出現的上表,因爲這是如何結果不正確地看這個模板:
...
<table></table>
<p class="source"></p>
// returns 0 <p class="notes"></p>
// returns 1 <p class="notes"></p>
// returns 2 <p class="notes"></p>
<p />
<p />
...
<table></table>
// returns 3 <p class="notes"></p>
// returns 4 <p class="notes"></p>
<p />
...
如何將此其他條件與我的XPath語句結合使用?
謝謝
謝謝!這工作就像一個魅力!我需要找到一個好的路徑XSLT書 - 你有什麼建議嗎? – technopia