[55] [DFN[[[XPath 1.0]]]] は、 [[XML文書]]の[[節点]]や[[文字列]]、[[数値]]その他の[[演算]]のための[[式言語]]です。

[86] [[XSLT 1.0]] や [[DOM XPath]] で使われています。

* 仕様書

[REFS[
- [51] [CITE[XML Path Language (XPath)]] ([TIME[2010-01-20 22:49:28 +09:00]] 版) <http://www.w3.org/TR/xpath/>
- [52] [CITE[Errata in REC-xpath-19991116]] ([TIME[2005-11-02 21:32:15 +09:00]] 版) <http://www.w3.org/1999/11/REC-xpath-19991116-errata/>
- [53] [CITE@en-US-x-hixie[HTML Standard]] ([TIME[2013-09-16 21:55:19 +09:00]] 版) <http://www.whatwg.org/specs/web-apps/current-work/#interactions-with-xpath-and-xslt>
- [75] [CITE@en-US-x-hixie[HTML Standard]] ([TIME[2013-12-19 00:10:55 +09:00]] 版) <http://www.whatwg.org/specs/web-apps/current-work/#template-XSLT-XPath>
- [54] [CITE@en[DOM XPath - WHATWG Wiki]] ([TIME[2013-03-06 19:25:31 +09:00]] 版) <http://wiki.whatwg.org/wiki/DOM_XPath>
]REFS]

[87] 仕様書は1999年の[[W3C勧告]]以来ほぼメンテナンスされていません。
[[HTML Standard]] に若干の修正が含まれていますが、それでも 
[[Webブラウザー]]の実装とは細かな差異があります。しかし、
[[XML]] コミュニティーは [[XDM]] によって置き換えたつもりの [[XPath 1.0]] 
を改訂する意思はなく、 [[Web]] コミュニティーにとってもさほど利用されず優先度が低い機能であり、
実情に合わせて改訂しようとする動きはありません。

;; [88] そうはいってもすぐに廃止するほどは利用頻度も低くないので、
いつの日か改めて厳密に文書化されることもあろうと期待したいところです。

* データモデル

[116] [[XPath 1.0データモデル]]参照。

* 式言語

[117] [[節点]]を選択する[[式]]が [[XPath 1.0]] 本体で規定されています。

[118] [[式]]の一部の機能に限定され[[一致]]する[[節点]]を選ぶ[[パターン]]が
[[XSLT 1.0]] で規定されています。

[119] [[XSLT 1.0]] では [CODE[NodeTest]] のリストの構文が使われています。

[120] [[XSLT 1.0]] では [CODE[Number]] や[[実数]]の構文が使われています。

[122] [[XPath 1.0の構文]]も参照。

* メモ

[1]
[CITE[Latest topics > Past > 2005 > 05 - outsider reflex]] <http://piro.sakura.ne.jp/latest/2005/05.html#d2>

> XPath式エディタ(Firefox/Mozilla専用)。

([[名無しさん]] [WEAK[2005-05-03 01:38:19 +00:00]])

[2]
[CITE[XUL Apps > Tiny Applications > XPath式エディタ - outsider reflex]] <http://piro.sakura.ne.jp/xul/applications/xpath/>
([[名無しさん]])

[3]
[[XPath 1.0]] の構文やデータモデルで [[XML 1.0]]
を参照していて [[XML 1.1]] と非互換なことが問題になっていましたが、
[[XML 1.1]] でも使えることに決まったようです。

[CITE@en[Errata in REC-xpath-19991116]] 
<http://www.w3.org/1999/11/REC-xpath-19991116-errata/#20051103>
2005年11月2日の項を参照。

([[名無しさん]] [WEAK[2005-11-10 11:48:34 +00:00]])

[4]
<http://www.y-adagio.com/public/standards/jis_xpath/jis_xpath.zip>

> この規格は,1999年11月にWorld Wide Web Consortium(W3C)から公表されたXML Path Language (XPath) Version 1.0 勧告を翻訳し,その後に発行されたErrataを取り込んで,技術的内容を変更することなく作成した日本工業規格である。

