この文書は、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 日


W3C

DTD のためのデータ型 (DT4DTD) 1.0

W3C 覚書 (NOTE) 2000 年 1 月 13 日

この版:
http://www.w3.org/TR/2000/NOTE-dt4dtd-20000113
最新版:
http://www.w3.org/TR/dt4dtd
編集者:
Lee Buck、Extensibility <leebuck@extensibility.com>
Charles F. Goldfarb、The XML Handbook™ <charles@xmlbooks.com>
Paul Prescod、ISOGEN International <paul@isogen.com>

概要

この文書で提示されている仕様を使うと、現段階では独自の 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) のページを参照してください。

目次

1. データ型宣言
2. ユーザ定義のデータ型
2.1 XML スキーマのデータ型
2.2 XML-Data のデータ型
2.3 その他のデータ型
3. 厳密な適合性
3.1 適合性宣言
4. 情報集合のコントリビューション

1. データ型宣言

データ型宣言は、"a-dtype" ないし "e-dtype" という名前の 固定の属性です。固定である "a-dtype" のデフォルト値は、 次の書式に従って名前/値の対をつなげたものになっていなければなりません。

属性値のデータ型指定


[1]a-dtype::=S? ( attrName S dtypeName ) (S attrName S dtypeName)* S?
[2]dtypeName::=NCName

固定である e-dtype のデフォルト値は、名前ひとつのみになっていなければ なりません。

内容のデータ型指定


[3]e-dtype::=dtypeName

例を示します。


<!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 スキーマのデータ型をかならず認識しなければなりません。

2. ユーザ定義のデータ型

dtypeNames に対して明示的に記法が指定されている場合、 それが関連付けられるシステム URI は次のいずれかを参照しなければ なりません。

2.1 XML スキーマのデータ型

関連付けられる URI 参照の参照先を、XML スキーマ (XML Schema) の datatypeDefn にすることができます。 この場合、適合処理系は XML スキーマ (XML Schema) 仕様にしたがって 属性値やデータ内容の妥当性検証を行わなければなりません。

2.2 XML-Data のデータ型

関連付けられる 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">

2.3 その他のデータ型

関連付けられる URI の参照先は、任意の処理文脈中で使うために 制定されたその他任意の記法にすることができます。 必須ではありませんが、このような参照先を、プログラムによって 妥当性を検証できるのであれば Java クラス や XSL スタイルシート などにすることができます。

3. 厳密な適合性

この仕様には、すでに組み込まれている基盤をサポートしたり、あるいは 閉じた情報システムで仕様をカスタマイズすることができるようにする ために、ある種の必須ではない機能があります。この節では、 ワールドワイドウェブ上での事前情報のない (事前の打ち合わせのない) 情報交換で 使用されるべきサブセット、「厳密適合サブセット (Strict Conformance Subset)」を 定義します。

厳密サブセットに適合する DTD には、W3C の XML スキーマ仕様で 宣言されているデータ型を除き、データ型宣言内で使われている すべての dtypeName に対して記法宣言を行います。 また、明示的な適合性宣言を一度行います。

3.1 適合性宣言

適合性宣言を使用するのは DTD でのみでなければならず、そうでない場合は 厳密サブセットには適合しません。この宣言は、 URI が "http://www.w3.org/TR/1999/dt4dtd" の記法宣言です。

適合性宣言がある場合は、DTD 宣言の集合の中で最初の属性リスト宣言より 前になければなりません。人間にとって読みやすくするため、 適合性宣言は "dt4dtd" という名前にすることを提案します。

4. 情報集合のコントリビューション

NOTE: 情報集合のコントリビューション (Information Set Contributions) の 原則は W3C XML スキーマ仕様で制定されています。

この仕様をサポートする情報集合では、


翻訳: ToyFish.Net