DTD ファイルから XML スキーマを生成すると、 ユーザーの DTD ファイルに含まれていたエレメントと属性を自動的に取り込んだ XML スキーマを作成できるようになります。 このため、DTD ファイルに既にセットアップ済みの規則を使用しながら、 DTD ファイルでなく XML スキーマを使用して XML ファイルの検証を行いたい場合に、時間を節約できます。
次の説明は Resource パースペクティブを対象にしていますが、他のさまざまなパースペクティブでも使用できます。
DTD ファイルから XML スキーマ・ファイルを生成するには、以下のステップに従います。
ナビゲーター・ビューにスキーマが表示されます。 これらの スキーマの名前は、生成元の DTD ファイルと同じです (XML スキーマの生成時に「ファイル 名 (File name)」フィールドのデフォルト値を受け入れた場合)。
DTD ファイルにあったエンティティーは、XML スキーマには ありません (エンティティーとしては XML スキーマではサポートされていません)。 ただし、エンティティーを参照したすべてのエレメントまたは属性は、その値をXML スキーマへ繰り越します。
たとえば、「Legal」という名の DTD を持っていて、それに「Copyright」という名の エンティティーが含まれているとします。 そのエンティティーの値は「Copyright 2004. MyCompany Publishing」です。 DTD には、 エンティティー Copyright を参照する「MyCopyright」という名のエレメントがあります。 XML スキーマ作成後、Copyright エンティティーは XML スキーマ内に表示されませんが、 その値は繰り越されます (つまり、MyCopyright は Copyright 2004. MyCompany Publishing の値を持ちます)。
DTD ファイルに存在したすべてのエレメントおよび属性は、XML スキーマ・ファイルに存在することになります。
(#PCDATA) のコンテンツ・モデル (属性なし) を持つ DTD 内のエレメントは、 XML スキーマ・エディター内で空と表示されます。 これらは、string の「組み込み 単純タイプ (Built-in simple types)」を持っているとマークされます。 つまり、「#PCDATA」の値を持つ DTD エレメントは、 XML スキーマのプリミティブ・タイプ string を持つ XML スキーマ・エレメントへマップします。