0

私は xslt で作業しています。次のように、文字列を別の文字列でテストする必要があります。

<xsl:if test="$mesg = 'this is message of method add*'">
    ....
    ....
    .....
</xsl:if>

上記のコードに追加したテキストで「mesg」変数の内容をテストする必要があります。現在、「*」ワイルドカード文字を使用してみました。しかし、うまくいきません。

よろしくお願いします、BSalunke

4

1 に答える 1

2

XSLT 1.0 には「ワイルドカードのサポート」はありませんが、XSLT 2.0 では正規表現のサポートが導入されています。すでに指摘したように、XSLT 1.0 を使用した簡単なチェックには、テストするだけで十分です。

<xsl:if test="starts-with($mesg, 'this is a message of method add')">

XSLT 2.0 に切り替えると (Saxon 9 や AltovaXML などの XSLT 2.0 プロセッサを使用して)、次のようなmatches関数と正規表現を使用できます。

<xsl:if test="matches($mesg, '^this is a message of method add.*')">
于 2012-10-30T10:23:13.077 に答える