> XML文書の中の名前空間宣言において指定された名前空間名は,[RFC3986](及び[RFC3987])において定義されるとおりのURI参照(及びIRI参照)とする。

いつそんな正誤票が発行されたの?
([[名無しさん]] [WEAK[2006-08-06 07:28:49 +00:00]])

[5]
[[RFC 4661]] は [[XPath 1.0]] の[[部分集合]]を定義しています。
([[名無しさん]])

[6]
[CITE[Web Services Policy 1.5 - Framework]] <http://www.w3.org/TR/2006/WD-ws-policy-20060927/#Notational_Conventions>
は説明のために [[XPath 1.0]] の拡張を使っています。
[[拡張可能性点]]を示すために、
[CODE(charname)@en[[[HORIZONTAL ELLIPSE]]]]、
[CODE(XPath)@en[{any}]]、
[CODE(XPath)@en[@{any}]]
を使っています。

([[名無しさん]])

[7]
[CITE[Web Services Policy 1.5 - Attachment]] <http://www.w3.org/TR/2006/WD-ws-policy-attach-20060927/#NotationalConventions>
([[名無しさん]])

[8]
[CITE[Content Selection for Device Independence (DISelect) 1.0]] <http://www.w3.org/TR/2006/WD-cselection-20061010/#sec-expressions>
([[名無しさん]])

[9]
[CITE[Remote Events for XML (REX) 1.0]] <http://www.w3.org/TR/2006/WD-rex-20061013/#path-syntax>
([[名無しさん]] [WEAK[2006-10-24 13:20:44 +00:00]])

[10]
[CITE[Internationalization Tag Set (ITS) Version 1.0]] <http://www.w3.org/TR/2006/CR-its-20061102/#def-adding-pointing>
([[名無しさん]] [WEAK[2006-11-04 13:05:24 +00:00]])

[11]
[CITE[XProc: An XML Pipeline Language]] <http://www.w3.org/TR/2006/WD-xproc-20061117/>
([[名無しさん]] [WEAK[2006-11-19 05:15:39 +00:00]])

[12]
[CITE[日本工業標準調査会標準部会情報技術専門委員会(第12回) 議事要旨−審議会−経済産業省]] <http://www.meti.go.jp/kohosys/committee/summary/0002210/>

> 資料4「TR X0089 XMLパス言語(XPath)1.0」の公表
> 文中に記述されている構文規則名を日本語に訳し構文規則は英語のままであると、その両者の繋がりが分かり難く記述を修正すべきではないかとの意見(藤村委員)があったが、修正に時間が掛かりTRの公表が遅れることはTRの性格上好ましくないので、今後の改訂の際に修正することとなった。

これはひどい。

[121] これに限らず [[JIS TR]] は品質が低すぎる。

[13]
[[XForms 1.0]]、[[XForms 1.1]]
([[名無しさん]])

[14]
[[WS-Topics]] 1.3
<http://docs.oasis-open.org/wsn/wsn-ws_topics-1.3-spec-os.pdf>
は、[[話題式]]として、 [[XPath 1.0]] そのものおよびその[[部分集合]]の合計4種類の[[式]]の形式を定義しています。

([[名無しさん]])

[15]
[[WS-ResourceProperties]] では [[XPath 1.0]] を使うことができます。
([[名無しさん]])

[16]
[CITE[XML::XPathEngine - a re-usable XPath engine for DOM-like trees - search.cpan.org]] ([CODE[2007-01-07 12:56:27 +09:00]] 版) <http://search.cpan.org/~mirod/XML-XPathEngine-0.07/lib/XML/XPathEngine.pm>

[[正規表現]]の[[演算子]]として [CODE(XPath)[[[=~]]]],
[CODE(XPath)[[[!~]]]], [CODE(XPath)[/[VAR[...]]/[[i]][[m]][[x]]]]
を追加しています。

([[名無しさん]])

[17]
あ、 [CODE(XPath)@en[[[s]]]] もおk
([[名無しさん]])

