我有两个xml,如下所示,以及xsl定义它,现在请建议如两个xml所示,现在有一个标记,因为它存在于Second.xml中但不存在于First.xml中我想要配置 xsl定义,例如它应该适用于两种情况rite现在它只适用于Second.xml我希望xsl定义应该以这样的方式配置它应该适用于两种情况,因为有时在xml我们没有得到有时标签的价值。请指教
***************
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>
答案 0 :(得分:0)
如果你想在没有'ClassificationIdScheme'元素的第一个XML的条件下运行它,那么用这个改变你的when条件:
<xsl:when test="./ClassificationIdScheme = 'FirstClassification' or not(./ClassificationIdScheme)">
<xsl:value-of select="./ClassificationId"/>
</xsl:when>