次のような XML ドキュメントがあります。
(p は以前に定義されています)
<p:Players>
<p:Player>
<p:Name>David</p:Name>
<p:Club>
<p:Name>Madrid</p:Name>
</p:Club>
<p:PreviousClubs>
<p:Club><p:Name>Milan</p:Name></p:Club>
<p:Club><p:Name>Manchester</p:Name></p:Club>
</p:PreviousClubs>
</p:Player>
<p:Player>
<p:Name>Alex</p:Name>
<p:Club>
<p:Name>Madrid</p:Name>
</p:Club>
<p:PreviousClubs>
<p:Club><p:Name>Birmingham</p:Name></p:Club>
<p:Club><p:Name>Manchester</p:Name></p:Club>
</p:PreviousClubs>
</p:Player>
<p:Player>
<p:Name>Fred</p:Name>
<p:Club>
<p:Name>Madrid</p:Name>
</p:Club>
<p:PreviousClubs>
<p:Club><p:Name>Milan</p:Name></p:Club>
<p:Club><p:Name>Birmingham</p:Name></p:Club>
</p:PreviousClubs>
</p:Player>
</p:Players>
以前に特定のクラブでプレーしたことのあるすべてのプレーヤーの名前を取得したいと思います。
これは私がこれまでに持っているものですが、何も拾っていません:
/*[1]/p:Player[p:PreviousClubs/p:Club/p:Name='Manchester']/p:Name/text()
私はそれが戻ることを期待しています
David
Alex
しかし、私は何も得ません
誰かが私が間違っているところを見ることができますか?
名前空間と p: のプレフィックスは正しいです - 他の場所で使用されていて、それで問題ありません。特定の親ノードの選択に関する私の論理が間違っていると感じています...
BizTalk 駆動型の XSLT 1.0 に固執する必要があります。