[18]
[CITE[Tree::XPathEngine - a re-usable XPath engine - search.cpan.org]] ([CODE[2007-01-07 12:59:05 +09:00]] 版) <http://search.cpan.org/~mirod/Tree-XPathEngine-0.05/lib/Tree/XPathEngine.pm#XPath_extension>

>>16-17 に同じ。

[59] >>18 は [[NCName]] の定義が仕様とは異なる独自の[[正規表現]]になっており、また設定により変更できます。

[61] [CITE[PPIx::XPath - search.cpan.org]] ([TIME[2013-10-06 02:54:50 +09:00]] 版) <http://search.cpan.org/dist/PPIx-XPath/lib/PPIx/XPath.pm>

[62] >>61 は >>18 を [[PDOM]] ([[Perl]] [[コード]]を[[木構造]]で表したもの) に適用しています。

[63] [CITE[Email::MIME::XPath - search.cpan.org]] ([TIME[2013-10-06 02:58:45 +09:00]] 版) <http://search.cpan.org/dist/Email-MIME-XPath/lib/Email/MIME/XPath.pm>

[64] >>63 は >>18 を [[MIMEメッセージ]]に適用しています。

[57] [CITE[Class::XPath - search.cpan.org]] ([TIME[2013-10-06 02:16:38 +09:00]] 版) <http://search.cpan.org/dist/Class-XPath/XPath.pm>

[58] >>57 は [[XPath 1.0]] の[[部分集合]]を実装していますが、 [[context position]]
は [[0-indexed]] で、 [[Perl]] の[[配列]]のように -1 (= last()) のような表記を使えます。

[60] >>57 は [[NCName]] の定義が仕様とは異なっていて [[Unicode]] には対応していないとされています。

[65] [CITE[B::XPath - search.cpan.org]] ([TIME[2013-10-06 03:14:15 +09:00]] 版) <http://search.cpan.org/dist/B-XPath/lib/B/XPath.pm>

[66] >>65 は >>57 を使って [[Perl]] の [[optree]] ([[opcode]] の[[木構造]]) に [[XPath]]
を適用しています。

[19]
[[SASL 1.0]]
([[名無しさん]])

[20]
[[ISO/IEC 19757]]-3:2006 は [[XSLT 1.0]]
で使われているところの [[XPath 1.0]]
を[[既定]]の[[照会言語]]としています。
([[名無しさん]])

[21]
[[WSDM-MOWS]] 1.0 >>6
([[名無しさん]])

[22]
[[WSDM-MUWS]] 1.0 >>6
([[名無しさん]])

[23]
[[WSDM-MUWS]] では [[XPath 1.0]] または [[XPath 2.0]]
が利用できます。
([[名無しさん]])

[24]
[CITE@EN[State Chart XML (SCXML): State Machine Notation for Control Abstraction]] ([CODE[2007-02-18 16:47:42 +09:00]] 版) <http://www.w3.org/TR/2007/WD-scxml-20070221/#datamodel_content>
([[名無しさん]])

[25]
[CITE[Service Modeling Language, Version 1.0]] ([CODE[2007-03-08 06:10:40 +09:00]] 版) <http://www.w3.org/Submission/2007/SUBM-sml-20070321/#Rules>

[37] [CITE@en-US[Service Modeling Language, Version 1.1]] ([TIME[2009-05-12 17:50:10 +09:00]] 版) <http://www.w3.org/TR/2009/REC-sml-20090512/#Identity_Constraints_Schema_Validity_Rules>

[38] [CITE@en-US[Service Modeling Language, Version 1.1]] ([TIME[2009-05-12 17:50:10 +09:00]] 版) <http://www.w3.org/TR/2009/REC-sml-20090512/#SMLXPath1_Scheme>

[26]
[CITE@en-US[Internationalization Tag Set (ITS) Version 1.0]] ([CODE[2007-04-03 18:11:18 +09:00]] 版) <http://www.w3.org/TR/2007/REC-its-20070403/#datacategory-locations>

[Q@en[XPath 1.0 or its successor]]

([[名無しさん]])

[27]
[CITE@EN[Content Selection for Device Independence (DISelect) 1.0]] ([CODE[2007-07-16 22:52:02 +09:00]] 版) <http://www.w3.org/TR/2007/CR-cselection-20070725/#sec-expressions>
([[名無しさん]])

