大きな 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 に変更できると思いますが、それには追加の手順が必要です。これを行うより良い方法はありますか?