FrameMaker では、W3C の XML スキーマ言語に関連付けられた XML マークアップ文書を取り込むことができます。 FrameMaker は、スキーマから自動的に DTD と EDD を作成します。 FrameMaker は、XML との間のインポートおよびエクスポート時に、文書構造を関連付けられたスキーマによって検証しますが、エクスポート時には全スキーマ情報を保持しません。
スキーマが DTD にマップされる仕組みについて詳しくは、構造化アプリケーション開発者リファレンス』ガイドを参照してください。
注: 今回のリリースでは、以前 DTD で使用できたスキーマと同等のスキーマをサポートしています。 つまり、EDD は、DTD で使用できないスキーマの機能に対応するためには拡張されていません。 そのため、スキーマは読み取り専用で、EDD をスキーマに書き戻すことはできません。
スキーマファイルを参照する XML 文書を取り込むことや、XML への書き出しの際に文書の検証に使用するために、構造化アプリケーションでスキーマファイルを指定することができます。
1)特定の XML 文書用には、スキーマに対象の名前空間が含まれているかどうかによって、noNamespaceSchemaLocation または schemaLocation のいずれかの属性を使用して、XML 内にスキーマファイルのパスを指定します。
2)スキーマファイルを指定して XML の書き出しに使用するには、structapps.fm ファイルを修正します。 Schema エレメントを XMLApplication の一部として使用して、書き出し用のスキーマファイルのパスを提供します。
3)構造化アプリケーションを使用して、XML をフレームで開き、編集します。
4)構造化アプリケーションを使用して、XML を保存します。 structapps.fm ファイルの Schema エレメントがファイルに出力され、そのファイルに対して検証が実行されます。
このワークフローで、DTD が一時ファイルとしてスキーマから XML 文書に自動的に生成されますが、このファイルは修正しないでください。 ただし、スキーマファイルを使用して、EDD を生成することもできます。詳しくは、スキーマからエレメントカタログ(EDD)を生成するを参照してください。
XmlApplication エレメントの子エレメントである、新しいエレメント、Schema は、スキーマファイルのパスを structapps.fm 構造化アプリケーションファイルで指定します。 インスタンス文書で名前空間が使用される場合、XmlApplication のプロパティ、Namespace を true に設定する必要があります。
スキーマに関連付けられた文書を取り込むときに、構造化アプリケーションを使用リストで構造化アプリケーションを表示できるようにするには、スキーマのルートエレメントを XmlApplication エレメントにあるアプリケーションの DOCTYPE に含める必要があります。
スキーマ定義から EDD を作成するか、スキーマ定義からエレメントを既存の EDD に取り込むことができます。 FrameMaker では、最初にスキーマ定義が DTD に変換され、その次にエレメントが作成されたり、EDD に取り込まれたりします。
構造/スキーマメニューの次のコマンドを使用します。
•スキーマを開く: このコマンドにより、特定のスキーマが DTD に変換され、DTD から EDD が作成されます。
•スキーマを取り込み: このコマンドにより、特定のスキーマが DTD に変換され、DTD から既存の EDD へエレメントが取り込まれます。
各コマンドでは、スキーマファイルを指定できるファイルを選択ダイアログボックスが開かれ、その次に、生成される DTD ファイルの保存場所を指定できる保存ダイアログボックスが開かれます。
1)構造化 FrameMaker で、構造/スキーマ/スキーマを開くをクリックします。
2)スキーマファイルを選択します。
3)出力する DTD のパスを選択します。
4)生成された DTD を確認し、必要であれば修正を行います。
5)生成された DTD から EDD を作成します。(構造化アプリケーション開発者リファレンス』ガイドを参照してください)
6)この EDD を使用して、構造化アプリケーションに含めることができるテンプレートを作成します。
7)入力 XML で DTD パスとスキーマの場所を提供します。 これにより、FrameMaker でテンプレートが正しく使用できるようになります。 入力および出力 XML の検証は、スキーマに対して引き続き実行されます。
XML 名前空間とは、1 つの XML 文書内で特定のエレメントタイプや属性名を示す名前の集合です。 名前空間の有効範囲は、その名前空間が含まれている文書を超えて拡大します。
1 つの XML 文書には、複数のソフトウェアアプリケーションで使用可能なエレメントや属性が含まれている場合があるので、名前空間を使用して、それぞれのアプリケーションで使用するエレメントや属性を区別することができます。 XML を処理するソフトウェアアプリケーションでは、名前空間を使用して、どのタグや属性を処理するのかを認識します。
XML 名前空間の名前は、名前空間の接頭辞部分とローカル部分をコロンで区切った修飾名として指定します。 接頭辞は、Uniform Resource Identifier(URI)の参照にマップされ、名前空間を選択します。 世界共通で管理されている URI 名前空間と、文書独自の名前空間の組み合わせによって、世界中で一意の識別子を作成します。
FrameMaker では、XML 文書のすべてのエレメントについて名前空間がサポートされています。 名前空間が含まれている XML 文書を取り込んだ場合は、すべての名前空間情報が維持されます。
「名前空間」コマンドを使用して、構造化 FrameMaker 内の XML 文書に名前空間を表示、編集、追加、または削除することができます。 また、このコマンドを使用すると、エレメントタグの接頭辞の定義を表示し、接頭辞を定義しているエレメントを選択することもできます。
初期設定では、FrameMaker の名前空間は、名前空間ダイアログボックスに表示される名前空間として扱われます。 ただし、アプリケーション内の名前空間を無効にして、構造図に表示される属性として名前空間を扱うこともできます。
1)構造化 FrameMaker で文書を開きます。
2)構造図でエレメントを選択します。
注: 構造図では、名前空間が含まれているエレメントは、エレメント名の横にアスタリスク(*)が表示されます。
3)エレメント/名前空間を選択します。
4)名前空間ダイアログボックスで、「定義エレメントを選択」をクリックし、構造図で選択したエレメントに対応する名前空間を表示します。
5)「宣言された名前空間」、「接頭辞」または「パス」に必要な変更を加え、「追加」、「変更」または「削除」のいずれかをクリックします。 変更内容を保存せずに終了する場合は、オプションをクリックせずにダイアログボックスを閉じます。