//* [ local-name()='component' and namespace-uri()='urn:hl7-org:v3' ]
このパスを使用すると、次のようなノードを取得できます:</ p>
<?xml version="1.0" encoding="utf-8"?>
<ClinicalDocument xmlns="urn:hl7-org:v3">
<component>
<structuredBody>
<component>
<section>
<code code="10164-2" codeSystem="2.16.840.1.113883.6.1" codeSystemName="LOINC"/>
<title>History of Present Illness</title>
<text>
</text>
</section>
</component>
<component> ...... </component>
<component> ...... </component>
</structuredBody>
</component>
</ClinicalDocument>
以下のようにノードを取得するには:
<component>
<section>
<code code="10164-2" codeSystem="2.16.840.1.113883.6.1" codeSystemName="LOINC"/>
<title>History of Present Illness</title>
<text>
</text>
</section>
</component>
パスを次のように変更します:
//* [ local-name()='component' and namespace-uri()='urn:hl7-org:v3' and position()=1]
[code="10164-2"]
しかし、資格として使用して同じ結果を得るにはどうすればよいですか?
2012年12月17日編集
//:component[1]//:component[.//:section/:code[@code='10164-2']]
このxpathはうまく機能し、必要なノードを取得できます。使用する場合はどうすればよいですか
// * [local-name()='component'およびnamespace-uri()='urn:hl7-org:v3'])[1]
親<component/>
ノードを選択し、述語部分に[@ code = '10164-2']を追加して、必要な<component/>
子ノードを取得します。(名前空間の問題を回避するために、パスで:を使用したくない)