2015-10-06 41 views
1

我有一個DTD一行:找到一個節點,如果兄弟是唯一

<!ELEMENT performance (composition, (soloist)?,(orchestra, conductor)?)> 

,我想找到的成分,其中只有一個獨奏。

我想過這樣的事情:

/performance/compositions[count(../soloist)=1] 

它是正確的嗎? 謂詞中有AND運算符有可能嗎? (如果我想沒有獨奏家和樂團一個用於爲例)

回答

1

由於對performance聲明只允許零個或一個soloist和零個或一個orchestra,沒有必要計算出現的次數。

要返回composition的是有一個soloist

/performance[soloist]/composition 

要返回composition的沒有一個soloist並有orchestra

/performance[not(soloist) and orchestra]/composition 
+0

哦,我沒想到關於那個。是否有可能測試獨奏者的價值(例如)來選擇一個作品?像/表演[soloist ='John Doe'] /作曲? – Csi

+1

@Csi - 是的,這是可能的,你的xpath看起來是正確的。有關謂詞的更多信息,請參閱此處:http://www.w3.org/TR/xpath/#predicates –

相關問題