JIS X 4160:2007 XMLパス言語(XPath)1.0 | ページ 6

22
X 4160 : 2007
c) テキストノード
d) 属性ノード
e) 名前空間ノード
f) 処理命令ノード
g) コメントノード
すべてのノード型に対して,その型のノードに対する文字列値を決定する方法がある。あるノード型に
対しては,文字列値はノードの一部とし,別のノード型に対しては,文字列値は子孫ノードの文字列値か
ら計算する。
注記 要素ノード及びルートノードの場合は,ノードの文字列値は,DOMの nodeValueメソッド
([DOM]参照)が返す文字列と同じではない。
展開名をもつノード型もある。展開名は,局所部分と名前空間URIとから成る対とする。局所部分は,
文字列とする。名前空間URIは,ヌル又は文字列のいずれかとする。XML文書の中の名前空間宣言にお
いて指定した名前空間名は,[RFC3986](及び[RFC3987])において定義するURI(及び/又はIRI)を参
照する。このことは,それが素片識別子をもつことができ,相対的になることが可能なことを意味する。
展開名の名前空間URI構成要素は,その接頭辞が,(素片識別子の有無にかかわらず)相対URIである名
前空間名をもつ名前空間宣言によって宣言されるQNameから,展開名が展開される場合,実装依存とす
る。それら展開名の名前空間URI構成要素の値に依存するXPath式は,相互運用可能ではない。二つの展
開名は,同一の局所部分をもつ場合であって,両者が共にヌルの名前空間URIをもつか,又は両者が共に
等しい非ヌルの名前空間URIをもつかのいずれかの場合に,等しくなる。
文書内のすべてのノードに対して定義され,一般実体展開後の文書のXML表現において,各ノードの
XML表現の最初の文字が出現する順序に対応する,文書順という順序付けがある。これによって,ルート
ノードは,最初のノードになる。要素ノードは,その子よりも前に出現する。したがって,文書順は,要
素ノードを,(実体展開後の)XMLにおける開始タグの出現順序に順序付ける。要素の属性ノード及び名
前空間ノードは,要素の子よりも前に出現する。名前空間ノードは,属性ノードの前に出現する。複数の
名前空間ノードの相対的順序は,実装依存とする。複数の属性ノードの相対的順序は,実装依存とする。 逆
文書順は,文書順の逆とする。
ルートノード及び要素ノードは,順序付けられた子ノードリストをもつ。複数のノードが子を共有する
ことは決してない。あるノードがもう一つのノードと同じでない場合には,あるノードの子は,もう一つ
のノードの子のどれとも同じにならない。ルートノード以外のすべてのノードは,親をただ一つだけもち,
親は要素ノード又はルートノードのいずれかとする。ルートノード又は要素ノードは,その子ノードのそ
れぞれの親とする。ノードの子孫は,ノードの子及びノードの子の子孫とする。

5.1 ルートノード

  ルートノードは,木のルートとする。ルートノードは,木のルートとして以外は出現しない。文書要素
の要素ノードは,ルートノードの子とする。ルートノードは,前書きの中及び文書要素末尾の後に出現す
る,処理命令及びコメントに対する処理命令ノード及びコメントノードも,子としてもつ。
ルートノードの文字列値は,ルートノードのすべてのテキストノード子孫の文字列値の,文書順におけ
る連結とする。
ルートノードは,展開名をもたない。

5.2 要素ノード

  文書内のあらゆる要素に対して要素ノードが存在する。要素ノードは,XML名前空間(JIS X 4158参照)

――――― [JIS X 4160 pdf 26] ―――――

                                                                                             23
X 4160 : 2007
に従い,タグの中で指定する要素の QNameを展開して計算される展開名をもつ。QNameが接頭辞をもた
ず,適用可能な既定の名前空間が存在しない場合には,要素の展開名の名前空間URIはヌルとする。
注記 JIS X 4158のA.3の記法では,展開名の局所部分は,ExpEType要素のtype属性に対応する。
展開名の名前空間URIは,ExpEType要素のns属性に対応し, ExpEType要素のns属性が省略
された場合には,ヌルとする。
要素ノードの子は,その内容のための,要素ノード,コメントノード,処理命令ノード及びテキストノ
ードとする。内部実体及び外部実体のどちらへの実体参照も一緒に展開する。文字参照は解決する。
要素ノードの文字列値は,要素ノードのすべてのテキストノード子孫の文字列値の,文書順における連
結とする。
5.2.1 一意ID
要素ノードは,一意の識別子(ID)をもってもよい。これは,DTDにおいてID型として宣言する属性の
値とする。一つの文書中のどの二つの要素も同じ一意IDをもってはならない。XMLプロセサが,(文書
が妥当でない場合だけに可能だが,)一つの文書中の二つの要素が同じ一意IDをもっていると報告した場
合,文書順で二番目の要素は一意IDをもたないものとして扱わなければならない。
注記 文書がDTDをもたない場合,文書中のどの要素も一意IDをもたないことになる。

