2014-03-04 42 views
1

我需要將XPath表達式分配給引用標籤,該引用標籤將在我的引用附近生成自動文本。生成的文本應該從目標元素的標題(圖)中獲取。Xpath:通過比較屬性獲取數據

這就是它的樣子。 標性建築(可以位於任何地方)

<internalRef internalRefId="fig1"></internalRef> 

圖施工(可以在任何地方)

<figure id="fig1"> 
<title>The TEXT I TRY TO GET 
</title> 
... 
</graphic> 
</figure> 

我想,如果圖中的id屬性相匹配的,我應該採取標籤內容的「圖題」鏈接的目標屬性。 我的一個失敗的表達變異,打印什麼

//figure[self/@[email protected]]/title 

感謝的想法...

回答

1

您正在尋找一些子虛烏有<self/>元素內@internalRefId屬性。使用你寫的<internalRef/>元素「可以位於任何地方」,這應該是罰款:

//figure[//@[email protected]]/title 

這將返回有一個@id等於任何@internalRefId屬性文檔中任何地方的數字title元素。

+0

是的我現在已經在我的鏈接中生成了文本。但是我得到了每個鏈接的所有圖形標題。但我只需要一個人物的標題 - 鏈接的目標。 ** PS **要說清楚,我正在使用樣式表編輯器。它允許在需要時插入自定義XPATH表達式。因此,我們試圖創建的表達式就像文檔中任何InternalRef元素的模板/樣式。 所以我相信我會有別的東西,而不是'// @ internalRefId',這是最接近InternalRef的東西,因爲我正在修改與此標記的設計相關的表達式。 –

+0

因此,您只有一個'您的文檔中的internalRef />元素,或者您有任何XPath表達式查詢您想要檢索「

」的特殊表達式? –

+0

不,我可能有很多IternalRefs。我正在製作SGML(FOSI)風格來處理XML文檔。該樣式允許使用計數器的XPATH表達式,自動文本等。 風格是通用的。它應該生成「查看圖%圖標題%」,每個鏈接都與樣式處理器符合的圖形相關。 當樣式符合InternalRef時,它添加'見圖。 <_gte:XPathString expr =「// figure [// @ internalRefId = @ id]/title」 />' –