How to set attribute in XML using XSLT? How to set attribute in XML using XSLT? xml xml

How to set attribute in XML using XSLT?


Attributes of literal result elements support the attribute value template syntax, using {}:

<Party role="{some/xpath/path}">


<xsl:template match="Party">  <Party role="{some/xpath/path}">    <xsl:apply-templates select="@* | node()"/>  </Party></xsl:template>

should do. As an alternative

<xsl:template match="Party">  <xsl:copy>    <xsl:attribute name="role" select="some/xpath/path"/>    <xsl:apply-templates select="@* | node()"/>  </xsl:copy></xsl:template>

Of course the apply-templates is only necessary if there are attribute and/or child nodes you also want to be processed (for example to be copied by an identity transformation template).


you can try the below sample:

<xsl:for-each select="YOUR_SELECT_PATH">   <a>     <Party> <xsl:attribute name="role"><xsl:value-of select="@source"/></xsl:attribute> </Party>    <xsl:value-of select="."/>   </a> </xsl:for-each> 

Here I am setting the attribute role to a xml node Party.