5.3 属性ノード

  各要素ノードは,関連付けられた属性ノードの集合をもち,要素は,これらの属性ノードそれぞれの親
とする。ただし,属性ノードは,親である要素の子とはしない。
注記 これは,DOMとは異なる。DOMは,属性をもつ要素を属性の親としては扱わない([DOM]参
照)。
複数の要素が属性ノードを共有することは決してない。ある要素ノードがもう一つの要素ノードと同じ
ノードでない場合,ある要素ノードの属性ノードはどれも,もう一つの要素ノードの属性ノードと同じノ
ードにならない。
注記 = 演算子は,二つのノードが同じ値をもつかどうかを試験し,それらが同じノードであるかど
うかは試験しない。したがって,二つの異なる要素の属性を,たとえそれらが同じノードでな
くとも,= を使用して等しいかどうか比較してよい。
既定値の属性も指定した属性と同一に扱う。ある属性をDTD内でその要素型に対して宣言したが,既
定値を #IMPLIED と宣言し,しかもその属性をその要素に関して指定しない場合には,その要素の属性
集合は,その属性に対するノードを含まない。
xml:lang,xml:spaceなどの属性は,別の子孫要素上の同じ属性のインスタンスで上書きしない場合には,
その属性が,その属性をもつ要素の子孫であるすべての要素に適用される。しかし,これは,属性ノード
が木の中のどこに現れるかに影響しない。要素は,その要素の開始タグ若しくは空要素タグにおいて明示
的に指定した属性だけに対して,又はDTDにおいて既定値付きで明示的に宣言した属性だけに対して,
属性ノードをもつ。
属性ノードは,展開名及び文字列値をもつ。展開名は,XML名前空間の規格JIS X 4158に従い,XML
文書中のタグで指定されるQNameを展開して計算される。属性名の名前空間URIは,その属性のQName
が接頭辞をもたない場合には,ヌルになる。
注記 JIS X 4158のA.3の記法では,展開名の局所部分はExpAName要素のname属性に対応する。
展開名の名前空間URIは,ExpAName要素のns 属性に対応し,ExpAName要素のns属性が省
略された場合には,ヌルとする。

――――― [JIS X 4160 pdf 27] ―――――

24
X 4160 : 2007
属性ノードは,文字列値をもつ。文字列値は,XMLの規格(JIS X 4159)によって指定する,正規化した
値とする。正規化した値が長さ0の文字列である属性も特別扱いされず,文字列値が長さ0の文字列であ
る属性ノードとなるだけとする。
注記 既定値属性を,外部DTD又は外部パラメタ実体の中で宣言していることもある。XMLの規格
は,XMLプロセサに対して,それが妥当性検証していない場合には,外部DTD又は外部パラ
メタを読むことを要求しない。外部DTD又は外部パラメタ実体で宣言された既定値属性の値
をXPath木が含むことを前提とするスタイルシートなどは,妥当性検証を行わないXMLプロ
セサとともに動作しなくてもよい。
名前空間を宣言する属性(JIS X 4158参照)に対応する属性ノードは存在しない。

5.4 名前空間ノード

  各要素は,関連付けられた名前空間ノードの集合をもつ。要素の有効範囲内にある明示した名前空間接
頭辞(これは,XML名前空間の規格JIS X 4158によって暗黙に宣言する,xml接頭辞を含む。)それぞれ
に対して一つ,及び既定の名前空間が要素の有効範囲内に存在する場合には,それに対して一つとする。
要素は,これらの名前空間ノードそれぞれの親とするが,名前空間ノードは,親である要素の子とはしな
い。複数の要素は,名前空間ノードを共有しない。ある要素ノードがもう一つの要素ノードと同じでない
場合,ある要素ノードの名前空間ノードは,どれももう一つの要素ノードの名前空間ノードと同じにはな
らない。このことは,要素が次の属性に対して名前空間ノードをもつということを意味している。
a) 名前がxmlns:で始まり,その要素自体又はより近い祖先要素がその接頭辞を空値で再宣言していない
場合には,その値が空でない,要素及び直近の祖先要素上のあらゆる属性。
注記 接頭辞を宣言しないことは,[XML Names 1.1]に適合する文書だけで起こりえる。
b) その要素又は祖先がxmlns属性をもち,直近のそのような要素のxmlns属性の値が空でない場合には,
xmlns属性。
注記 xmlns=""属性は,既定の名前空間の“取消しを宣言する”(JIS X 4158参照)。
名前空間ノードは,展開名をもつ。局所部分は,名前空間接頭辞とし(これは,名前空間ノードが既定
の名前空間に対するものの場合,空になる。),名前空間URIは,常にヌルとする。
名前空間ノードの文字列値は,その名前空間接頭辞に束縛されている名前空間URIとする。XML文書
の中の名前空間宣言に出現している名前空間名が(素片識別子の有無にかかわらず)相対URIとなる場合,
文字列値は,実装依存とする。それら名前空間ノードの文字列値に依存するXPath式は,相互運用可能で
はない。

