I have an Input xml,using the below XSL Transform I am able to add deptId as a child element to 'Employees' element,but I want to add it as a child element to every 'employee' element.I am new to XSLT I tried the below transformation but not getting the required output
Input XML:
<?xml version="1.0" encoding="UTF-8"?>
<rootnode>
<companyName>ABC</companyName>
<deptId>12</deptId>
<employee>
<name>n1</name>
<empid>e1</empid>
</employee>
<employee>
<name>n2</name>
<empid>e2</empid>
</employee>
<employee>
<name>n3</name>
<empid>e3</empid>
</employee>
</rootnode>
XSL Transform:
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
<xsl:template match="/rootnode">
<xsl:copy>
<xsl:copy-of select="companyName"/>
<xsl:copy-of select="deptId"/>
<employees>
<xsl:copy-of select="employee"/>
<xsl:copy-of select="deptId"/>
</employees>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
Output xml:
<?xml version="1.0" encoding="UTF-8"?>
<rootnode>
<companyName>ABC</companyName>
<deptId>D1</deptId>
<employees>
<employee>
<name>n1</name>
<empid>e1</empid>
</employee>
<employee>
<name>n2</name>
<empid>e2</empid>
</employee>
<employee>
<name>n3</name>
<empid>e3</empid>
</employee>
<deptId>D1</deptId>
</employees>
</rootnode>
Required Output:
<?xml version="1.0" encoding="UTF-8"?>
<rootnode>
<companyName>ABC</companyName>
<deptId>12</deptId>
<employees>
<employee>
<name>n1</name>
<empid>e1</empid>
<deptId>12</deptId>
</employee>
<employee>
<name>n2</name>
<empid>e2</empid>
<deptId>12</deptId>
</employee>
<employee>
<name>n3</name>
<empid>e3</empid>
<deptId>12</deptId>
</employee>
</employees>
</rootnode>
I want the deptId to be copied to all the 'employee' elements under 'employees' element,could someone please help me on this.
deptId
in the entire document? – michael.hor257k