2017-08-14 9 views
-2

"if" "Like"文またはxsltに相当する文に基づいてxmlを書き出すことはできますか?XSLTでlike文や同等の処理を行う方法

私は "cust_code"という名前の要素を持っています 要素が "HE"で始まっている場合は書き出したい、そうでなければ次へジャンプします。

可能ですか?

+0

[XSLTでif-else文を実装する方法は?](https://stackoverflow.com/questions/13622338/how-to-implement-if-else-statement-in-xslt) – kjhughes

+0

あなたの質問は定かでない。 [mcve]を入力してください。 XSLTには、次の*へのジャンプ*メカニズムはありません。あなたの説明から判断すると、テンプレートを "*書き出したい"ノードだけに適用するほうがはるかにエレガントです。 –

答えて

1

IfステートメントがXSLTに存在します。

<xsl:if test="..."> 
    ... 
</xsl:if> 

しかし、これは単純なifです。

あなたがif ... else ...またはswitch ... case ...に相当したい場合は、以下を使用する必要があります。

<xsl:choose> 
    <xsl:when test="..."> 
    </xsl:when> 
    <xsl:otherwise> 
    </xsl:otherwise> 
</xsl:choose> 

あなたは必要な数when例を持つことができます。

リンク:w3school - ifおよびw3school - choose

特定の文字列で始まる要素を持つことについては、関数starts-withを見てください。 this SO answerに良い例があります(文字列でではなく、が特定の文字列で始まっているので、主な回答からはnotを省略してください)。詳細についてはthis answerをご覧ください。

+0

ありがとうございます。 私はxsltで前にifステートメントを実行していますが正常に動作します。 要素値に最初の2文字 "HE"が含まれているかどうかを確認したいが、完全な要素値は "He2345567"のようになる "HE"で始まる場合のみ書きたい –

+0

@ NathanFuller私がリンクした他の答えは 'starts-with'関数の使い方を示しています。例えば、 ... 'とすることができます。 – AntonH

+0

ありがとうAnton これは私が必要としていたものです。 幻想的に動作します。 –

関連する問題