2017-02-14 13 views
0
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 
<xsl:output method="xml" encoding="utf-8" indent="yes"/> 
<xsl:variable name="cdataStart"><![CDATA[ <![CDATA ]]></xsl:variable> 
<xsl:variable name="cdataEnd"><![CDATA[ ]] ]]></xsl:variable> 
<xsl:template match="/Prekes"> 
    <products> 
     <xsl:for-each select="./product"> 
      <product> 
        <associations> 
         <association external-reference="<xsl:value-of select="./code" />"> 
          <mode>replace</mode> 
         </association> 
        </associations> 
       </block> 
      </product> 
     </xsl:for-each> 
    </products> 
</xsl:template> 

XSL-Werte als Attribut

Ich brauche meinen Wert aus in das Attribut der externen Referenz zu setzen. Das Problem ist, dass ich Syntaxfehler bekomme, wenn ich versuche, es so zu benutzen. Wie kann ich es richtig einfügen?

Antwort

3

Sie müssen hier Attribute Value Templates verwenden ...

<association external-reference="{code}"> 

Die geschweiften Klammern einen Ausdruck angeben, bewertet werden, nicht wörtlich ausgegeben.

Beachten Sie, dass xsl:attribute auch hier

<association> 
    <xsl:attribute name="external-reference"> 
     <xsl:value-of select="./code" /> 
    </xsl:attribute> 

verwenden können, aber wie Sie sehen können, Attributwert Vorlagen sind viel prägnanter. Sie würden xsl:attribute verwenden, wenn das Attribut beispielsweise bedingt erstellt werden soll.

+0

Danke, geschweifte Klammern hat nicht geholfen. Aber ich habe das Attribut als xsl: atribute verwendet. – The50

Verwandte Themen