2013-11-21 2 views
0

Я использую XSLT для создания XML- здесь фрагмент кода для того же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 как

<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

Смежные вопросы