スキーマでのXML

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のプロパティ、Namespacetrueに設定する必要があります。

スキーマに関連付けられた文書を取り込むときに、構造化アプリケーションを使用リストで構造化アプリケーションを表示できるようにするには、スキーマのルートエレメントをXmlApplicationエレメントにあるアプリケーションのDOCTYPEに含める必要があります。

スキーマからエレメントカタログ(EDD)を生成する

スキーマ定義から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名前空間を表示または編集する

XML名前空間とは、1つのXML文書内で特定のエレメントタイプや属性名を示す名前の集合です。名前空間の有効範囲は、その名前空間が含まれている文書を超えて拡大します。

1つのXML文書には、複数のソフトウェアアプリケーションで使用可能なエレメントや属性が含まれている場合があるので、名前空間を使用して、それぞれのアプリケーションで使用するエレメントや属性を区別することができます。XMLを処理するソフトウェアアプリケーションでは、名前空間を使用して、どのタグや属性を処理するのかを認識します。

XML名前空間の名前は、名前空間の接頭辞部分とローカル部分をコロンで区切った修飾名として指定します。接頭辞は、Uniform Resource Identifier(URI)の参照にマップされ、名前空間を選択します。世界共通で管理されているURI名前空間と、文書独自の名前空間の組み合わせによって、世界中で一意の識別子を作成します。

FrameMakerでのXML名前空間の使用

FrameMakerでは、XML文書のすべてのエレメントについて名前空間がサポートされています。名前空間が含まれているXML文書を取り込んだ場合は、すべての名前空間情報が維持されます。

「名前空間」コマンドを使用して、構造化FrameMaker内のXML文書に名前空間を表示、編集、追加、または削除することができます。また、このコマンドを使用すると、エレメントタグの接頭辞の定義を表示し、接頭辞を定義しているエレメントを選択することもできます。

初期設定では、FrameMakerの名前空間は、名前空間ダイアログボックスに表示される名前空間として扱われます。ただし、アプリケーション内の名前空間を無効にして、構造図に表示される属性として名前空間を扱うこともできます。

1)構造化FrameMakerで文書を開きます。

2)構造図でエレメントを選択します。

注: 構造図では、名前空間が含まれているエレメントは、エレメント名の横にアスタリスク(*)が表示されます。

3)エレメント/名前空間を選択します。

4)名前空間ダイアログボックスで、「定義エレメントを選択」をクリックし、構造図で選択したエレメントに対応する名前空間を表示します。

5)「宣言された名前空間」、「接頭辞」または「パス」に必要な変更を加え、「追加」、「変更」または「削除」のいずれかをクリックします。変更内容を保存せずに終了する場合は、オプションをクリックせずにダイアログボックスを閉じます。


August 22, 2018

Legal Notices | Online Privacy Policy