画像電子学会 第17回VMA研究会    
2006-07-14        


DSDL(スキマトロン,NVDL,他)の国際および国内の
標準化動向

International and National Standardization Status
of DSDL(Skematron, NVDL, etc.)

小町 祐史

         

村田 真

大阪工業大学

         

国際大学


1. まえがき

1.1 序

DSDL(Document Schema Description Language, 文書スキーマ定義言語)については,次に示すとおり,RELAX NGの規定がまず2003年の末に発行され,その後2006年になって主要関連規定が次々と承認されて,DSDLとしての一応の体系が用意された。

RELAX NGの仕様は,OASISから公開されていたが,ISO/IEC 19757-2の発行により国際規格として追認された。特にそのCompact Syntax(簡潔構文)は,W3Cなどの関連する標準化団体における多くの規定の中で既に広く利用されている。

このDSDLのISO/IEC JTC1におけるプロジェクトの設立の経緯,上記以外のパートの概要と現在の状態,対応する国内標準化の動向等については,必ずしも充分な情報提供がなされていない。そこで本稿では,これらを示して今後のDSDLに関する議論の発展の一助としたい。

1.2 記法

本稿では文献引用が多いため, 引用箇所に文献を示す記法と末尾の文献一覧に示す記法とを文脈に応じて使い分けている。


2. DSDLプロジェクト設立の経緯

2.1 ISO/IEC TR 22250-1 RELAXの発行に対する欧米の抵抗

ISO/IEC TR 22250-1 RELAX[1]は,国内で公表されていたTR X 0029:2000, XML正規言語記述 RELAX コアがFast-track手続きを用いてISOに提案されたものであり,2001年5月1日を期限とするDTR投票で承認されて,発行された。投票で承認された直後(2001-05-19/24)に開催されたISO/IEC JTC1/SC34会議では,スキーマ言語という重要な位置付けの規定を日本がFast-track手続きで提出したことに対する欧米の反発があり,その発行を阻止または遅らせようとする動き(この詳細については,文献[2]を参照。)があった。

2.2 新作業課題提案

しかし正規の手続きに従ったTR 22250-1の発行を止められそうにないことが明らかになると,この会議に参加していた欧米の参加者は,同じスキーマ言語に関する新作業課題の提案(NP)[3]を行って,ISO/IEC TR 22250-1に対決する姿勢を示した。この新作業課題がDSDLであった。

日本は,NPの内容が不明確であるとして反対したが,カナダ,中国,オランダ,UK,USが賛成・参加の投票を行って,NPは承認されDSDLプロジェクトが成立[4]した。


3. DSDLプロジェクトの推進

3.1 マルチパート化

NPと共にUKが提出した最初のドラフト[5]があまりにも稚拙であったため,その内容の全面的な見直しからDSDLの議論が開始された。

NP投票の直後(2001-12)に開催されたSC34会議では,最初のドラフトは単なるbrain dumpであって再構成が必要であることが強く認識され,RELAX NG(Grammar-oriented schema languages)等の既存のスキーマ関連規定を含むマルチパートの規格としてDSDLを作成することになった[6],[7]

DSDLプロジェクトのsubdivisionによってこのとき承認されたパート構成を次に示す(括弧内はエディタ)。

Part 0とPart 2については,直ちにCD(Committee Draft)テキスト(それぞれN275, N276)が作成されて投票に入った。

3.2 パート構成の変遷

2002年5月のSC34会議ではパート構成の変更が議論され, 次のとおりにパート標題とエディタとを決定(SC34 N312)した。

2002年12月の会議では,Part 2のFCD投票コメント対処が議論され,その際にパート標題をRegular-grammar-based validation - RELAX-NGに変更した。

2003年5月の会議になって,ISOのパート番号付け規則に従い, それまでのPart 0をPart 1に再番号付けし, それまでのPart 1をPart 10にすると共にその標題をValidation Management(妥当性検証管理)にすることにした。