[28]
[CITE@en-US[Web Services Policy 1.5 - Framework]] ([CODE[2007-08-29 09:56:07 +09:00]] 版) <http://www.w3.org/TR/2007/REC-ws-policy-20070904/#Notational_Conventions>
([[名無しさん]])

[29]
[CITE@en-US[Web Services Policy 1.5 - Attachment]] ([CODE[2007-08-29 10:10:17 +09:00]] 版) <http://www.w3.org/TR/2007/REC-ws-policy-attach-20070904/#NotationalConventions>
([[名無しさん]])

[30]
[CITE[Schema Centric Canonicalization]] ([CODE[2006-11-02 16:10:17 +09:00]] 版) <http://uddi.org/pubs/SchemaCentricCanonicalization-20020710.htm#sec-Conversion-Node-set-Infoset>

[[XPath 1.0]] [[節点集合]]から[[XML情報集合]]への変換方法が規定されています。

また、この仕様では [[XPath 1.0]] [[式]]を使うことができます。
([[名無しさん]])

[31]
[[RFC 5261]] は [[XPath 1.0]] を使っているようですが、
[[名前空間]]の解釈など元々の [[XPath]] 仕様と異なる部分があります。
([[名無しさん]])

[32]
>>31 [[RFC 5261]] は [[XPath 1.0]] とも [[XPath 2.0]] とも異なると書いているけど、
[[XPath 2.0]] とは同じような・・・。

[33]
[CITE@en-us[Web Services Resource Transfer (WS-RT)]] ([TIME[2008-09-25 02:20:42 +09:00]] 版) <http://www.w3.org/Submission/WSRT/>

[[XPath 1.0]] を使うことができます。また、 [[XPath Level 1]] と呼ばれる[[部分集合]]を定義しており、それを使うこともできます。

[34] [CITE@en[SMIL 3.0 State]] ([TIME[2008-12-02 00:45:09 +09:00]] 版) <http://www.w3.org/TR/2008/REC-SMIL3-20081201/smil-state.html>

[35] [CITE[SMIL 3.0 Language Profile]] ([TIME[2008-12-02 00:45:09 +09:00]] 版) <http://www.w3.org/TR/2008/REC-SMIL3-20081201/smil-profile.html#SMILProfileNS-state-language>

[36] [CITE[X Sharp/XPath]] ([TIME[2009-01-22 20:51:58 +09:00]] 版) <http://wiki.codeglide.com/X_Sharp/XPath>

>
In addition to the operators included in XPath 1.0, X# includes:
>
- Execution operator ">>"
- Node generation operator ".."
- Node wrapping operator "in"
- Sorting operator "{}" 
>
It also adds some XPath functions which are described in the following chapters. 


[39] [CITE@en[(X)HTML5 Tracking]]
([TIME[2009-09-11 21:01:49 +09:00]] 版)
<http://html5.org/tools/web-apps-tracker?from=3799&to=3800>

[40] [CITE@EN[XForms 1.1]]
([TIME[2009-10-20 22:51:54 +09:00]] 版)
<http://www.w3.org/TR/2009/REC-xforms-20091020/#expr>

[41] [CITE[XProc: An XML Pipeline Language]]
([TIME[2010-05-11 22:38:07 +09:00]] 版)
<http://www.w3.org/TR/2010/REC-xproc-20100511/#xpath-context>

[42] [CITE[XProc: An XML Pipeline Language]]
([TIME[2010-05-11 22:38:07 +09:00]] 版)
<http://www.w3.org/TR/2010/REC-xproc-20100511/#dt-empty-sequence>

[43] [CITE[XProc: An XML Pipeline Language]]
([TIME[2010-05-11 22:38:07 +09:00]] 版)
<http://www.w3.org/TR/2010/REC-xproc-20100511/#empty-xpath-context>

[44] [CITE@en[RFC 6021 - Common YANG Data Types]]
([TIME[2010-10-07 04:53:03 +09:00]] 版)
<http://tools.ietf.org/html/rfc6021>

