[1] [DFN[[RUBYB[速記指示子] [shorthand pointer]]]]
(旧称 barename)は、構文的には1つの [[NCName]] です。
この NCName とその識別子が一致する、[[文書順]]で最初の
(高々1つの) [[要素]]を識別します。
一致する要素がなければ、その[[指示子]]は[[誤り]]です。

* 仕様書

[REFS[
- [7] <http://www.w3.org/TR/xptr-framework/#syntax>
- [10] [CITE@en[RFC 7303 - XML Media Types]] ([TIME[2014-07-07 20:56:43 +09:00]] 版) <http://tools.ietf.org/html/rfc7303#section-5>
- [8] [CITE@en[RFC 7303 - XML Media Types]] ([TIME[2014-07-07 20:56:43 +09:00]] 版) <http://tools.ietf.org/html/rfc7303#section-9.6>
]REFS]

* 呼称

[6] [[XPointer Framework]] では「formerly known as a barename」
の一度しか「barename」は登場しませんが、なぜか [[RFC 7303]]
はすべて「barename」と呼んでいます。

* 一致

[2] 識別子が要素と一致するとは、優先順に:
[FIG(steps)[
= ある[[要素情報項目]]の[CODE(infoitem)[[[属性群]]]]に、
[[schema決定ID]] である[[属性情報項目]]が存在して、
その[CODE(infoitem)[[[schema正規化値]]]]特性の値と一致する
= ある要素情報項目の[CODE(infoitem)[[[子供群]]]]に、
schema 決定 ID である要素情報項目が存在して、
その[CODE(infoitem)[schema 正規化値]]特性の値と一致する
= ある要素情報項目の[CODE(infoitem)[属性群]]に、
[[DTD決定ID]] である属性情報項目が存在して、
その[CODE(infoitem)[[[正規化値]]]]特性の値と一致する
= 要素情報項目が (あれば) [[外部決定ID]] 値と一致する
]FIG]

[9] [[RFC 7303]] は、 [CODE(MIME)@en[[[+xml]]]] [[構造化構文接尾辞]]を使う
[[MIME型]]が独自の意味を追加することを認めています [SRC[>>8]]。

* 実装

[11] [[RFC 7303]] による[[素片識別子]]の実装は、[[速記指示子]]に対応しなければ[['''なりません''']]
[SRC[>>10]]。 [CODE(MIME)@en[[[+xml]]]] [[MIME型]]はこれを禁止しては[['''なりません''']]
[SRC[>>8]]。

* 関連

[12] [[速記指示子]]は、[[素片識別子]]の分類上は[[平名前素片識別子]]に当たります。

[3]
'''DOM との関係''':
[[DOM水準3]] の [CODE(DOMm)[[[getElementById]]]] は
[[属性]]によって決定される識別子を使いますが、
[[属性]]以外によって決まる識別子 (>>2 の 2. の[[要素情報項目]]による
[[schema決定ID]] と、 4. の[[外部決定ID]] の内[[属性情報項目]]以外に由来するもの)
は使いません。
ですから、速記識別子の[[解決]]に
[CODE(DOMm)[[[getElementById]]]] (だけ) を使ってもうまくいきません。
([[名無しさん]])

[4]
'''HTMLとの関係''':
[[HTML]]では[CODE(HTMLa)@en[[[id]]]][[属性値]]を[[素片識別子]]に使うことで[[要素]]を[[識別]]できますが、[[XPointer]][[速記]]構文はこれを引き継いでいます。
([[名無しさん]] [sage])


[5]
'''SVGとの関係''':
[[SVG素片識別子]]は[[XPointer]]の[[部分集合]]になっていますが、そこで認められた構文の1つが[[速記]]と同じものです。

* メモ