5.5 処理命令ノード

  文書型宣言内部に出現する処理命令を除いて,あらゆる処理命令に対応して処理命令ノードが存在する。
処理命令は,展開名をもつ。局所部分は,処理命令のターゲットであって,名前空間URIはヌルとする。
処理命令ノードの文字列値は,ターゲット及び空白に続く処理命令の部分とする。終了の ・> は含まない。
注記 XML宣言は,処理命令とはしない。したがって,XML宣言に対応する処理命令ノードは存在
しない。

5.6 コメントノード

  文書型宣言内部に出現するコメントを除いて,あらゆるコメントに対してコメントノードが存在する。
コメントの文字列値は,開きの <!-- 又は閉じの --> を含まない,コメントの内容とする。
コメントノードは,展開名をもたない。

5.7 テキストノード

――――― [JIS X 4160 pdf 28] ―――――

                                                                                             25
X 4160 : 2007
文字データは,テキストノードにまとめる。できるだけ多くの文字データを各テキストノード内にまと
める。テキストノードは,直前又は直後にテキストノードの兄弟をもつことはない。テキストノードの文
字列値は,文字データとする。テキストノードは,必ず少なくとも1文字のデータをもつ。
CDATAセクション内にある各文字は,文字データとして扱う。そのため,ソース文書内の <![CDATA[<]]>
は &lt; と同じに扱う。両者共に,木のテキストノードでは1個の < 文字となる。したがって,CDATA
セクションは,<![CDATA[ 及び ]]> が除去され,< 及び & の出現がそれぞれ &lt; 及び &amp; で置き
換えられたものとして扱われる。文書要素の外の空白は,テキストノードを生成しない。
注記 < 文字を含むテキストノードがXMLとして書き出されるとき,< 文字は,例えば,&lt; を使
う,又はCDATAセクションの中に含めるとして,別扱いしなければならない。
コメント,処理命令及び属性値の内部の文字は,テキストノードを生成しない。外部実体内の行末は,
XMLの規格(JIS X 4159)で指定されるとおりに #xA に正規化する。
テキストノードは,展開名をもたない。

6 適合性

  XPathは,主に,他の規定で使用できる構成要素として意図されている。したがって,XPathの実装の適
合性のための判定基準を示すには,([XPointer]及びJIS X 4169といった)XPathを使用する規定に左右さ
れることになるので,XPathの独立した実装のための適合性判定基準を定義することはしない。

――――― [JIS X 4160 pdf 29] ―――――

26
X 4160 : 2007
附属書A
(規定)
文献

序文

  この附属書のA.1は,引用規格について規定する。また,A.2は,参考文献について記載するものであ
って,規定の一部ではない。
A.1 引用規格(規定)
IEEE 754
Institute of Electrical and Electronics Engineers. IEEE Standard for Binary Floating-Point Arithmetic.
ANSI/IEEE Std 754-1985.
RFC3986
T. Berners-Lee, R. Fielding, L. Masinter, Uniform Resource Identifier (URI): Generic Syntax. IETF RFC 3986.
注記 http://www.ietf.org/rfc/rfc3986.txt を参照。
RFC3987
M. Duerst, M. Suignard, Internationalized Resource Identifiers (IRIs) . IETF RFC 3987.
注記 http://www.ietf.org/rfc/rfc3987.txt を参照。
XML
JIS X 4159:2005 拡張可能なマーク付け言語 (XML) 1.0
注記 World Wide Web Consortium. Extensible Markup Language (XML) 1.0 (Third Edition). W3C
Recommendation. が,この規格に一致している。
http://www.w3.org/TR/2004/REC-xml-20040204/を参照。
XML 1.1
World Wide Web Consortium. Extensible Markup Language (XML) 1.1. W3C Recommendation.
注記 http://www.w3.org/TR/xml11/ を参照。
XML Names
JIS X 4158:2005 XML名前空間
注記 World Wide Web Consortium. Namespaces in XML. W3C Recommendation. が,この規格に一致
している。
http://www.w3.org/TR/REC-xml-names を参照。
XML Names 1.1
World Wide Web Consortium. Namespaces in XML 1.1. W3C Recommendation.
注記 http://www.w3.org/TR/xml-names11/ を参照。
A.2 参考文献(参考)
Character Model
World Wide Web Consortium. Character Model for the World Wide Web. W3C Working Draft.
注記 http://www.w3.org/TR/WD-charmod を参照。

――――― [JIS X 4160 pdf 30] ―――――

次のページ PDF 31

JIS X 4160:2007の国際規格 ICS 分類一覧

JIS X 4160:2007の関連規格と引用規格一覧

規格番号
規格名称