この文書は、W3C 標準情報 (TR) の作業ドラフト (WD)、"Datatypes for DTDs (DT4DTD) 1.0" <http://www.w3.org/TR/2000/NOTE-dt4dtd-20000113> を ToyFish.Net が独自に翻訳したものです。この仕様書の正式なものは W3C のサイトにある英語版であり、その著作権は W3C が保有しています。また、翻訳に誤りがある可能性に留意してください。
誤訳・誤植を発見された方は ToyFish.Net までお知らせください。
翻訳の最終更新日: 2000 年 2 月 2 日
Copyright ©1999-2000 Extensibility, Charles F. Goldfarb, Paul Prescod.
この文書で提示されている仕様を使うと、現段階では独自の DTD マーク付け宣言を XML スキーマに変換できないレガシーシステムで、XML スキーマに適合する データ型を利用することができます。この仕様を使うことで、DTD 作成者が 属性値やデータ内容のデータ型を指定でき、それによって、将来の 移行過程をよりスムーズに行えるようにするための基盤を用意することが できます。
注: SAX および DOM の両方でこの仕様をサポートする無償のオープンソース コードが www.extensibility.com/dt4dtd で入手できます。
この文書は Extensibility, Inc. から World Wide Web Consortium への 提案です (提案要求 (Submission Request)、 W3C スタッフのコメント (W3C Staff Comment) を 参照してください)。受理されたすべての提案を載せた完全なリストについては W3C が受理した提案 (Acknowledged Submissions to W3C) を 参照してください。
この文書は議論のためのみに W3C によって公開される覚書 (NOTE) です。 この作業は、W3C 会員組織による支持や同意を示すものではなく、 この覚書 (NOTE) で示された問題に対して W3C が過去、現在、将来において 何らかの資源を割り当てることを示すものでもありません。 この文書は進行中の作業であり、いつでも他の文書によって、更新されたり、置き換えられたり、 破棄扱いとされることがあります。
現在の W3C 技術文書の一覧は、技術文書 (Technical Reports) のページを参照してください。
データ型宣言は、"a-dtype" ないし "e-dtype" という名前の 固定の属性です。固定である "a-dtype" のデフォルト値は、 次の書式に従って名前/値の対をつなげたものになっていなければなりません。
固定である e-dtype のデフォルト値は、名前ひとつのみになっていなければ なりません。
例を示します。
<!ATTLIST person birthdate CDATA #IMPLIED height CDATA #IMPLIED e-dtype CDATA #FIXED "social-security-number" a-dtype CDATA #FIXED "pubdate date binding length">
attrNames はその要素型の同じ個所の属性リスト宣言で 宣言されている属性の名前です。続く dtypeName が その名前に関連付けられます。
e-dtype 属性は、関連付けられた要素型の内容に データは置けるが下位要素は置けない場合にのみ 宣言することができます。dtypeName はその型の要素の データ内容に関連付けられます。
注: "dtype" 属性は文書インスタンスではなく DTD で意味を持つものであるため、 XML 名前空間とは異なる記法によっています。DTD を読み書きするアプリケーションは、 DTD 宣言の入った実体の中の属性を、名前空間宣言によって文書を解析せずに 認識できなければなりません。要素型に適用される名前空間宣言の組は 文脈によって変わることがあり、一般に DTD では認識できません。
dtypeName はその DTD で宣言されている記法の名前でなければならず、 その記法宣言には URI 参照のシステム識別子が入っていなければなりません。 ただし、処理の文脈からデータ型の名前が何らかの形で情報システムにわかっている 場合には、この記法宣言は省略可能です。W3C XML スキーマ (Schema) 仕様で規定された データ型についての記法宣言は常に省略可能です。すべての情報システムは、 XML スキーマのデータ型をかならず認識しなければなりません。
dtypeNames に対して明示的に記法が指定されている場合、 それが関連付けられるシステム URI は次のいずれかを参照しなければ なりません。
関連付けられる URI 参照の参照先を、XML スキーマ (XML Schema) の datatypeDefn にすることができます。 この場合、適合処理系は XML スキーマ (XML Schema) 仕様にしたがって 属性値やデータ内容の妥当性検証を行わなければなりません。
関連付けられる URI の参照先を、以下の宣言で定義されている XML-Data の データ型にすることができます。これらの宣言は直接行っても 実体参照を通じて行ってもかまいません。
<!NOTATION string SYSTEM "urn:schemas-microsoft-com:datatypes/string"> <!NOTATION number SYSTEM "urn:schemas-microsoft-com:datatypes/number"> <!NOTATION int SYSTEM "urn:schemas-microsoft-com:datatypes/int"> <!NOTATION float SYSTEM "urn:schemas-microsoft-com:datatypes/float"> <!NOTATION fixed.14.4 SYSTEM "urn:schemas-microsoft-com:datatypes/fixed.14.4"> <!NOTATION boolean SYSTEM "urn:schemas-microsoft-com:datatypes/boolean"> <!NOTATION dateTime.iso8601 SYSTEM "urn:schemas-microsoft-com:datatypes/date.type.iso8601"> <!NOTATION dateTime.iso8601tz SYSTEM "urn:schemas-microsoft-com:datatypes/dateTime.iso8601tz"> <!NOTATION date.iso8601 SYSTEM "urn:schemas-microsoft-com:datatypes/date.iso8601"> <!NOTATION time.iso8601 SYSTEM "urn:schemas-microsoft-com:datatypes/time.iso8601"> <!NOTATION time.iso8601.tz SYSTEM "urn:schemas-microsoft-com:datatypes/time.iso8601.tz"> <!NOTATION i1 SYSTEM "urn:schemas-microsoft-com:datatypes/i1"> <!NOTATION i2 SYSTEM "urn:schemas-microsoft-com:datatypes/i2"> <!NOTATION i4 SYSTEM "urn:schemas-microsoft-com:datatypes/i4"> <!NOTATION i8 SYSTEM "urn:schemas-microsoft-com:datatypes/i8"> <!NOTATION ui1 SYSTEM "urn:schemas-microsoft-com:datatypes/ui1"> <!NOTATION ui2 SYSTEM "urn:schemas-microsoft-com:datatypes/ui2"> <!NOTATION ui4 SYSTEM "urn:schemas-microsoft-com:datatypes/ui4"> <!NOTATION ui8 SYSTEM "urn:schemas-microsoft-com:datatypes/ui8"> <!NOTATION r4 SYSTEM "urn:schemas-microsoft-com:datatypes/r4"> <!NOTATION r8 SYSTEM "urn:schemas-microsoft-com:datatypes/r8"> <!NOTATION float.IEEE.754.32 SYSTEM "urn:schemas-microsoft-com:datatypes/float.IEEE.754.32"> <!NOTATION float.IEEE.754.64 SYSTEM "urn:schemas-microsoft-com:datatypes/float.IEEE.754.64"> <!NOTATION uuid SYSTEM "urn:schemas-microsoft-com:datatypes/uuid"> <!NOTATION uri SYSTEM "urn:schemas-microsoft-com:datatypes/uri"> <!NOTATION bin.hex SYSTEM "urn:schemas-microsoft-com:datatypes/bin.hex"> <!NOTATION char SYSTEM "urn:schemas-microsoft-com:datatypes/char"> <!NOTATION string.ansi SYSTEM "urn:schemas-microsoft-com:datatypes/strin.ansi">
関連付けられる URI の参照先は、任意の処理文脈中で使うために 制定されたその他任意の記法にすることができます。 必須ではありませんが、このような参照先を、プログラムによって 妥当性を検証できるのであれば Java クラス や XSL スタイルシート などにすることができます。
この仕様には、すでに組み込まれている基盤をサポートしたり、あるいは 閉じた情報システムで仕様をカスタマイズすることができるようにする ために、ある種の必須ではない機能があります。この節では、 ワールドワイドウェブ上での事前情報のない (事前の打ち合わせのない) 情報交換で 使用されるべきサブセット、「厳密適合サブセット (Strict Conformance Subset)」を 定義します。
厳密サブセットに適合する DTD には、W3C の XML スキーマ仕様で 宣言されているデータ型を除き、データ型宣言内で使われている すべての dtypeName に対して記法宣言を行います。 また、明示的な適合性宣言を一度行います。
適合性宣言を使用するのは DTD でのみでなければならず、そうでない場合は 厳密サブセットには適合しません。この宣言は、 URI が "http://www.w3.org/TR/1999/dt4dtd" の記法宣言です。
適合性宣言がある場合は、DTD 宣言の集合の中で最初の属性リスト宣言より 前になければなりません。人間にとって読みやすくするため、 適合性宣言は "dt4dtd" という名前にすることを提案します。
NOTE: 情報集合のコントリビューション (Information Set Contributions) の 原則は W3C XML スキーマ仕様で制定されています。
この仕様をサポートする情報集合では、