2017-03-10 9 views
-1

はXMLである:ここではこのxpathが空のノードセットを返すのはなぜですか?ここで

<recordTarget> 
     <patientRole> 
      <patient> 
      <religiousAffiliationCode code="1013" displayName="Christian (non-Catholic, non-specific)" codeSystem="2.16.840.1.113883.5.1076" codeSystemName="HL7 Religious Affiliation"/> 
    </patient> 
</patientRole> 
</recordTarget> 

は私のXPathステートメントがある(n1は名前空間です)

<xsl:variable name="religion" select="n1:recordTarget/n1:patientRole/n1:patient/n1:religiousAffilliationCode/@displayName"/> 

答えて

0

あなたのXMLに対するあなたのXPathを評価した結果は、あなたがきた要因に依存私たちに語らない。

それは相対 のXPathであるので、それは、現在のコンテキスト

  • に依存します。
  • n1の名前空間接頭辞 の定義は、XMLと XPathをホストする言語で一貫して定義されています。 How does XPath deal with XML namespaces?
  • recordTargetpatientRole、 などの名前空間を参照してください。完全な遺産は見当たりません。
+0

私は少量のXMLしか含んでいませんが、現在のコンテキストは正しく、名前空間n1が定義されています。マイケル・ケイは鋭い目を持っています。これはスペルミスです。 –

0

religiousAffiliationCodeの綴りを確認してください。

(ちなみに、パス式のスペルミスに対する唯一の真の防衛策は、XSLT 2.0のスキーマ認識機能を使用することです。これらの機能を正しく利用すると、パスがコンパイル時に正しいこれは、HL7のようなボキャブラリを使用する場合に特に関係します。

+0

あなたは私の友人に鋭い目を持っています。ありがとう! –

関連する問題