[45] [CITE@ja[MySQL :: MySQL 5.1 リファレンスマニュアル :: 11.9 XML 関数]]
( ([TIME[2011-12-10 10:22:20 +09:00]] 版))
<http://dev.mysql.com/doc/refman/5.1/ja/xml-functions.html>

[46] [CITE@en[Web Services Fragment (WS-Fragment)]]
( ([TIME[2011-12-13 17:58:12 +09:00]] 版))
<http://www.w3.org/TR/2011/REC-ws-fragment-20111213/#XPath10>

[47] [CITE@en[Web Services Eventing (WS-Eventing)]]
( ([TIME[2011-12-13 21:57:27 +09:00]] 版))
<http://www.w3.org/TR/2011/REC-ws-eventing-20111213/#Dialect>

[48] [CITE@en[Web Services Enumeration (WS-Enumeration)]]
( ([TIME[2011-12-13 20:20:29 +09:00]] 版))
<http://www.w3.org/TR/2011/REC-ws-enumeration-20111213/#Dialect>

[49] [CITE@en[XML Signature Streaming Profile of XPath 1.0]]
( ([TIME[2012-01-21 07:43:35 +09:00]] 版))
<http://www.w3.org/TR/2012/CR-xmldsig-xpath-20120124/>

[50] [CITE[Web Application Description Language]]
( ([TIME[2009-09-10 03:59:24 +09:00]] 版))
<http://www.w3.org/Submission/2009/SUBM-wadl-20090831/#x3-270002.12.2>

