0

以下に示す 2 つの xml とその xsl 定義があります。両方の xml に示されているように、Second.xml には存在するが First.xml には存在しないタグがあることをお知らせください。xsl を構成したい両方のケースで動作するはずの定義今はSecond.xmlでのみ動作していますxmlで値を取得できない場合があるため、両方のケースで動作するようにxsl定義を構成する必要がありますタグのついている場合がございます。お知らせ下さい

***************
    First.xml
****************
<productClassificationIdentifier>
            <ClassificationId>1022</ClassificationId>
            <ClassificationName>AAABBB</ClassificationName>
            <Reference>FFF</Reference>
    </productClassificationIdentifier>


***************
    Second.xml
****************
<productClassificationIdentifier>
            <ClassificationId>1044</ClassificationId>
            <ClassificationName>CCCDDD</ClassificationName>
            <Reference>JJJ</Reference>
                <ClassificationIdScheme>FirstClassification</ClassificationIdScheme>
        </productClassificationIdentifier>


***************
    XSL Defination
****************

        <xsl:param name="abvIdVar"/>
        <xsl:for-each select="$abvIdVar">
            <xsl:choose>
                <xsl:when test="./ClassificationIdScheme = 'FirstClassification'">
                    <xsl:value-of select="./ClassificationId"/>
                </xsl:when>
            </xsl:choose>
        </xsl:for-each>

みんなにアドバイスしてください.. !!

こんにちは。

私はそれを通してそれの解決を達成しました

 <xsl:otherwise>
xsl:value-of select="./ClassificationId"/>                               </xsl:otherwise>
4

1 に答える 1

0

「ClassificationIdScheme」要素が存在しない最初の XML に対してこの when 条件を実行する場合は、次の when 条件を変更します。

  <xsl:when test="./ClassificationIdScheme = 'FirstClassification' or not(./ClassificationIdScheme)">
    <xsl:value-of select="./ClassificationId"/>
  </xsl:when>
于 2013-06-07T06:49:31.777 に答える