演習 1.3: XML ファイルの作成および編集
この演習を始める前に、『演習 1.2: DTD のカスタマイズ』を完了してください。
チュートリアルのこのセクションでは、DTD を基にした (また、それに関連付けられた) XML ファイルを生成し、それを編集する方法を示します。
チュートリアルのこのセクションでは、以下の作業を行います。
- DTD を基にした XML ファイルを生成する。
- 文法制約をオン/オフにして、「設計」ビューでファイルを編集する。
- 「ソース」ビューでファイルを編集する。
DTD を基にした XML ファイルを生成する
ご使用の DTD ファイルから XML ファイルを生成するには、以下のステップに従います。
- 「ナビゲーター」ビューで、処理対象の CDTitle ファイルを右クリックし、そのポップアップ・メニューから「生成」 > 「XML ファイル」の順にクリックします。
- ご使用のプロジェクトを選択し、デフォルト名を受け入れます。
「次へ」をクリックします。
-
「ルート・エレメントの選択」ページのデフォルト値を受け入れます。
CDLib のルート・エレメントと一緒に XML ファイルが生成され、生成済みのエレメントにはサンプル・データが含まれます。
- 「終了」をクリックします。
XML ファイルが「ナビゲーター」ビューに表示され、デフォルトにより、XML ソース・ページ・エディターで自動的に開かれます。
そのファイルを XML エディターで処理するには、ファイルを閉じ、「ナビゲーター」ビューでこのファイルを右クリックしてから、 「アプリケーションから開く」>「XML エディター」の順にクリックする必要があります。
XML ファイルには、選択したルート・エレメントとそのルート・エレメントに含まれる任意のエレメントまたは属性のみが含まれます。
ここで、エレメント、属性、エンティティー、および表記を XML ファイルに追加できますが、それらは、XML ファイルの作成に使用した DTD 内で設定した規則に従っていなければなりません。
「オプションのエレメントの作成」を選択しなかったため、生成済み XML ファイルにはフォーマット・エレメントは含まれません。
「設計」ビューでの編集
「設計」ビューで、DTD または XML スキーマ によって定義された制約のセット (つまり規則のセット) を備えている XML ファイルを編集する場合、それらの制約をオンまたはオフにすることができます。
制約をオン にすると、無効なエレメントの追加や必要なタグの除去といった、DTD の規則に違反する変更は行うことができません。
また、このモードでは、ガイド付き編集オプションを使用できます。
制約をオフ にすると、DTD の規則に関係なく、任意のエレメントまたは属性を挿入したり、削除したりできます。
このモードで処理する方が早いことは明らかですが、エラーを招く可能性があるため、意識的に適宜 XML ファイルの妥当性検査を行う必要があります。
CDTitle.xml ファイルは、CDTitle.dtd ファイル内の規則によって制約されています。
次に、初めは制約をオンにして、次はオフにして、CDTitle.xml ファイルを「設計」ビューで編集してみましょう。
- 必要に応じて、XML エディターで CDTitle.xml を開きます (そのためには、「ナビゲーター」ビューでこのファイルを右クリックしてから、「アプリケーションから開く」>「XML エディター」の順にクリックします)。
- 「設計」ビューで、CDLib エレメントを選択し、それを展開します。
- CD エレメントのコンテンツを編集します。
artist の値を John Brown、description を オペラ、そして price を 15.00 に変更します。
- 現在、CDTitle.xml には 1 つの CD しか含まれていません。
別のものを追加しましょう。
- CDLib を右クリックしてから、「子の追加」> CD の順に選択します。
- 新規 CD エレメントが自動的に追加され、これには、artist、description、および price の 3 つのエレメントが含まれます。
- artist の値を Jane Smith、description を クラシック、price を 20.00 に変更します。
- 「ファイル」 > 「保管」の順にクリックして、変更を保管します。
- これで、特定のエレメントおよび属性を最初の CD エレメントに追加したり、それから除去してみることができます。
- artist を右クリックします。
artist は必須エレメントなので、メニュー・オプションの「除去」は使用不可になっています。
(これは、ご使用の DTD ファイルで指定されています。)
-
description と price を右クリックします。
これらも必須項目なので、メニュー・オプションの「除去」は使用不可になっています。
- CD を右クリックして、「子の追加」を選択します。
他の artist を追加するオプションがありますが、別の description または price の追加オプションはありません。
別の description または price を追加するオプションは使用不可です。これは、CDTitle.dtd で、これらの項目のオカレンスは CD エレメント内で 1 回しか作成されないと指定したためです。
しかし、artist エレメントは 1 つ以上持てると指定したので、別の artist の追加を選択できます。
-
次に、文法制約をオフにして、CDTitle.xml の編集を続行します。
「XML」>「文法制約をオフにする」の順にクリックします。
-
最初の CD エレメント内の artist を右クリックして、「除去」をクリックします。
文法制約がオフになっているので、この必須エレメントを除去することができます。
- 最初の CD エレメント内の description を右クリックして、「除去」をクリックします。
-
最初の CD エレメントを右クリックして、「子の追加」を選択します。
今回は、他の price を追加するオプションが有効です。
price をクリックします。
- ファイルを保管します。どのような構文エラーがあっても保管することができることに注意してください。これは、制約をオフにしているからです。
- 「ナビゲーター」ビューで、XML ファイルを右クリックし、「XML ファイルの妥当性検査」をクリックします。お客様の操作によってファイル内に生じたエラーが「問題」ビューにリストされます。
「ソース」ビューでの編集
次に、「ソース」ビューで、Invoice.xml ファイルを編集して、ファイル内に生じたエラーを修正しましょう。
- 「XML」>「文法制約をオンにする」の順でボタンをクリックして、文法制約をオンに戻します。
- 「ソース」タブをクリックして、「ソース」ビューに切り替えます。
- カーソルを最初の CD エレメントの最初のタグ <CD> の後ろに位置付けます。
- Ctrl + Space を押して、コード・アシストを活動化します。
コンテキストを基にした選択可能な項目のポップアップ・リストが表示されます。
- artist をダブルクリックします。
- <artist> タグの間に John Brown と入力します。
- artist タグの後ろにカーソルを置き、コード・アシストをアクティブにします。
description をダブルクリックします。
- description タグの間に オペラ と入力します。
-
変更していない price エレメントのコードを選択して、それを削除します。
- ファイルを保管します。
-
「ナビゲーター」ビューで、XML ファイルを右クリックし、「XML ファイルの妥当性検査」をクリックします。これで、ファイルは有効になり、該当の「問題」ビューにエラーが表示されなくなります。
ファイルのソース・コードは次のように表示されるはずです。

これで、『演習 1.4: XSL スタイル・シートの作成および編集』を開始する準備ができました。