/
171.txt
60 lines (40 loc) · 2.76 KB
/
171.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
[5] [DFN[[[RELAX NG]]]] は、 [[XML]] の[[スキーマ言語]]の1つです。
00年代にはしばしば [[XML]] と共に使われていました。
[11] [[XML]] の衰退により、目にすることもなくなりました。
* 仕様書
[REFS[
- [3] [CITE[RELAX NG Specification]] ([TIME[2007-11-03 05:45:29 +09:00]] 版) <http://www.oasis-open.org/committees/relax-ng/spec.html>
- [1] [CITE[RELAX NG DTD Compatibility]] ([TIME[2003-03-01 02:43:22 +09:00]] 版) <http://relaxng.org/compatibility-20011203.html>
- [2] [CITE[Guidelines for using W3C XML Schema Datatypes with RELAX NG]] ([TIME[2007-11-03 05:45:24 +09:00]] 版) <http://www.oasis-open.org/committees/relax-ng/xsd.html>
]REFS]
* 構文
[10] 本来の [[XML]] 構文と、[[式言語]]のような構文を持つ
[[RELAX NG Compact Syntax]] がありました。
* 歴史
[13] [[RELAX]] と [[TREX]] が統合される形で開発されました。
[14] [[OASIS]] で[[標準化]]されました。
[15] [[ISO/IEC]] に提出されて[[国際標準]] [DFN[ISO/IEC 19757-2]] となりました。
-*-*-
[4] [[XML]] の[[スキーマ言語]]には他に [[XML DTD]] や [[XML Schema]]
があります。 [[XML Schema]] と [[RELAX NG]] の開発時にはどちらが優れているかなど
[[XML]] コミュニティーでは大きな議論になりました。
[6] [[Web]] では00年代初期に [[W3C]] 近辺で [[XHTML]] などの[[語彙]]の制約を
[[RELAX NG]] で記述することが流行しました。しかしその後の仕様をより厳密に記述する流れの中で
[[RELAX NG]] を含む[[スキーマ言語]]では不十分であることが明確になり、
仕様の記述には使われなくなっています。
;; [9] 旧 [[HTML WG]] の [[XHTML m12n]] や、 [[SVG Tiny 1.2]] などが
[[RELAX NG]] を使っていました。
[16] [[XML]] コミュニティーでは [[XML Schema]] と [[RELAX NG]]
の両方が使われ続けました。[[マーク付け言語]]を定義する際には、
一方が用いられることもあれば、両方が用いられることもありました。
(両者の[[スキーマ]]が表現できる内容は等しくないので、
厳密には両方を用いると解釈の問題が発生しますが...)
[17] しかし結局 [[XML]] の衰退により、両者のどちらもが「スキーマ戦争」
に勝利することなく世の中から忘れ去られることになりました。
* メモ
[7] [DFN[[[RNG]]]] は、 [[RELAX NG]] の略です。
[8] RELAX NG は [[ISO/IEC]] 標準だから [[XML Schema]]
より偉いのだー!! とか言ってるアフォはとっとと氏んで欲しいよね。
[12] [CITE[RELAX NG home page]]
([TIME[2014-02-25 10:10:57 +09:00]])
<http://www.relaxng.org/>