/
817.txt
91 lines (62 loc) · 4.5 KB
/
817.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
[FIG(pull-quote)[
> [[ん?]] 今[[何でも]]するって言ったよね?
]FIG]
[20] [[要素の内容]]として[DFN[何でも]]良いとされていることが[[稀によくあります]]。
本当に文字通り[[何でも]]とは限りません。
* 文書素片
[2] [CODE[DocumentFragment]] は[[節点木]]の構造の制約
([[要素]]、[[テキスト]]、[[コメント]]、[[処理指令]]を[[子供]]とできる)
以上の制約が規定されておらず、どんな[[要素]]や[[テキスト]]も[[内容]]として含められると解釈されています。
;; [3] 素の [CODE[DocumentFragment]] の他、 [[雛形内容]]や[[影根]]もあります。
[4] 何でもとはいえ、[[影根]]では実用上[[フロー内容]]が認められるものとするべきでしょう。
[HISTORY[
[5] [[雛形内容]]についてかつては制約がありましたが、緩和されました。
[CODE[template]] 参照。
]HISTORY]
* 文字列要素
[10] [[SVG]] は [CODE[title][svg:title]] [[要素]]と
[CODE[desc][svg:desc]] [[要素]]の[[内容モデル]]を
「Any elements or character data.」
としています。任意の [[XML]] の[[要素]]を使えると規定されています。
[11] ここでの「何でも」は、[[XML名前空間]]を使った拡張のための方便として使われています。
実際には使えるものは限られています。
[12] [CITE[HTML Standard]] は [[HTML文書]]における [CODE[title][svg:title]]
[[要素]]限定ではありますが、[[語句内容]]に限定しています。
現実的には [CODE[desc][svg:desc]] [[要素]]や[[XML文書]]においても同様に限定されるべきでしょう。
;; [13] [[SVG]] の[[仕様書]]には独自の[[語彙]]を [CODE[desc][svg:desc]]
[[要素]]で使った例文が掲載されています。
* メタデータ要素
[14] [[SVG]] は [CODE[metadata]] [[要素]]の[[内容モデル]]を
「Any elements or character data.」
としています。任意の [[XML]] の[[要素]]を使えると規定されています。
;; [15] [[SVG]] の[[仕様書]]には [[RDF/XML]] を使った例文が掲載されています。
-*-*-
[21] [[MathML]] は [CODE[annotation-xml]] [[要素]]の[[内容]]を任意の記述方式によるものとしていて、
明確な制限を設けていません。 [[XML Schema]] では [CODE[xs:any]]
とされています。
;; [[DTD]] ではなぜか [[MathML]] の[[要素]]に限定されています。
* [CODE[foreignObject]] 要素
[16] [[SVG]] は [CODE[foreignObject]] [[要素]]の[[内容モデル]]を
「Any elements or character data.」
としています。任意の [[XML]] の[[要素]]を使えると規定されています。
[17] ここでの「何でも」は [[XML名前空間]]を使った拡張のための方便として使われています。
[CODE[svg]] [[要素]]以外の [[SVG名前空間]]の[[要素]]は無視されることになっており、
事実上使えません。それ以外の「何でも」ということになります。
[18] [CITE[HTML Standard]] は [[HTML要素]]に関しては[[フロー内容]]であると制限しています。
現実的には他の[[名前空間]]に関しても[[フロー内容]]に制限されるべきでしょう。
* 未知要素
[9] 「その他」に該当する[[要素]]は、どんな[[内容]]でも持てると定められていることがあります。
こうした規定は、実際には拡張機能のための余地だったり、
エラー処理の方法の規定のための方便だったりして、
文字通り「何でも良い」と解釈するべきではなかったりします。
[6] [[SVG]] では[[未知要素]]の[[内容モデル]]が
「Any elements or character data.」
とされています。
[19] [[SVG]] では[[外来名前空間]]の[[要素]]を[[SVG名前空間]]の[[要素]]中どこにでも入れられると定めています。
ただし [[HTML要素]]については例外的な規定が色々とあり、本当に「何でも」
というわけではないようです。
[8] [[Atom]] では[[外来マーク付け]]が事実上任意の[[子供]]を持てるように定めています。
[7] [[VALLANGS]] では[[未知要素]]が任意の[[子供]]を持てるとされています。
* 歴史
[1] [[SGML]] と [[XML]] の[[要素宣言]]では、 [DFN[[CODE[ANY]]]]
はどんな[[要素]] (や[[テキスト]]) も[[子供]]として含められることを表していました。