1

XMLをPDFに変換するために現在使用しているスタイルシートは非常に大きくなり、制御できなくなりました。メンテナンスの悪夢になっています。

このスタイルシートは、機能に応じてさまざまなスタイルシートに分割して再設計する予定です。1つのメインxslと3〜4つのセカンダリxslが必要です。メインxslのいくつかの条件に基づいて、適切なセカンダリxslにジャンプする必要があります。それは可能ですか?

更新:バージョン1.0を使用しています

編集:XMLからpdfを生成するためにapachecocoonを使用しています。着信XMLを前処理し、これを処理するXSLを決定する方法があるかどうか疑問に思っていました(XMLのパラメーターに基づいて)?

4

2 に答える 2

2

「メインの xsl ... 適切なセカンダリ xsl にジャンプする」よりも、それぞれが 1 つのスタイルシート モジュールで表されるいくつかのタスク指向のエントリ ポイントを用意してから、それらの間で共有されるものを含む共通のモジュールを用意する方がよいことに気付くかもしれません。異なるエントリーポイント。これにより、xsl:import の利用がはるかに簡単になります。各タスク指向のスタイルシートは、共通のスタイルシートをインポートし、特定のタスクに適切でない共通のスタイルシート内のすべてをオーバーライドします。

于 2013-01-28T14:25:05.147 に答える
1

XSLT 1.0 では、xsl:importまたはxsl:include( http://www.w3.org/TR/xslt#section-Combining-Stylesheets ) を使用して、スタイルシート モジュールを記述し、それらをメイン スタイルシートに組み込むことができます。

ただし、「適切なセカンダリ xsl にジャンプする」という用語の使用は、むしろ手続き的に聞こえます。私にとって、XSLT は主に、入力内のノードに一致するテンプレートを作成し、これらの一致するテンプレートにノードを .xml を使用してプッシュすることに関するものxsl:apply-templatesです。これらのテンプレートが別のファイルにあるかどうかは、インポートの優先順位を除いて、ほとんどの場合問題ではありません。 http://www.w3.org/TR/xslt#apply-importsxsl:apply-importsを参照してください。

于 2013-01-28T11:15:36.033 に答える