TR 22250-2 RELAX Namespace[8]をDSDLの体系に整合させたPart 4については,SC34/WG1での議論を反映したCDテキストが, 2002年度末のCD投票によって承認され, 2003年5月の会議で投票コメント対処が承認された。その後, 名前空間ルーティング言語をそれに含めることが要求され, 2003年12月の会議でその内容に合意して, 改訂文書をFCD投票にかけることになった。この間, Part 4は次のようにその標題を変えている。

2003年12月の会議では,FDIS投票で承認されたPart 2に対して,そのCompact SyntaxをAmd.1として追加する要求が提出され,そのプロジェクトが作られた。

Part 8の標題は,2003年12月の会議のWG1 Recommendation(SC34 N464)では,Declarative document manipulationのままであるが,2004年の4月と11月のWG1 Recommendation(それぞれSC34 N503, N556)に何の言及もなく,2004年11月に作られた作業ドラフト(SC34 N584)では,Document schema renaming language (DSRL)に変更されている。

全パートを概観するPart 1については,次のとおり3回のCD投票と1回のFCD投票が行われている。

このFCDテキストに示されたDSDLパート構成が最新の構成であって,次のとおりである。

3.3 現在の状態

現在の状態として,2006年5月のSC34会議におけるWG1 Recommendationの内容を次に示す。なおこのRecommendationの後に,冒頭に示したISO/IEC 19757-3および9573-4の発行が行われた。

(1) ISO/IEC 19757-1 (DSDL - 概要)

FCD投票で承認されたことを受けて,WG1はM. Bryanに対して,コメント対処(SC34 N744)に示す変更を組込んで,FCDの改訂を行うことを要求する。そのFCDの改訂版(2nd FCD)を,WG1メンバによるレビューの後,投票のためにSecretariatに送付することを,WG1は勧告する。

(2) ISO/IEC 19757-2 (DSDL - 正規文法に基づく妥当性検証(RELAX NG))の技術訂正

ISO/IEC 19757-2のAmd.1に幾つかの誤りを認めたので,ISO/IEC 19757-2/Amd.1に関する技術訂正案(SC34 N736)を,Secretariatが投票にかけることを,WG1は要求する。

(3) ISO/IEC 19757-3 (DSDL - 規則に基づく検証(Schematron))

FDIS投票で承認されたことを受けて,WG1は,承認されたテキストを出版のためSecretariatに提出することを要求する。

(4) ISO/IEC 19757-4 (DSDL - 名前空間に基づく検証委譲言語(NVDL))

FDIS投票で承認されたことを受けて,WG1は,承認されたテキストを出版のためSecretariatに提出することを要求する。

(5) ISO/IEC 19757-5 (DSDL - データ型)

WG1は,A. Brownに対して,J. Tennisonが提案しWG1会議中に修正された変更を組込んで,FCDの作成を行うことを要求する。そのFCDを,WG1メンバによるレビューの後,投票のためにSecretariatに提出することを,WG1は勧告する。

注: CD(SC34 N716)は,2006-05を期限として投票。

(6) ISO/IEC 19757-6 (DSDL - パスに基づく一貫性制約)

R. Jelliffeは,STX (Streaming Transformations for XML)の開発者(複数)にコンタクトして,彼らがDSDL-6の標準化のために彼らの成果を提出してくれるかどうかを確定する。

(7) ISO/IEC 19757-7 (DSDL - 文字レパートリについての検証)

WG1は,M. Murataに対して,コメント対処(SC34 N632)における承認済み変更を組込んで,ISOによってプロジェクトが取消されないように8月のWG1会議での議論に間に合わせて,CDの改訂を行うことを要求する。そのCDの改訂版(2nd CD)を,WG1メンバによるレビューの後,投票のためにSecretariatに提出することを,WG1は勧告する。

注: 1st CD(SC34 N593)は,2005-05を期限として投票。

(8) ISO/IEC 19757-8 (DSDL - 文書スキーマ再命名言語)

WG1で議論されたCDに基づいてFCDテキストを準備することを,パート8のEditorに要求する。そのFCDを,WG1メンバによるレビューの後,投票のためにSecretariatに提出することを,WG1は勧告する。

注: CD(SC34 N708)は,2006-05を期限として投票。

(9) ISO/IEC 19757-9 (DSDL - データ型および名前空間を認識するDTD)

