2013-11-21 51 views
0

我使用XSLT来创造同样的XSLT无法值赋给一个节点

<xsl:for-each select="/PAYMENTS/PAYMENT"> 
    <xsl:if test="./PAYMENT_TYPE = 'CEDING'"> 
    <xsl:if test="./FIRST_NAME[ . != '']"> 
     <xsl:variable name="myId" select="concat('Payment', position())"/> 
      <Relation ObjectID="string(concat('Payment', position()))"> 
       <xsl:attribute name="id"> 
       <xsl:value-of select="concat('Payment',position())"/> 
       </xsl:attribute> 
      </Relation> 
    </xsl:if> 
    </xsl:if> 
</xsl:for-each> 

我也试着做相同的代码

<xsl:for-each select="/PAYMENTS/PAYMENT"> 
    <xsl:if test="./PAYMENT_TYPE = 'CEDING'"> 
    <xsl:if test="./FIRST_NAME[ . != '']"> 
     <xsl:variable name="myId" select="concat('Payment', position())"/> 
      <Relation ObjectID="$myId"> 
       <xsl:attribute name="id"> 
       <xsl:value-of select="concat('Payment',position())"/> 
       </xsl:attribute> 
      </Relation> 
    </xsl:if> 
    </xsl:if> 

一个XML 这里的代码片段

在这两种情况下我得到的结果xml节点为

<Relation OriginatingObjectID="string(concat('Payment', position()))" id="Payment1"> 
</Relation> 

<Relation OriginatingObjectID="$myId" id="Payment1"> 
</Relation> 

这是它无法为关系节点的ObjectID转换值。

任何人都可以让我知道我哪里会出错吗?

回答

1

更换

<Relation ObjectID="$myId"> 

<Relation ObjectID="{$myId}"> 
+0

感谢的人..你救了我的天.. – Gautam