0

xslt 2.0 を使用しています。1 つは html を出力し、もう 1 つは xml を出力する 2 つのメイン スタイルシートによってインポートされる共通の xslt ファイルを使用できますか?

たとえば、common.xsl があるとします。xml を xml に変換します。

次に、main_output_xml.xsl があります。これにより common.xsl がインポートされ、その出力形式は xml になります。

main_output_html.xsl もあります。これにより、common.xsl もインポートされますが、出力形式は html になります。

これは可能ですか?

4

2 に答える 2

0

短い:「はい」。

Long: 名前付き出力を使用します。

まず、XSLT のトップ レベルでさまざまな出力オプションを定義します。

「20 シリアライゼーション。...スタイルシートには複数の xsl:output 宣言が含まれている場合があり、xsl:output 宣言も含むスタイルシート モジュールをインクルードまたはインポートする場合があります。宣言の名前は、xsl:outputその name 属性の値です (存在する場合)。」

<xsl:output name="text" method="text" indent="no" encoding="utf-8" />
<xsl:output name="default" indent="no" method="html"  encoding="utf-8" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
     doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN" />

次に、結果ドキュメント出力で定義されたnameメソッドの 1 つを使用します。

<xsl:result-document href="output_file.txt" format="text">
...
</xsl:result-document>

「19.1 最終結果ツリーの作成 ...xsl:result-document命令は結果ツリーの URI を定義し、オプションで、このツリーをシリアル化するために使用する出力形式を指定することができます。」

于 2013-08-24T23:51:45.537 に答える