CD投票で承認されたことを受けて,WG1はEditorに対して,コメント対処(SC34 N748)に示す変更を組込んで,CDの改訂を行うことを要求する。そのCDの改訂版(2nd CD)を,WG1メンバによるレビューの後,投票のためにSecretariatに提出することを,WG1は勧告する。

注: 1st CD(SC34 N709)は,2006-05を期限として投票。

(10) ISO/IEC TR 19757-10 (DSDL - 検証管理)

2006-04に発行されたW3Cの規定"XML Processing Model Requirements and Use Cases"をレビューして,WG1は次の決定を行った。DSDL-10の要件がこのW3Cの要件に含まれるので,WG1は,このW3Cの規定の次の版をレビューしてから,DSDL-10に必要なTRの進め方を決める。

3.4 今後の課題

まえがきに示したとおり,DSDLとしての一応の体系が用意された。これらの普及と処理系の充実が望まれる。まだPart 1, 5〜10の開発が残されているが,これらは必ずしも必須の規定ではなく,2006年5月を期限として行われたPart 5, 8, 9のCD投票に際して日本は次のような形式的コメントを提出するにとどめている。

3.4.1 Japan's Comments on SC34 N716: Document Schema Definition Languages (DSDL) Part 5 - Datatypes

(1) General
Is it possible to convert Kanji-digit strings to numbers? For example, consider U+4e8c followed by U+4e09, where U+4e8c is a Kanji-digit 2 and U+4e09 is a Kanji-digit 3. To support the Japanese calendar as a DTLL datatype library, we need to convert U+4e8c U+4e09 to 23.

(2) Editorial
It should be made clear that the value of the ns attribute is an IRI rather than an URI.

3.4.2 Japan's Comments on SC34 N708: Document Schema Definition Languages (DSDL) Part 8: Document Schema Renaming Language (DSRL)

(1) General
User requirements should be made clearer so that the design choice can be justified. Specifically, is it necessary to provide all of the the following features?
  • 1) changing interpretations of instances by embedding instructions in instances,
  • 2) changing semantics of schemas by embedding instructions in schemas,
  • 3) changing interpretations of instances and semantics of schemas by providing instructions as external files

One could certainly argue that 1) is useless, since users can rewrite an instance if they are willing to touch it (for embedding instructions) anyway. One could also argue that 2) is dangerous, since it encourages non-conformant implementations of RELAX NG (i.e., validators are requested to do what DSDL Part 2 does not say). One could also argue that XSLT and other XML transformation languages already provide 3).

We are not sure whether 2) is really possible, since RELAX NG schemas may be ambiguous.

(2) Editorial
Use IRIs rather than URIs.

3.4.3 Japan's Comments on SC34 N709: Document Schema Definition Languages (DSDL) Part 9 - Datatype- and namespace-aware DTDs

(1) General
Suppose that an instance and a DTD use different namespace prefixes but they are associated with the same namespace name. Then, is the document valid? If this is the case, how can Part9-aware DTD validators can interwork with Part9-unaware DTD validators? If this is not the case, how can Part 9 interwork with recent XML specifications?

(2) Editorial
Use IRIs rather than URIs.

4. 国内標準化

4.1 RELAXの標準情報(TR)

(1) RELAX Core

RELAX Coreは,XMLのためのスキーマ言語であってその言語仕様は簡潔で強力であり,実装や利用が容易である。木オートマトン理論をもとにして設計されたスキーマ言語として,XML関係者に大きなインパクトを与えた。RELAX Coreの仕様が国内で検討されていた頃,W3CではXML Schemaが検討されていた。XML Schemaの進捗があまりにも遅いことを懸念し,国内ではこのRELAX Coreの公表が画策された。

(財)日本規格協会 情報技術標準化研究センター(INSTAC)における"高速Webにおける標準化に関する調査研究委員会"の作業グループ(XML-SWG)は,通商産業省工業技術院(当時)からの委託を受けて1999年度の活動として,このRELAX Coreの標準情報(TR)の原案作成を行った。これは,TR X 0029:2000として2000年5月に公表された。

