<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body><figure class="pull-quote"><blockquote><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>するって言ったよね?</p></blockquote></figure><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> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要素の内容</anchor>として<dfn>何でも</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>とは限りません。</p><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> <code>DocumentFragment</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:">処理指令</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><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="3" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[3]</anchor-end> 素の <code xmlns="http://www.w3.org/1999/xhtml">DocumentFragment</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>もあります。</comment-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> 何でもとはいえ、<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><history 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="5" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[5]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">雛形内容</anchor>についてかつては制約がありましたが、緩和されました。
<code>template</code> 参照。</p></history></section><section><h1>文字列要素</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:">SVG</anchor> は <code>title<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">svg:title</title></code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要素</anchor>と
<code>desc<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">svg:desc</title></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>を
「Any elements or character data.」
としています。任意の <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>を使えると規定されています。</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> ここでの「何でも」は、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XML名前空間</anchor>を使った拡張のための方便として使われています。
実際には使えるものは限られています。</p><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> <cite>HTML Standard</cite> は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTML文書</anchor>における <code>title<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">svg:title</title></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>に限定しています。
現実的には <code>desc<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">svg:desc</title></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>においても同様に限定されるべきでしょう。</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="13" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[13]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SVG</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 xmlns="http://www.w3.org/1999/xhtml">desc<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">svg:desc</title></code>
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要素</anchor>で使った例文が掲載されています。</comment-p></section><section><h1>メタデータ要素</h1><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:">SVG</anchor> は <code>metadata</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>を
「Any elements or character data.」
としています。任意の <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>を使えると規定されています。</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="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:">SVG</anchor> の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">仕様書</anchor>には <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RDF/XML</anchor> を使った例文が掲載されています。</comment-p><hr></hr><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> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">MathML</anchor> は <code>annotation-xml</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:">XML Schema</anchor> では <code>xs:any</code>
とされています。</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DTD</anchor> ではなぜか <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">MathML</anchor> の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要素</anchor>に限定されています。</comment-p></section><section><h1><code>foreignObject</code> 要素</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:">SVG</anchor> は <code>foreignObject</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>を
「Any elements or character data.」
としています。任意の <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>を使えると規定されています。</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:">XML名前空間</anchor>を使った拡張のための方便として使われています。
<code>svg</code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要素</anchor>以外の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SVG名前空間</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> <cite>HTML Standard</cite> は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTML要素</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></section><section><h1>未知要素</h1><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:">要素</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="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:">SVG</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>が
「Any elements or character data.」
とされています。</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> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SVG</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:">SVG名前空間</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要素</anchor>中どこにでも入れられると定めています。
ただし <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTML要素</anchor>については例外的な規定が色々とあり、本当に「何でも」
というわけではないようです。</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 xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Atom</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="22" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[22]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XSLT1</anchor> では <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XSLT名前空間</anchor>と
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">null名前空間</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="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:">VALLANGS</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><h1>歴史</h1><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> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SGML</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:">要素宣言</anchor>では、 <dfn><code>ANY</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>として含められることを表していました。</p></section></body></html>