Adobe FrameMaker の XSLT 変換について説明します。
FrameMaker では、XML を処理するためのオプションを提供しています。 また、FrameMaker は XSL 変換に対応する XML の読み込みや書き出し、および文法定義とルール定義用のスキーマ言語を許可します。参照先スキーマから自動的に Document Type Definition(DTD)を作成してスキーマを使用する XML 文書を取り込むことや、スキーマ定義から直接 Element Definition Document(EDD)を作成することができます。 読み込みと書き出し時に、関連付けられているスキーマに照らして検証することもできます。
XSL(EXtensible Stylesheet Language)は、XML 文書用のスタイルシート言語です。 XSLT(Extensible Stylesheet Language Transformation)は、XSL で定義した変換を XML 文書に適用するための手段です。
XSL は次の 3 つの仕様で構成されています。
XML 文書を変換するための言語。
XML 文書内でナビゲーションをするための言語。
XML 文書を書式設定するための言語。
FrameMaker には XSLT プロセッサーが含まれています。これを利用すると、XSLT ファイルを XML 構造化アプリケーションや XML 文書に関連付けて、XML からの取り込みまたは XML への書き出しを行うときに、その文書で定義された変換を適用できます。FrameMaker では、W3C XSLT 3.0 勧告をサポートしています。 XSLT プロセッサーを変更するには、maker.ini ファイルを編集するか、構造化アプリケーション内から変更します。
構造化アプリケーション(XMLApplication
の Stylesheets
エレメントの XSLTPreferences
)の新しいエレメント(SmartPaste
、PreProcessing
、PostProcessing
)を使用すると、XSLT ファイルを XML 構造化アプリケーションの一部として指定し、取り込みおよび書き出しに使用できます。
xml-stylesheet
PI(processing instruction)により、XML マークアップ文書内で XSL ファイルを指定して、その文書を取り込むときに、構造化アプリケーションで指定された XSLT よりも優先させることができるようになりました。
取り込みの際には、初期設定の読み取りルールまたは定義した追加の読み取りルールの前に、XSL 変換が適用されます。 つまり、取り込みの際に XSL 変換を適用すると、新しいファイルが生成され、(XML ファイルの場合は)読み書きルールに渡される結果になります。
書き出しの際には、初期設定または明示的な書き込みルールの後に XSL 変換が適用されます。 書き出しの際に、読み書きルールを適用すると、新しい XML ファイルが生成され、有効な場合、XSLT プロセッサーに渡されます。
XSL を使用して XML ファイルからハイパーテキスト出力(XML または HTML)を作成することができます。 XML ファイル内で再利用可能な変換を作成し保存することができます。 再利用可能な変換には、XSLT の名前やパス、入出力ファイルのパスなどの情報が含まれます。
出力は、コンピューターにインストールされている解析を使用して作成され、maker.ini 設定によって FrameMaker に登録されます。 XALAN と SAXON が、FrameMaker によってデフォルトでコンピューターにインストールされます。 XALAN は XSLT 1.0 をサポートし、SAXON は XSLT 3.0 をサポートします。XALAN および SAXON は両方とも JAXP 準拠です。
SAXON は、XSL が直接実行されているか、変換固有の解析が指定されていない場合に使用されるデフォルトの解析です。 ただし、次のフラグを使用して、maker.ini ファイルで新しいデフォルトのプロセッサーを指定することができます。
[XSLTProcessors]
; processorName=jar path(all dependent jars should be in same dir), TransformerFactory class,
; default if default processor
; (if not specified – 1st processor would become default.)
XALAN=fminit\XSLT\XSLTProcessors\xalan\xalan-j_2_7_2-bin\xalan.jar,
org.apache.xalan.processor.TransformerFactoryImpl
SAXON=fminit\XSLT\XSLTProcessors\saxon\SaxonEE9-8-0-7J\saxon9ee.jar,
net.sf.saxon.TransformerFactoryImpl, Default
XSL 変換には、XML ファイルから出力を作成するための、XSL、解析、および出力フォルダーなどの情報が含まれます。 作成する変換は、XML ファイルに保存されます。 デフォルトおよびアプリケーション特有という 2 種類の変換があります。 デフォルトの変換は、TransformationFilePath フラグを使用して maker.ini ファイルで指定されたファイルに保存されます。アプリケーション固有の変換は、structapps.fm ファイルで構造化アプリケーションに指定した XML ファイルに保存されます。
XSLT ツールバーは、使用する変換の履歴を保持し、複数の XML ファイルから出力を作成するために拡張実行機能を使用できます。 ツールバーから、開いているファイルで変換\XSL を選択して実行することもできます。
A. クリックして XSL ファイルを選択します B. クリックして変換を選択します C. 選択した変換または XSL を実行します D. クリックして詳細実行ダイアログを表示します
maker.ini ファイルで、XSLTProcessors
セクションを検索します。
SAXON
プロセッサーのエントリには接尾辞(Default
)が入力されています。
XALAN=fminit\XSLT\XSLTProcessors\xalan\xalan-j_2_7_2-bin\xalan.jar,
org.apache.xalan.processor.TransformerFactoryImpl
SAXON=fminit\XSLT\XSLTProcessors\saxon\SaxonEE9-8-0-7J\saxon9ee.jar,
net.sf.saxon.TransformerFactoryImpl, Default
カット&ペーストして接頭辞を XALAN
プロセッサーのエントリに次のように移動します。
XALAN=fminit\XSLT\XSLTProcessors\xalan\xalan-j_2_7_2-bin\xalan.jar,
org.apache.xalan.processor.TransformerFactoryImpl, Default
SAXON=fminit\XSLT\XSLTProcessors\saxon\SaxonEE9-8-0-7J\saxon9ee.jar,
net.sf.saxon.TransformerFactoryImpl