我想獲取由其id
屬性指定的特定節點的值。但是,我的XSL解析器Saxon的行爲並不是我期望它的工作方式。比較XPath中的屬性值
這是我的XSL代碼:
<xsl:template match="synonyme">
<xsl:element name="corr">
<xsl:value-of select="@connecteur" />
<xsl:value-of select="/liste/connecteur[@[email protected]]/forme[1]" />
</xsl:element>
</xsl:template>
我只匹配了一個名爲synonyme
標籤具有connecteur
屬性。我的代碼輸出這個屬性的值。
我還希望輸出具有id
屬性的其他節點的值,該屬性與我當前匹配的synonyme
標記的connecteur
屬性相匹配。但是這個查詢沒有找到結果,第二個value-of
總是有空輸出。
如果我寫,例如[@id='c160']
,其中c160
與第一個value-of
輸出的是完全相同的東西,它起作用!但與我匹配的節點的@attribute
比較時不行。我怎樣才能解決這個問題?
的XML基本上是
<liste><connecteur id="c160"><forme>foo</forme></connecteur>
<connecteur id="c161"><synonyme connecteur="c160" /></connecteur>
</liste>
,並在地方synonyme
的預期輸出爲<corr>c160 foo</corr>
。