2

大きな Microsoft InfoPath ドキュメントを編集しています。InfoPath は、フォーム レイアウトに XSLT を内部的に使用します。GUI は非常に扱いにくいので、XSLT を使用して内部のスタイルシートを編集することでプロセスを高速化したいと考えています。ここで興味深い XSLT の問題があります。ある XSLT スタイルシートを別の XSLT スタイルシートにどのように適用するのでしょうか? ここから始めましょう:

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">

  <xsl:output method="xml" indent="yes"/>

  <xsl:strip-space elements="*"/>

  <xsl:template match="@*|node()">
    <xsl:copy>
      <xsl:apply-templates select="@*|node()"/>
    </xsl:copy>
  </xsl:template>

  <xsl:template match="select">
    ...
  <xsl:template>

</xsl:stylesheet>

つまり、すべてをコピーしますが、<select> 要素を変更します。「選択」テンプレートでは、XSLT のチャンクが必要です。ただし、その XSLT を処理したくありません。しかし、出力が引き続きスタイルシートとして機能するように、XSLT 名前空間が必要です。

XSLT チャンクの名前空間 URI を任意に設定し、後でそれを XSLT 名前空間 URI に変更できると思いますが、それには追加の手順が必要です。これを行うより良い方法はありますか?

4

2 に答える 2