1

現在無数のケースで使用されている XSLT があるとします。現在何も持っていないことを考えると、<xsl:template match="/">; 次のテンプレートを追加すると何かに干渉しますか?

<xsl:template match="/">
    <xsl:choose>
        <xsl:when test="some condition which is only true for new cases"></xsl:when>
        <xsl:otherwise>
            <xsl:apply-templates />
        </xsl:otherwise>
    </xsl:choose>
</xsl:template>

私が尋ねている理由は、現在使用されていて壊れてはならない巨大な XSLT ファイルがあり、それにいくつかの新しい変換を追加する必要があるからです。ルートでいくつかの決定を下すと、物事がはるかに簡単でクリーンになります。

テンプレート マッチングが存在しない場合は/、 に相当するデフォルト テンプレート<xsl:apply-templates />が適用されると言われました。したがって、私の理解が正しいかどうかを確認したいだけで、これは(テストが新しいケースにのみ当てはまる限り)既存の変換を壊すことはありません。

4

1 に答える 1

1

そうです、ルート テンプレート "/" 内で条件を処理し、"通常の" 処理のためにテンプレートを適用するだけです。

ただし、「/」に一致する既存のルート テンプレートを確認してください。おそらく、次のテンプレートを適用するだけではありません。

于 2012-08-27T13:19:23.200 に答える