[11] XPath 1.0データモデルは、 XPath 1.0 が採用している XML文書の内部表現形式です。 XPath 1.0 の他、 XPath 1.0 を採用する XSLT 1.0 などの言語で使われています。
[15] DOM3 XPath は DOM を XPath 1.0データモデルに合わせるため名前空間節点を DOM に追加するなどしていますが、実装には無視されていました。
[3] Chrome、Firefox とも DocumentType
節点が存在します。
string()
や name()
は空文字列になります。
[8] 根節点の拡張については、根節点の項を参照してください。
[16]
template
要素の扱いは、
DOM XPath と XSLT 1.0 とで異なっています。
template
[4] XSL Transformations (XSLT) Version 1.1 ( 版) http://www.w3.org/TR/xslt11/#N11359
[5] XForms 1.1 ( 版) http://www.w3.org/TR/xforms/#expr-instance
[2] X Sharp/Data Types ( 版) http://wiki.codeglide.com/X_Sharp/Data_Types#Node
The X# Document Object Model implementation supports all six XML node types:
- Element
- Attribute
- Text (Unicode and Binary text nodes are permitted)
- Namespace
- Comment
- Processing Instruction
「Binary text nodes」
[12] XPath 1.0データモデルは、 XML情報集合の設計上のベースとなったデータモデルの1つです。
[10] XPath 2.0/XSLT 2.0 以降は XDM を使っています。 XDM は XPath 1.0のデータモデルをベースにしているようですが、大きく変更されています。
[6] 760029 – XPath expression `//node()` shouldn’t match the DOCTYPE node ( ( 版)) https://bugzilla.mozilla.org/show_bug.cgi?id=760029
DataModel: @FullName: @@lang:en @@@: XPath 1.0 Data Model @ImplNote: @@lang:en @@@: A namespace URI of an expanded-name should be resolved to an absolute URI reference. \ {P:: Two expanded-names are equal if: \ - they have the same local part and \ - both have a null namespace URI or both have non-null namespace URIs that are equal. \ } @ImplNote: @@lang:en @@@: {LI:: DFN:document order:: The order in which the first character of the XML representation of each node occurs in the document after expansion of general entities. \ - The attribute nodes and namespace nodes occur before the children of the element. \ - The namespace nodes occur before the attribute nodes. \ - The relative order of namespace nodes and the attribute nodes is implementation-dependent. \ } \ - DFN:reverse document order:: The reverse of document order. @ImplNote: @@lang:en @@@: - DFN:descendants:: The children of the node and the descendants of the children. @InfoItem: @@FullName: @@@lang:en @@@@: root node @@Description: @@@lang:en @@@@: The root of the tree. A root node does not occur except as the root of the tree. @@Prop: @@@Description: @@@@lang:en @@@@@: An ordered list of child nodes. @@Prop: @@@Name:string-value @@@Description: @@@@lang:en @@@@@: The concatenation of the CODE:string-values of all text node descendants of the root node in document order. @InfoItem: @@FullName: @@@lang:en @@@@:element node @@InfoProp: @@@Name:expanded-name @@@Description: @@@@lang:en @@@@@: Computed by expanding the CODE:QName of the element specified in the tag. The namespace URI will be null if the CODE:QName has no prefix and there is no applicable default namespace. @@InfoProp: @@@Name:children @@@Description: @@@@lang:en @@@@@: An ordered list of child nodes. Note that entity references are expanded and character references are resolved. @@InfoProp: @@@Name:string-value @@@Description: @@@@lang:en @@@@@: The concatenation of the CODE:string-values of all text node descendants in document order. @@InfoProp: @@@FullName: @@@@lang:en @@@@@: unique identifier @@@Description: @@@@lang:en @@@@@: The DTD-determined ID value. Note that if an XML processor reports two elements in a document as having the same unique ID, the second element in document order must be treated as not having a unique ID. @@InfoProp: @@FullName: @@@lang:en @@@@:parent @InfoItem: @@FullName: @@@lang:en @@@@:attribute node @@InfoProp: @@@FullName: @@@@lang:en @@@@@:parent @@@Description: @@@@lang:en @@@@@: The owner element. Note that an attribute node is not a child of the parent element. @@ImplNote: @@@lang:en @@@@: Default attributes are treated the same as specified ones. @@InfoProp: @@@FullName: @@@@lang:en @@@@@:expanded-name @@@Description: @@@@lang:en @@@@@: Computed by expanding the CODE:QName specified in the tag. The namespace URI will be null if the CODE:QName does not have a prefix. @@InfoProp: @@@FullName: @@@@lang:en @@@@@:string-value @@@Description: @@@@lang:en @@@@@: The normalized value. Note that is might be a zero-length string. @InfoItem: @@FullName: @@@lang:en @@@@:namespace node @@Description: @@@lang:en @@@@: In-scope namespace declarations, including implied XML:xml namespace declaration. \ {NOTE:: An XML:xmlns="" attribute undeclares the default namespace; that element and its descendants have no default namespace node. \ } @@InfoProp: @@@FullName: @@@@lang:en @@@@@:parent @@@Description: @@@@lang:en @@@@@: The owner element. Note that a namespace node is not a child of the parent element. @@InfoProp: @@@FullName: @@@@lang:en @@@@@:expanded-name @@@Description: @@@@lang:en @@@@@: The local part is the namespace prefix or empty if the namespace node is for the default namespace. The namespace URI is always null. @@InfoProp: @@@FullName: @@@@lang:en @@@@@:string-value @@@Description: @@@@lang:en @@@@@: The namespace URI bound to the prefix. If it is a relative URI, it must be resolved. @InfoItem: @@FullName: @@@lang:en @@@@:processing instruction node @@InfoProp: @@@FullName: @@@@lang:en @@@@@:parent @@InfoProp: @@@FullName: @@@@lang:en @@@@@:expanded-name @@@Description: @@@@lang:en @@@@@: The local part is the target. The namespace URI is null. @@InfoProp: @@@FullName: @@@@lang:en @@@@@:string-value @@@Description: @@@@lang:en @@@@@: The target data (following the target name and any white space). @InfoItem: @@FullName: @@@lang:en @@@@:comment node @@InfoProp: @@@FullName: @@@@lang:en @@@@@:parent @@InfoProp: @@@FullName: @@@@lang:en @@@@@:string-value @@@Description: @@@@lang:en @@@@@: The content of the comment. @InfoItem: @@FullName: @@@lang:en @@@@:text node @@InfoProp: @@@FullName: @@@@lang:en @@@@@:parent @@InfoProp: @@@FullName: @@@@lang:en @@@@@:string-value @@@Description: @@@@lang:en @@@@@: The character data, always has at least one character.