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