[56] [CITE@en-AU[XPath 1.0 in JavaScript • Cameron McCormack's blog]]
( ([TIME[2013-10-05 02:43:08 +09:00]] 版))
<http://mcc.id.au/xpathjs>

[67] [CITE[MarpaX::xPathLike - search.cpan.org]] ([TIME[2013-10-06 03:54:47 +09:00]] 版) <http://search.cpan.org/dist/MarpaX-xPathLike/lib/MarpaX/xPathLike.pod>

[68] >>67 の「[[xPathLike]]」は [[XPath 1.0]] に近い言語により [[Perl]]
のデータ構造にアクセスするものjです。独自の[[関数]]や[[演算子]]も追加されています。

[69] [CITE[XML::TreePP::XMLPath - search.cpan.org]]
( ([TIME[2013-10-06 04:02:58 +09:00]] 版))
<http://search.cpan.org/~rglaue/XML-TreePP-XMLPath-0.72/lib/XML/TreePP/XMLPath.pm>

[70] [CITE[XML::Perl - search.cpan.org]]
( ([TIME[2013-10-06 04:06:53 +09:00]] 版))
<http://search.cpan.org/dist/XML-Perl/XML/Perl.pm>

[71] [CITE@en-US-x-hixie[HTML Standard]]
( ([TIME[2013-10-07 20:56:01 +09:00]] 版))
<http://www.whatwg.org/specs/web-apps/current-work/#template-XSLT-XPath>

[72] [CITE@en[RFC 5261 - An Extensible Markup Language (XML) Patch Operations Framework Utilizing XML Path Language (XPath) Selectors]] ([TIME[2013-08-11 16:56:51 +09:00]] 版) <http://tools.ietf.org/html/rfc5261#section-4>

[73] >>72 は [[XPath 1.0]] の変種を定義しています。

[74] [CITE[XML-Signature Syntax and Processing]]
( ([TIME[2002-04-02 17:41:15 +09:00]] 版))
<http://www.w3.org/TR/2002/REC-xmldsig-core-20020212/>

[76] ( ([TIME[2006-02-07 08:57:44 +09:00]] 版))
<http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-357.pdf#page=107>

[77] [CITE@en-US[Internationalization Tag Set (ITS) Version 1.0]]
( ([TIME[2007-04-03 09:11:18 +09:00]] 版))
<http://www.w3.org/TR/its/#def-adding-pointing>

[78] [CITE@en-US[Internationalization Tag Set (ITS) Version 2.0]]
( ([TIME[2013-10-27 19:39:43 +09:00]] 版))
<http://www.w3.org/TR/its20/#d0e2513>

[79] [CITE@en-US[Internationalization Tag Set (ITS) Version 2.0]]
( ([TIME[2013-10-27 19:39:43 +09:00]] 版))
<http://www.w3.org/TR/its20/#html5-global-rules>

[80] [CITE[Defiant.js]]
( ([TIME[2014-07-29 20:17:55 +09:00]] 版))
<http://defiantjs.com/>

[81] [CITE@en[WebDriver]]
( ([TIME[2014-11-07 11:09:39 +09:00]] 版))
<https://dvcs.w3.org/hg/webdriver/raw-file/default/webdriver-spec.html#h4_xpath>

[82] [CITE@en[draft-mouat-xml-patch-00 - A delta format for XML documents]]
( ([TIME[2014-10-17 16:07:55 +09:00]] 版))
<https://tools.ietf.org/html/draft-mouat-xml-patch-00>

[83] [CITE[eXtensible Access Control Markup Language (XACML) Version 3.0]]
( ([TIME[2013-01-23 02:00:00 +09:00]] 版))
<http://docs.oasis-open.org/xacml/3.0/xacml-3.0-core-spec-os-en.html#_Toc297001083>

[84] [CITE[eXtensible Access Control Markup Language (XACML) Version 3.0]]
( ([TIME[2013-01-23 02:00:00 +09:00]] 版))
<http://docs.oasis-open.org/xacml/3.0/xacml-3.0-core-spec-os-en.html#_Toc297001083>

[85] [CITE[eXtensible Access Control Markup Language (XACML) Version 3.0]]
( ([TIME[2013-01-23 02:00:00 +09:00]] 版))
<http://docs.oasis-open.org/xacml/3.0/xacml-3.0-core-spec-os-en.html#_Toc297001083>

[89] [CITE@en[XML Signature Syntax and Processing Version 2.0]]
([TIME[2013-02-05 03:22:09 +09:00]] 版)
<http://www.w3.org/2008/xmlsec/Drafts/xmldsig-core-20/#sec-XPath>

[FIG(quote)[
[FIGCAPTION[
[90] [CITE@en[XML Signature Streaming Profile of XPath 1.0]]
([TIME[2013-04-13 04:46:24 +09:00]] 版)
<http://www.w3.org/TR/2013/NOTE-xmldsig-xpath-20130411/>
]FIGCAPTION]

> The XML Security Working Group has agreed not to progress this XML Signature Streaming Profile of XPath 1.0 specification further as a Recommendation track document, electing to publish it as an informative Working Group Note. 

]FIG]


[91] [CITE@en-US[XPath Data Model for SCXML]]
( ([TIME[2015-08-06 01:09:26 +09:00]] 版))
<http://www.w3.org/TR/2015/NOTE-xpath-dm-20150806/>

[92] [CITE@en-US[DOM Event I/O Processor for SCXML]]
( ([TIME[2015-08-06 00:51:18 +09:00]] 版))
<http://www.w3.org/TR/2015/NOTE-dom-iop-20150806/>

[93] [CITE@en-US[XPath Data Model for SCXML]]
( ([TIME[2015-08-11 03:47:17 +09:00]] 版))
<http://www.w3.org/TR/2015/NOTE-scxml-xpath-dm-20150811/>

[FIG(quote)[
[FIGCAPTION[
[94] [CITE@en-US[XPath Data Model for SCXML]]
( ([TIME[2015-08-11 03:47:17 +09:00]] 版))
<http://www.w3.org/TR/2015/NOTE-scxml-xpath-dm-20150811/>
]FIGCAPTION]

> This Note was once published on 6 August 2015 as a First Public Working Group Note. However, after the publication we got comments that the Note's having a shortname of "xpath-dm" was misleading since the Note describes not the whole XPath data model but the XPath data model for SCXML. Therefore this Note is now republished with a clearer shortname of "scxml-xpath-dm" to avoid confusion.

]FIG]


[FIG(quote)[
[FIGCAPTION[
[95] [CITE@en-US[DOM Event I/O Processor for SCXML]]
( ([TIME[2015-08-11 03:33:48 +09:00]] 版))
<http://www.w3.org/TR/2015/NOTE-scxml-dom-iop-20150811/>
]FIGCAPTION]

> This Note was once published on 6 August 2015 as a First Public Working Group Note. However, after the publication we got comments that the Note's having a shortname of "dom-iop" was misleading since the Note does not belog to the core set of the DOM specifications but describes the DOM I/O processor for SCXML. Therefore this Note is now republished with a clearer shortname of "scxml-dom-iop" to avoid confusion.

]FIG]


[FIG(quote)[
[FIGCAPTION[
[96] [CITE@ja[IMPORTXML - ドキュメント エディタ ヘルプ]]
([TIME[2016-01-21 17:51:59 +09:00]] 版)
<https://support.google.com/docs/answer/3093342?hl=ja>
]FIGCAPTION]

> XPath_query - 構造化データで実行する XPath クエリです。
> XPath について詳しくは、http://www.w3schools.com/xsl/xpath_intro.asp(英語)をご覧ください。

]FIG]


[97] [CITE@en[Rewrite XPath Selector strategy]]
( ([[AutomatedTester]]著, [TIME[2016-05-06 05:07:24 +09:00]]))
<https://github.com/w3c/webdriver/commit/9cf22343620b78ad18b46f99ae542fe49112727b>

[98] [CITE@en[RFC 7950 - The YANG 1.1 Data Modeling Language]]
([TIME[2016-09-15 03:32:37 +09:00]])
<https://tools.ietf.org/html/rfc7950#section-6.4>

[FIG(quote)[
[FIGCAPTION[
[99] [CITE@en[Pointer Methods in RDF 1.0]]
([TIME[2017-02-01 07:42:20 +09:00]])
<https://www.w3.org/TR/2017/NOTE-Pointers-in-RDF10-20170202/>
]FIGCAPTION]

> 2.3.1.1 XPathPointer Class
> XPath Pointer - An expression pointer that makes use of XPath '''['''XPath''']''' expressions to point out parts of a document.

]FIG]


[FIG(quote)[
[FIGCAPTION[
[100] [CITE@en[Web Annotation Data Model]]
([TIME[2017-02-24 02:14:26 +09:00]])
<https://w3c.github.io/web-annotation/model/wd2/#h-xpath-selector>
]FIGCAPTION]

> Another common method of selecting elements and content within a resource that supports the Document Object Model (DOM), such as documents in XML or HTML, is to use an XPath selection '''['''DOM-Level-3-XPath''']'''. XPath allows a great deal of flexibility when describing the path through the structure to the selected content. Results are not defined for when an XPath Selector is applied to a representation that does not conform to the DOM.
> NOTE
> Implementers should note that the HTML5 specification allows parsers to add elements into the DOM that are considered to be missing. XPaths should be constructed to include these elements, rather than from the element structure in the document.



> NOTE
> Implementers should use only commonly supported features of XPath that directly contribute to selection of an element or content in order to maximize interoperability between systems.

]FIG]

[101] [[XPath 1.0]] 本体ではなく [[DOM XPath]] を引用していますが、 [[DOM XPath]]
のどの操作に対応するものなのかは明記されていません。空気を読めということなのでしょうか。
[[相互運用性]]とは (哲学)。

[102] 「[[DOM]] に適合しない[[表現]]」というのも意味不明です。
([[選択子]]の利用に関する章にも同じ規定があります。[[選択子]]も参照。)

[103] 注記も何を言っているのか完全に意味不明です。
[[タグ]]が省略されていても[[HTML構文解析器]]が補うことがあるので、
[[直列化]]された[[文書]]に書かれている[[タグ]]だけ考えた構造ではなく、
実際の[[要素]]の構造を考えて記述しろ、と言っているのでしょうか。
でもそうだとすると [[XPath 1.0]] だけでなく[[選択子]]にも当てはまることなのに、
[[選択子]]の章には注記がないことが説明できず、やっぱり意味不明です。

[104] もう1つの注記は [[XPath]] の機能が実装によって異なることを示唆していますが、
そのような事実はあるのでしょうか。あるとすればどの機能なのでしょうか。
[[XPath 1.0]] はそこまで大きな仕様でもなく、部分的な実装はあまり見たことがありませんが、
[[W3C]] の調査ではそうでもないということですよね。
それとも非標準の拡張のことを指しているのでしょうか。
具体例も何もないので意味がわかりません。
このような雑な注記では読者を惑わすだけで誰の得にもならなそうですが・・・。

[105] [CITE@en[Web Annotation Vocabulary]]
([TIME[2017-02-24 02:14:26 +09:00]])
<https://w3c.github.io/web-annotation/vocab/wd/#h-xpathselector>

[FIG(quote)[
[FIGCAPTION[
[106] [CITE@en[Selectors and States]]
([TIME[2017-02-24 02:14:26 +09:00]])
<https://w3c.github.io/web-annotation/selector-note/#h-xpathselector_def>
]FIGCAPTION]

> Instance
> An element of a group of Resources represented by a particular Class.

]FIG]

[108] [[Core XPath]]

[107] [[RXPath]]

[109] [[Schematron]]

[FIG(quote)[
[FIGCAPTION[
[110] [CITE@en[RFC 6020 - YANG - A data modeling language for NETCONF]]
([TIME[2017-03-19 16:16:39 +09:00]])
<https://tools.ietf.org/html/rfc6020#section-6.4>
]FIGCAPTION]

> YANG relies on XML Path Language (XPath) 1.0 '''['''XPATH''']''' as a notation
>    for specifying many inter-node references and dependencies.  NETCONF
>    clients and servers are not required to implement an XPath
>    interpreter, but MUST ensure that the requirements encoded in the
>    data model are enforced.  The manner of enforcement is an
>    implementation decision.  The XPath expressions MUST be syntactically
>    correct, and all prefixes used MUST be present in the XPath context
>    (see Section 6.4.1).  An implementation may choose to implement them
>    by hand, rather than using the XPath expression directly.
> 

]FIG]


[FIG(quote)[
[FIGCAPTION[
[111] [CITE@en[RFC 6020 - YANG - A data modeling language for NETCONF]]
([TIME[2017-03-19 16:16:39 +09:00]])
<https://tools.ietf.org/html/rfc6020#section-6.4>
]FIGCAPTION]

> The mechanism for handling unprefixed names is adopted from XPath 2.0
>    '''['''XPATH2.0''']''', and helps simplify XPath expressions in YANG.  No
>    ambiguity may ever arise because YANG node identifiers are always
>    qualified names with a non-null namespace URI.

]FIG]


[112] [CITE[Business Document Naming and Design Rules Version 1.0]]
([TIME[2017-01-19 02:00:00 +09:00]])
<http://docs.oasis-open.org/ubl/Business-Document-NDR/v1.0/os/Business-Document-NDR-v1.0-os.html>

[FIG(quote)[
[FIGCAPTION[
[113] [CITE@en[RFC 6241 - Network Configuration Protocol (NETCONF)]]
([TIME[2017-05-07 18:00:15 +09:00]])
<https://tools.ietf.org/html/rfc6241#section-4.3>
]FIGCAPTION]

> Document type declarations (see Section 2.8 of
>    '''['''W3C.REC-xml-20001006''']''') MUST NOT appear in NETCONF content.

]FIG]


[114] [CITE@en[RFC 6241 - Network Configuration Protocol (NETCONF)]]
([TIME[2017-05-07 18:00:15 +09:00]])
<https://tools.ietf.org/html/rfc6241#section-8.9>

[FIG(quote)[
[FIGCAPTION[
[115] [CITE@en-US[Microsummary XML grammar reference - Archive of obsolete content | MDN]]
( ([TIME[2015-07-17 11:17:46 +09:00]]))
<https://developer.mozilla.org/en-US/docs/Archive/Mozilla/Microsummary_topics/XML_grammar_reference>
]FIGCAPTION]

> <condition> (optional)
> An XPath boolean expression along with a conditional interval of time, in minutes, that must elapse between updates if the expression evaluates to true.

]FIG]


[123] [[XPL]]