TR X 0029はFast-track手続きを使ってISOに提案され,2001-05-02を期限(W3Cは予定を早めてこの日に,XML SchemaのRecommendationを公表している。)とするDTR投票で承認された。その後,2.1に示した経緯を経て,2001年8月に新潟でDTR投票コメントへの対処が行われ,2002年2月にISO/IEC TR 22250-1:2002として発行された。

(2) RELAX Namespace

RELAX Namespaceは,複数スキーマ言語及び名前空間を扱う機能を提供することによって,スキーマ言語RELAX Coreを補なう。

INSTACにおける"次世代ネットワークの標準化に関する調査研究委員会"の作業グループ(WG3およびXML-SWG)は,通商産業省工業技術院(当時)からの委託を受けて2000年度の活動としてこのRELAX Namespaceを開発し,標準情報(TR)の原案作成を行った。これは,TR X 0044:2001として,2001年7月に公表された。

TR X 0044はFast-track手続きを使ってISO/IEC JTC1に提案された。DTR投票は,2002年5月を期限として行われ,賛成多数で承認された。

しかしこの時には既にDSDLのプロジェクトが活動を開始していたため,DSDLのPart 4との重なりを避けるために,2002-12のSC34会議で,Part 4の最終投票が成功裏に終了する日に, TR 22250-2の取消しの投票を行うことが勧告された。

4.2 DSDLのJIS化

4.2.1 ISO/IEC 19757-2 (JIS X 4177-2)

ISO/IEC 19757-2のJIS化は,国際と歩調を合わせるため,比較的早い時期に検討を開始した。しかしさまざまな作業の遅れに遭遇して,JISの制定・出版までに多くの時間を要した。ここにその概要[9]を示して,今後への反省としたい。

JIS X 4177-2(RELAX NG)の原案は, 2002年度の(財)日本規格協会 情報技術標準化研究センター(INSTAC)の"次世代コンテンツの標準化に関する調査研究(NGC)委員会"の作業グループWG2において,主として村田,小町らによって作成され, 2003年2月の用語委員会で原案で定義されている用語の審査が行われた。その結果, 3用語について訳語表記の修正が求められ, 他は原案どおりとすることが決まった。

次世代コンテンツの標準化に関する調査研究(NGC)委員会は, 2003年3年にその活動を終了したため, JIS X 4177-2原案は2003年度のINSTAC "情報交換記述言語調査研究(DDFD)委員会"に移管されて, その最終原案の経済産業省(METI)への提出が行われることになった。

DDFD委員会では, 2003年度においてさらに新たな3件の原案作成を行った。DDFD委員会の作業グループ(DDFD-WG1)はこれらを含めた4件のJIS原案の提出処理(経過報告書作成など)を行ったが, 事務局の作業遅れによって, 2003年度内の原案提出が行われなかった。さらに作業手続きの手違いによって, JIS X 4177-2原案については, METIへの申出用事前手続きすら行われなかった。

そこで, これらの4件の原案は, 2004年度の"XML適用の標準化調査委員会(XMLA)"を経由してMETIへの提出を行うことになった。特にJIS X 4177-2原案については, 2004年度にこの委員会においてMETIへの申出用事前手続きから開始することになった。この原案提出作業は, XMLAの引継ぎ課題作業グループ(XMLA-SWG)が行い, 2004年末に提出が完了した。原案は, ようやく2005年3月の日本工業標準調査会標準部会の情報技術専門委員会で審議されることになり, 承認された。原案の冒頭部分を付録A.1に示す。

4.2.2 ISO/IEC 19757-2/Amd.1 (JIS X 4177-2追補1)

INSTACの"ユビキタス社会を推進する情報基盤の標準化調査研究委員会"の2005年度の活動において,作業グループUBQ1/WG3がJIS原案作成を行い,年度末に原案を完成・提出している。原案の冒頭部分を付録A.2に示す。

この原案作成の過程で明らかになった原規定の誤りは,技術訂正案[10]としてJTC1/SC34にフィードバックした。

4.2.3 ISO/IEC 19757-3および-4 (JIS X 4177-3および-4)

