DTD または XML スキーマの制約による編集

「設計」ビューで、DTD または XML スキーマによって定義された一連の制約 (すなわち規則の集合) を持つ XML ファイルを編集する際、 その制約をオンまたはオフにすることで、柔軟な編集方法が提供されます。 この場合にも、文書の妥当性が定期的に維持されます。

制約をオンにすると、「設計」ビューでの作業中に、XML スキ ーマまたは DTD の規則で許可されていない要素、属性、または属性値 の挿入が XML エディターによって禁止され、必須または事前定義されたタグ および値のセットが削除できなくなります。 このモードで XML エディターのガイド付き編集オプションを使用するには、 要素の内容が有効なものでなければなりません。

柔軟に作業する必要がある場合は、XML ファイルの制約をオフにしたい場合があります。 たとえば、DTD または XML スキーマとの関連を解除せずに、 関連した DTD または XML スキーマが許可しない要素や属性の使用を試すことができます。

XML ファイルの制約をオフにするには、「XML」>「文法制約をオフにする」とクリックします。 ファイルの制約をオフにすると、DTD または XML スキーマ規則とは関係なく、 任意の要素または属性を、挿入または削除できます。DTD またはスキーマにない新規要素や属性を作成できます。 これらの設計ビューのプロンプトは、制約をオフにした場合のみ表示されます。 ただし、オフにすると、ファイルは有効ではなくなることがあります。

次の説明は「リソース」パース ペクティブを対象にしていますが、他のさまざまなパースペクティブでも使 用できます。

DTD の制約をオフにした場合に、行うことのできる内容の例を以下に示します。

  1. XML エディター内の XML ファイルを開きます (「ナビゲーター」ビュー でそのファイルを右クリックして、そして「アプリケーシ ョンから開く」>「XML エディター」とクリックします)。
  2. ユーザーは、要素には少なくとも特定の子要素が 1 つ必要であることを指定する DTD を持っています。
    <!ELEMENT parentElement (childElement+)>
  3. DTD 制約がオンの状態で、 DTD に関連付けられた XML ファイルにある要素の最後の子要素を除去しようとすると、 この除去によって文書が無効になるため、エディターは除去を許可しません。 これは、要素のポップアップ・メニューを使用すると、 「除去」オプションがグレー化されていますので確認できます。
  4. DTD の制約をオフにするには、「XML」>「文法制約をオフにする」とクリックします。
  5. 制約がオフの状態で同じ子要素を除去すると、エディターは除去を許可します。
  6. 無効な文書を訂正するには、必要な要素を再度追加するか、無効なタグ付けまたは値を除去する必要があります。
ユーザーがエラーをユーザーのファイルに導入した場合は、そのエ ラーのリストを見るために、ファイルを保管して検証をしなければな りません。 それらは「問題」ビューにリストされます。エラーを修正した後、ファイルが有効になったか見るために、ファイルを保管して検証を再度行います。
関連概念
DTD および XML スキーマと XML ファイルの関連付け
関連タスク
DOCTYPE 宣言の編集
XML カタログへの項目の追加
DTD およびスキーマの変更による XML ファイルの更新
名前空間情報の編集