Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xml XSL转换:选择块而不是选择正确的变量_Xml_Xslt_Xslt 1.0_Xsl Choose - Fatal编程技术网

Xml XSL转换:选择块而不是选择正确的变量

Xml XSL转换:选择块而不是选择正确的变量,xml,xslt,xslt-1.0,xsl-choose,Xml,Xslt,Xslt 1.0,Xsl Choose,我正在处理一个xsl文档,它不断丢失地址行。 我已经修复了它,但似乎在试图修复与修复相关的问题时破坏了它。 以下是我的代码示例: 我需要的是: Line1: (mapped from houseNumberHouseName) Line2: $AddressLineOne Line3: $AddressLineTwo Line4: $AddressLineThree 当AddressLine1未从houseNumberHouseName映射时: Line1: $AddressLineOne

我正在处理一个xsl文档,它不断丢失地址行。 我已经修复了它,但似乎在试图修复与修复相关的问题时破坏了它。 以下是我的代码示例:

我需要的是:

Line1: (mapped from houseNumberHouseName)
Line2: $AddressLineOne
Line3: $AddressLineTwo
Line4: $AddressLineThree
当AddressLine1未从houseNumberHouseName映射时:

Line1: $AddressLineOne
Line2: $AddressLineTwo
Line3: $AddressLineThree
Line4: /
有人能指出为什么我的选择不起作用吗


谢谢

也许你可以这样简化:

Line1: (mapped from houseNumberHouseName)
Line2: $AddressLineOne
Line3: $AddressLineThree
Line4: /
<xsl:choose>
    <xsl:when test="number($houseNameNumberNumericCharacterLength) &gt;= number($houseNameNumberNonNumericCharacterLength)">
        <addressLine2><xsl:value-of select="mad:Address/mad:AddressLineTwo"/></addressLine2>
        <addressLine3><xsl:value-of select="$addressLineThree"/></addressLine3>
        <addressLine4><xsl:value-of select="mad:Address/mad:AddressLineFour"/></addressLine4>
    </xsl:when>
    <xsl:otherwise>
        <addressLine2><xsl:value-of select="$addressLineOne"/></addressLine2>
        <addressLine3><xsl:value-of select="$addressLineTwo"/></addressLine3>
        <addressLine4><xsl:value-of select="$addressLineThree"/></addressLine4>
    </xsl:otherwise>                
</xsl:choose>  

也许您可以这样简化:

Line1: (mapped from houseNumberHouseName)
Line2: $AddressLineOne
Line3: $AddressLineThree
Line4: /
<xsl:choose>
    <xsl:when test="number($houseNameNumberNumericCharacterLength) &gt;= number($houseNameNumberNonNumericCharacterLength)">
        <addressLine2><xsl:value-of select="mad:Address/mad:AddressLineTwo"/></addressLine2>
        <addressLine3><xsl:value-of select="$addressLineThree"/></addressLine3>
        <addressLine4><xsl:value-of select="mad:Address/mad:AddressLineFour"/></addressLine4>
    </xsl:when>
    <xsl:otherwise>
        <addressLine2><xsl:value-of select="$addressLineOne"/></addressLine2>
        <addressLine3><xsl:value-of select="$addressLineTwo"/></addressLine3>
        <addressLine4><xsl:value-of select="$addressLineThree"/></addressLine4>
    </xsl:otherwise>                
</xsl:choose>  


谢谢,效果很好。试图沿着别人使用过的形式继续,缺乏重新思考条件的直觉。谢谢你的快速回复谢谢,效果很好。试图沿着别人使用过的形式继续,缺乏重新思考条件的直觉。谢谢你的快速回复