INSTACの"ユビキタス社会を推進する情報基盤の標準化調査研究委員会"の2005年度の活動において,作業グループUBQ1/WG3がJIS原案作成に着手した。2006年度にもこの作業を継続する。2005年度末の素案の冒頭部分をそれぞれ付録A.3, A.4に示す。

4.3 今後の課題

INSTACの"ユビキタス社会を推進する情報基盤の標準化調査研究委員会"の2006年度の活動において,作業グループUBQ1/WG3が次のTR/JIS原案作成を行う。


5. むすび

RELAX NGの簡潔構文がXML文書の構造記述にあたりまえのように利用されるようになった現状において,これまでの関係者の活動と成果を整理した。なお本稿においては,各規格の規定内容,OASISにおける活動,およびINSTACにおけるRELAX以前の活動については記述を省略した。

本稿に示した課題に関して議論をいただいている国際および国内のJTC1/SC34関係者に感謝する。


文献

[1] ISO/IEC TR 22250-1:2002, Information technology -- Document description and processing languages -- Regular Language Description for XML (RELAX) -- Part 1: RELAX Core, 2002-03

[2] 小町, 村田, 他: 2001年度次世代コンテンツの標準化に関する調査研究委員会(NGC)報告書,JSA/INSTAC, 2002-03

[3] JTC1/SC34 N223, New Project Proposal for Document Schema Definition Language (DSDL), 2001-06

[4] JTC1/SC34 N257, Summary of Voting on SC 34 N 223 - Document Schema Definition Language (DSDL), 2001-10

[5] JTC1/SC34 N264, U.K. National Body Contribution to First Working Draft of Document Schema Definition Language (DSDL), 2001-05

[6] JTC1/SC34 N275, CD 19757-0 - DSDL Part 0 - Overview, 2001-12

[7] JTC1/SC34 N286, Resolutions of the SC34 Meeting, Orlando, 8-13 Dec. 2001, 2001-12

[8] ISO/IEC DTR 22250-2, Information technology -- Document Description and Processing Languages -- Regular Language Description for XML (RELAX) -- Part 2: RELAX Namespace, 2001-09

[9] JIS X 4177-2:2005, 文書スキーマ定義言語(DSDL)−第2部:正規文法に基づく妥当性検証 - RELAX NG, 2005-07

[10] JTC1/SC34 N736, Proposed Technical Corrigendum 1 to ISO/IEC 19757-2Amd1: 2006 Document Schema Definition Language (DSDL) Part 2 - Regular-grammar-based validation -- RELAX NG, Amendment 1: Compact Syntax, 2006-05


付録A DSDLの翻訳JIS原案

A.1 DSDL-1

日本工業規格(案)
JIS X 4177-2:2005
(ISO/IEC 19757-2:2003)

文書スキーマ定義言語(DSDL)−第2部:正規文法に基づく妥当性検証 - RELAX NG
Document Schema Definition Languages (DSDL) - Part 2: Regular-grammar-based validation - RELAX NG

序文

この規格は,2003年に第1版として発行されたISO/IEC 19757-2,Document Schema Definition Languages (DSDL) - Part 2: Regular-grammar-based validation - RELAX NGを翻訳し,技術的内容を変更することなく作成した日本工業規格である。

0. 導入

この規格の構成を次に示す。5.は,データモデルを示し,6.以降で用いるXML文書の抽象化を示す。6.は,RELAX NGスキーマの構文を示す。7.は,RELAX NGスキーマを単純化するのに適用される一連の変換を示し,更にRELAX NGスキーマの追加要件を規定する。8.は,変換を適用した結果の構文を示す。この単純な構文は,完全な構文の部分集合とする。9.は,単純な構文を用いる正しいRELAX NGスキーマの意味を示す。この意味は,どのような場合に要素がRELAX NGスキーマに照らして妥当になるかを規定する。10.は,RELAX NGスキーマが単純な形式に変換された後にRELAX NGスキーマが満たすべき要件を示す。最後に11.は,RELAX NGの妥当性検証器に関する適合性要件を示す。

