9

<xsl:if test="expression">この疑似コードのような操作の順序を実行するために、複数の式をまとめたい場所を使用して if ステートメントを結合しようとしています。

if (Number != '' and (Name != '' or PreferredName != '')) {// code here}

基本的に私はこれを次のようにしたい<xsl:if>:

<xsl:if text="Number != '' and (Name != '' or PreferredName != '')">

どこにも見たことがないので、そのようなことexpressionはできないと思います。()Web 上で式の構文を簡単に見つけることができませんでした。XPath かもしれませんが、XPath が()式のグループ化をサポートしているかどうかはわかりません。私は XSL/XML/XSD の専門家ではないので、その式が XPath なのか、それとも何なのかわかりません。

<xsl:if>可能であればネストされたステートメントを実行したくないので、 <xsl:if>notに固執したいと思い<xsl:choose>ます。

これはおそらく簡単な答えだと思いますが、ここで立ち往生しています。ありがとう。

4

1 に答える 1

11

xsl:ifスターターの条件ステートメントには、xsl:templateまたは他の xsl 要素が親として必要です。
構文は次のようになります。

<xsl:template>
    ... preliminary xsl statements ...
    <xsl:if test="Number != '' and (Name != '' or PreferredName != '')">
        ... further xsl statements (the code you were referring to ...
    </xsl:if>
    ... other xsl stataments ...
</xsl:template>

さらにアドバイス: xslt の使用法、特にテンプレートとそのアプリケーション (および一種の自動ループ) を調べてください。

于 2012-05-15T16:44:45.807 に答える