/
979.txt
87 lines (62 loc) · 3.62 KB
/
979.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
* SGML 用スキーマ言語
- [2] [[DTD]] ([[SGML]] の一部。)
* XML 用スキーマ言語
[FIG(short list)[
- [3] [[DTD]] ([[XML]] の一部。)
- [4] [[XML Schema]]
- [5] [[RELAX NG]]
- [6] [[TREX]] ([[RELAX NG]] の前身)
- [7] [[RELAX]] ([[RELAX NG]] の前身)
- [8] [[Schematron]]
- [[NRL]]
]FIG]
[1]
[CITE[Family Tree of Schema Languages for XML: now takes A3 page! - O'Reilly XML Blog]] ([[Rick Jelliffe]] 著, [TIME[2007-04-12 22:20:42 +09:00]] 版) <http://www.oreillynet.com/xml/blog/2007/04/family_tree_of_schema_language_2.html>
([[名無しさん]] [WEAK[2007-04-12 13:22:23 +00:00]])
[11] 結局、 XML schema 論争は (直接的に) 非互換な3つの schema: [[DTD]], [[XMLSchema]], [[RELAXNG]] を全部必要としてしまったわけですが。 (Schema がどれで提供されているかは仕様によりそれぞれだから、実際に使うにはどれの知識も必要。)
[12] >>11 しかも他に [[RDFSchema]] なんかもあるし。
[13] >>12 もっとも、 RDF Schema はメタ・データ系マーク付け言語にしか使えないし、スキーマとしての機能みたいなのも他のとは全然違うけどね。
[14] でも正直、標準の XML schema に、追加のモジュールで RDF Schema 的メタ・データ・スキーマ機能とか [[HLink]] 的[[ハイパーリンク]]・スキーマ機能とかを統合できる形式にして欲しかった気が。 (そんなことしてたら永遠に標準化できないかもだけど・・・。)
[15] >>14 ついでに既定スタイル・シートも統合・・・はやりすぎか? でもそうすれば、マーク付け言語の定義を全部一つの文書にまとめれるような。
* RDF 用スキーマ言語
- [9] [[RDF Schema]]
* RDB 用スキーマ言語
[FIG(short list)[
- [[SQL]]
]FIG]
* JSON 用スキーマ言語
[FIG(short list)[
- [[JSON Schema]]
- [[JSON Content Rules]]
- [[JSON Table Schema]]
]FIG]
* CSV 用スキーマ言語
[FIG(short list)[
- [[CSV Schema]]
- [[Model for Tabular Data and Metadata on the Web]]
]FIG]
* メモ
[16] 多くの場合、[[スキーマ言語]]は、対象となる[[言語]]を完全に記述する十分な能力は持っていません。
にも関わらず、[[スキーマ]]を記述したことで[[言語]]を規定したつもりになってしまう、
という意味で[[スキーマ]]は危険な存在です。
[EG[
[17] [[HTML4]] 時代、 [[DTD]] に[[適合]]することのみをもって[[文書]]の[[適合性]]を検査する杜撰な実装 (例: [[W3C Validator]]) が横行していた反省から、
[[HTML5]] は [[DTD]] を[[廃止]]しました。
]EG]
[EG[
[18] [[XML]] ベースの[[マーク付け言語]]の中には、[[XML Schema]]
の[[スキーマ]]しかないものがいくつもあります。
利用する[[属性]]の組み合わせや[[要素]]の入れ子関係などの複雑な制約、
[[属性値]]の詳細などが規定されていなかったり、
値の意味・解釈方法やエラー処理などがどこにも説明されていなかったりするのも珍しくありません。
]EG]
[1]
:スキーマ:
[DFN[[RUBYB[スキーマ]@en[schema]]]]は、
[[XML]] [[文書]]に適応可能な構造的な制約および値の制約の[[集合]]を定義する。
[[スキーマ]]は [[DTD]]、[[XML Schema]]
などの[[スキーマ言語]]により表現できる。
;; <IW:DOM3:"Val/glossary.html#dt-schema">
[10] [CITE@en-US[Internationalization Tag Set (ITS) Version 1.0]]
( ([TIME[2007-04-03 09:11:18 +09:00]] 版))
<http://www.w3.org/TR/its/#def-schemalanguage>