[英]XSL Transform : Choose block not choosing right variable
我正在处理一个xsl文档,该文档会不断丢失地址行。 我已修复它,但似乎已无法解决与修复相关的问题。 这是我的代码示例:
。
<addressLine2>
<xsl:choose>
<xsl:when test="number($houseNameNumberNumericCharacterLength) >= number($houseNameNumberNonNumericCharacterLength)">
<xsl:value-of select="mad:Address/mad:AddressLineTwo"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$addressLineOne"/>
</xsl:otherwise>
</xsl:choose>
</addressLine2>
<addressLine3>
<xsl:choose>
<xsl:when test="addressLine2 != '$addressLineOne'">
<xsl:value-of select="$addressLineThree"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$addressLineTwo"/>
</xsl:otherwise>
</xsl:choose>
</addressLine3>
<addressLine4>
<xsl:choose>
<xsl:when test="addressLine3 = ($addressLineTwo)">
<xsl:value-of select="$addressLineThree"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="mad:Address/mad:AddressLineFour"/>
</xsl:otherwise>
</xsl:choose>
</addressLine4>
您可以假设AddressLine2始终映射到变量$ addressLineOne。 AddressLine2工作正常。 我遇到的问题是地址行3。我测试
when addressLine2 = $addressLineOne
则choose value $addressLineThree
但是地址如下所示:
Line1: (mapped from houseNumberHouseName)
Line2: $AddressLineOne
Line3: $AddressLineThree
Line4: /
我需要的是:
Line1: (mapped from houseNumberHouseName)
Line2: $AddressLineOne
Line3: $AddressLineTwo
Line4: $AddressLineThree
并且当未从houseNumberHouseName映射AddressLine1时:
Line1: $AddressLineOne
Line2: $AddressLineTwo
Line3: $AddressLineThree
Line4: /
有人可以指出为什么我的选择不起作用吗?
谢谢
也许您可以这样简化:
<xsl:choose>
<xsl:when test="number($houseNameNumberNumericCharacterLength) >= 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>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.