<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="13" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[13]</anchor-end> 
<dfn><rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要素名<rt xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">element name</rt></rubyb></dfn>は、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要素</anchor>の種別を表す名称です。</p><section><h1>歴史</h1><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> 
<dfn><rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">共通識別子<rt xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">generic identifier</rt></rubyb></dfn>
(<dfn>GI</dfn>)
は、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SGML</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="14" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[14]</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>され、
<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="15" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[15]</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>を加えたものを<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="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[1]</anchor-end> </p><blockquote><dl><dt>共通識別子 (generic identifier)</dt><dd>
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要素型</anchor>を識別する名前。
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JIS X 4051</anchor>‐1992 3. (55))</dd></dl></blockquote><ul><li><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> <code class="ABNF"><dfn><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">共通識別子指定</anchor></dfn> := 共通識別子 / <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">付番核</anchor> ;; (29)</code></li><li><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> <code class="ABNF"><dfn>共通識別子</dfn> := <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">名前</anchor> ;; (30)</code></li></ul><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> 共通識別子は、
その文書に<ruby>見出<rt>みいだ</rt></ruby>した重要な要素を特徴付けるにふさわしいと思う、
覚えやすい名前にするべきです。 (参考2 2. 参照。)</p><p><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> 共通識別子は概念的には要素の特別な属性という位置づけみたいです。 
(参考2 2. 参照。)</p><p><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> <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="7" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;7</anchor-internal> ちなみに<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">内容</anchor>も属性。ある意味一貫したモデル。</p><ul><li><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> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XML</anchor> では、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要素型名</anchor>と言う。</li><li><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> 思うに、<code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">一般識別子</anchor></code>と訳したほうが良かったんじゃないかな? SGML の <code>G</code> が Generalized で、これが<code>一般化</code>と訳されているんだから。</li><li><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> <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="4" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;4</anchor-internal> でもって、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">固有マーク付け</anchor>ではなく<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">一般化マーク付け</anchor>を全面的に採用したことこそが SGML の要なんだからね。</li></ul><section><h1>認知制約 GI (SGML)</h1><p><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> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">認知制約</anchor> <dfn><code class="SGML">GI</code></dfn> では、
<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>
<code class="ABNF"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">名前開始文字</anchor> / &lt;<code class="SGML"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">tagc</anchor></code> if <code class="SGML"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SHORTTAG</anchor> YES</code>&gt; / &lt;<code class="SGML"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">grpo</anchor></code> if <code class="SGML"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CONCUR</anchor> YES</code>&gt;</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>します。</p><p>仕様書: <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JIS X 4151</anchor>‐1992 8.6.2 参照。</p><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> 
この制約が課されるのは <code class="SGML"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">etago</anchor></code>
と <code class="SGML"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">stago</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>またはタグ閉じ区切子がないといけません。</p><p>(群は<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></section><section><h1></h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="16" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[16]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SGML</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:">実現値</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>)
との区別を重視する立場から、
<dfn><rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要素型名<rt xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">element type name</rt></rubyb></dfn>とも呼ばれました。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="17" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[17]</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:">Web</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:">データモデル</anchor> (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOM</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="18" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[18]</anchor-end> = 共通識別子。
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ISO‐HTML</anchor> <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://purl.org/NET/ISO+IEC.15445/15445.html#ELEMENTTYPE">http://purl.org/NET/ISO+IEC.15445/15445.html#ELEMENTTYPE</anchor-external> 参照。)</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="19" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[19]</anchor-end> <cite>moonlight開発小話: cryptic hash in generic serialization - ものがたり</cite> (<time>2009-03-15 11:03:12 +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://d.hatena.ne.jp/atsushieno/20090313/p1">http://d.hatena.ne.jp/atsushieno/20090313/p1</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="20" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[20]</anchor-end> <cite xml:lang="en">Mention that SVG and MathML won't get new hyphen-containing names either · w3c/webcomponents@b362fa0</cite>
(<time>2016-03-12 12:51:19 +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="https://github.com/w3c/webcomponents/commit/b362fa08d202a37f6afa1f19281845db2e86a32f">https://github.com/w3c/webcomponents/commit/b362fa08d202a37f6afa1f19281845db2e86a32f</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="21" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[21]</anchor-end> <cite xml:lang="en"><strong></strong>[<strong></strong>Custom<strong></strong>]<strong></strong>: &quot;are&quot; custom element names ASCII characters, or MUST they be ASCII characters? · Issue #239 · w3c/webcomponents</cite>
(<time>2016-04-16 12:56:02 +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="https://github.com/w3c/webcomponents/issues/239">https://github.com/w3c/webcomponents/issues/239</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="22" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[22]</anchor-end> <cite xml:lang="en">Add custom elements to HTML · whatwg/html@6e7eaa4</cite>
(<time>2016-04-26 18:16: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="https://github.com/whatwg/html/commit/6e7eaa4bd2912965fd83766f99f984f249531f3a">https://github.com/whatwg/html/commit/6e7eaa4bd2912965fd83766f99f984f249531f3a</anchor-external></p></section></section></body></html>