<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body><section><h1>XLink 要素型</h1><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> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XLink</anchor> では、<rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要素型<rt xmlns="http://www.w3.org/1999/xhtml">element type</rt></rubyb>というのは、
<code class="XMLa"><var>xlink:</var><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">type</anchor></code> 属性によって識別される、
XLink としての要素の種類のことを指しています。</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><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> <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>とは直接関係していません。</comment-p></section><section><h1>xlink:type 属性 (XLink)</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="32" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[32]</anchor-end> <dfn><code class="XMLa"><var>xlink:</var>type</code> 属性</dfn>は、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XLink</anchor> の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要素型</anchor>を指定します。
この属性は <weak xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">(XLink 的に意味を持たせたい要素には)</weak> 
必須です。</p><p>仕様書: <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/xlink/#link-types">http://www.w3.org/TR/xlink/#link-types</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="33" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[33]</anchor-end> 属性値:<dl><dt><code class="XML"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">arc</anchor></code></dt><dd><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">弧</anchor>を定義するために使用します。</dd><dt><code class="XML"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">extended</anchor></code></dt><dd><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">拡張連結</anchor>のために使用します。</dd><dt><code class="XML"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">locator</anchor></code></dt><dd><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">遠隔資源</anchor>を指定するために使用します。</dd><dt><code class="XML"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">none</anchor></code></dt><dd>この値の時、その要素
(とその<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">属性</anchor>) は XLink
的意味を持ちません。</dd><dt><code class="XML"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">resource</anchor></code></dt><dd><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">局所資源</anchor>の包含子として使用します。</dd><dt><code class="XML"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">simple</anchor></code></dt><dd><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">単純連結</anchor>のために使用します。</dd><dt><code class="XML"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">title</anchor></code></dt><dd>人間可読の説明を加えるために使用します。</dd></dl></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="34" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[34]</anchor-end>
XLink 仕様書の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DTD</anchor> 例では、
<samp class="XML">xlink:type (none|simple) #REQUIRED</samp>
のように、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">列挙型</anchor>で定義されています。
このような場合、 <samp class="XML">xlink:type=&quot;  simple  &quot;</samp> のように、<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>しかし、 DTD を読まない時のことを考えると、こんなことはしないほうがよいでしょう。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="35" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[35]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XLink 1.0</anchor> では <code class="XMLa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">xlink:type</anchor></code> は必須ですが、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XLink 1.1</anchor>
では省略可能で、既定値は <code class="XML" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">simple</anchor></code> となっています。ただし実際には <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XLink 1.0</anchor>
時代から省略して用いられることが多く、 1.1 はこれを追認するものでした。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="36" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[36]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XLink 1.0</anchor> 時代のものでも、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DTD</anchor> や <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XML Schema</anchor> の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">既定値</anchor>としてのみ
<code class="XMLa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">xlink:type</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:">XML処理器</anchor>を使った場合や、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">PSVI</anchor> を使わない場合には、 <code class="XMLa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">xlink:type</anchor></code>
が設定されないことになってしまいます。</p><example xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><p xmlns="http://www.w3.org/1999/xhtml"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="37" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[37]</anchor-end> 例えば <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SVG 1.0</anchor> や <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SVG 1.1</anchor> は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XLink 1.0</anchor> に基づいていましたが、 <code class="XMLa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">xlink:type</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:">DTD</anchor> にあるのみで、実際の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文書</anchor>には記述しないことがよくありました。</p><p xmlns="http://www.w3.org/1999/xhtml"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="38" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[38]</anchor-end> また <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">GML<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">Geography Markup Language</title></anchor> の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XML Schema</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">データ型</anchor>である <code class="XML" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">gml:PointPropertyType</anchor></code>
では <code class="XMLa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">xlink:type</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:">XML</anchor> ファイルでは <code class="XMLa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">xlink:href</anchor></code>
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">属性</anchor>だけしか使われていません。</p></example></section></body></html>