この規格は,RELAX NG規定(附属書Cの[1])に基づく。RELAX NGに関する指導書が,この規格とは別に用意されている[RELAX NG Tutorial(附属書Cの[2])を参照]。

1. 適用範囲

この規格は,XMLに関するスキーマ言語RELAX NGについて規定する。RELAX NGスキーマは,XML文書の構造及び内容に関するパターンを規定する。そのパターンは,正規木文法を用いて規定される。この規格は, RELAX NGスキーマが満たすべき要件を規定し, RELAX NGスキーマによって規定されるパターンにXML文書がどんなときマッチするかを規定する。

備考 この規格の対応国際規格を,次に示す。なお,対応の程度を表す記号は,ISO/IEC Guide21に基づき,IDT(一致している),MOD(修正している),NEQ(同等でない)とする。

ISO/IEC 19757-2:2003,Document Schema Definition Languages (DSDL) - Part 2: Regular-grammar-based validation - RELAX NG (IDT)

[以降省略]


A.2 DSDL-1 Amd.1

日本工業規格(案)
JIS X 4177-2:2006
(ISO/IEC 19757-2:2003/Amd.1:2006)

文書スキーマ定義言語(DSDL)−第2部:正規文法に基づく妥当性検証 - RELAX NG (追補1)
Document Schema Definition Languages (DSDL) - Part 2: Regular-grammar-based validation - RELAX NG (Amendment 1: Compact Syntax)

JIS X 4177-2:2005を,次のように改正する。

序文

この追補は,ISO/IEC 19757-2:2003,Document Schema Definition Languages (DSDL) - Part 2: Regular-grammar-based validation - RELAX NGに対して2006年に発行されたAmendment 1: Compact Syntaxについて,技術的内容及び対応国際規格の構成を変更することなくJIS X 4177:2005追補1として作成したものである。

なお,この規格で点線の下線を施した記述は,原国際規格にはない。

[修正1]

6.の末尾に次の文を追加する。

別の簡潔構文を附属書Cに示す。

[修正2]

附属書C文献を附属書1文献とし,附属書1文献の前に次に示す附属書Cを追加する。

附属書C(規定)RELAX NG簡潔構文

C.1 導入

  この附属書は,RELAX NG用の簡潔な非XML構文を示す。

この簡潔構文の目的を次に示す。

[以降省略]


A.3 DSDL-3

日本工業規格(素案)
JIS X 4177-3:200x
(ISO/IEC 19757-3:2006)

文書スキーマ定義言語(DSDL)−第3部:規則に基づく検証 - スキマトロン
Document Schema Definition Languages (DSDL) - Part 3: Rule-based validation - Schematron

1. 適用範囲

JIS X 4177のこの部は,XMLのためのスキーマ言語Schematronを規定する。JIS X 4177のこの部は,Schematronスキーマに対する要求を確立し,XML文書が Schematronスキーマによって指定されたパターンとマッチするのはどんなとき かを規定する。

[以降省略]


A.4 DSDL-4

日本工業規格(素案)
JIS X 4177-4:200x
(ISO/IEC 19757-4:2006)

文書スキーマ定義言語(DSDL)−第4部:名前空間に基づく検証委譲言語 - NVDL
Document Schema Definition Languages (DSDL) - Part 4: Namespace-based Validation Dispatching Language (NVDL)

1. 適用範囲

JIS 4177-4は,名前空間に基づく検証委譲言語(NVDL)を規定する。NVDLスクリ プトが制御するのは、与えられたXML文書中の要素又は属性を,それらの名前 空間に従って異なる検証器に委譲することとする。NVDLスクリプトは,これら の検証器がどのスキーマを用いるかも指定する。これらのスキーマは,JIS 4177によって規定されるスキーマ言語を含めて,どんなスキーマ言語で書いて もよい。

備考 この規格の対応国際規格を,次に示す。なお,対応の程度を表す記号は, ISO/IEC Guide21に基づき,IDT(一致している),MOD(修正している),NEQ (同等でない)とする。

ISO/IEC 19757-4:2006,Document Schema Definition Languages (DSDL) - Part 4: Namespace-based validation dispatching language - NVDL (IDT)

[以降省略]