xml flat file transform to nested tag xml using xslt transform
i have a requirement to change flat xml file to nested xml file using xslt and xml template input.
my input xml file demo.xml is
<?xml version="1.0" encoding="UTF-8"?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><soapenv:Body><ns1:getDocumentByKeyRespo nse soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns1="http://www.taleo.com/ws/integration/toolkit/2005/07"><Document xmlns="http://www.taleo.com/ws/integration/toolkit/2005/07"><Attributes><Attribute name="duration">0:00:00.130</Attribute><Attribute name="count">7</Attribute><Attribute name="entity">Requisition</Attribute><Attribute name="mode">XML</Attribute><Attribute name="version">http://www.taleo.com/ws/tee800/2009/01</Attribute></Attributes><Content>
<ExportXML xmlns="http://www.taleo.com/ws/integration/toolkit/2005/07">
<record>
<field name="ContestNumber">1300000F</field>
<field name="ManagerRequisitionTitle">Project Manager</field>
</record>
<record>
<field name="ContestNumber">1300000H</field>
<field name="ManagerRequisitionTitle">Project Manager</field>
</record>
<record>
<field name="ContestNumber">1300000T</field>
<field name="ManagerRequisitionTitle">Project Manager</field>
</record>
<record>
<field name="ContestNumber">13000018</field>
<field name="ManagerRequisitionTitle">Project Manager</field>
</record>
<record>
<field name="ContestNumber">000123</field>
<field name="ManagerRequisitionTitle">Project Manager</field>
</record>
<record>
<field name="ContestNumber">1300000R</field>
<field name="ManagerRequisitionTitle">Project Manager</field>
</record>
<record>
<field name="ContestNumber">13000016</field>
<field name="ManagerRequisitionTitle">Project Manager</field>
</record>
</ExportXML></Content></Document></ns1:getDocumentByKeyResponse></soapenv:Body></soapenv:Envelope>
my xslt file mycustom.xsl is
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0" xmlns:itk="http://www.taleo.com/ws/integration/toolkit/2005/07">
<xsl:output method="text" encoding="UTF-8"/>
<xsl:template match="itk:record">
<xsl:text>INSERT EMPLOYEE:</xsl:text>
<xsl:value-of select="itk:field[@name='FirstName']"/>
<xsl:text>|</xsl:text>
<xsl:value-of select="itk:field[@name='MiddleInitial']"/>
<xsl:text>|</xsl:text>
<xsl:value-of select="itk:field[@name='LastName']"/>
<xsl:text disable-output-escaping="yes">
</xsl:text>
<xsl:text>E-MAIL:</xsl:text>
<xsl:value-of select="itk:field[@name='EmailAddress']"/>
<xsl:text disable-output-escaping="yes">
</xsl:text>
<xsl:text>STREET ADDRESS:</xsl:text>
<xsl:value-of select="itk:field[@name='Address']"/>
<xsl:text>;</xsl:text>
<xsl:text>CITY:</xsl:text>
<xsl:value-of select="itk:field[@name='City']"/>
<xsl:text>;</xsl:text>
<xsl:text>STATE:</xsl:text>
<xsl:value-of select="itk:field[@name='State']"/>
<xsl:text>;</xsl:text>
<xsl:text>ZIPCODE:</xsl:text>
<xsl:value-of select="itk:field[@name='ZipCode']"/>
<xsl:text>;</xsl:text>
<xsl:text disable-output-escaping="yes">
</xsl:text>
<xsl:text>====</xsl:text>
<xsl:text disable-output-escaping="yes">
</xsl:text>
</xsl:template>
</xsl:stylesheet>
the main problem is it is asking the input template xml file with main record placeholder.sorry really i am new to xml.
my expected output is output.xml
<?xml version="1.0" encoding="UTF-8" ?>
<JobPositionPostings>
<JobPositionPosting>
<JobPositionPostingID>1300000F</JobPositionPostingID>
<Industry>
<jobPost>Project Manager</jobPost>
</Industry>
</JobPositionPosting>
</JobPositionPostings>
please tell me what is my input xml template as i read it contain xsl file path and record placeholder. template.xml
<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="mycustom.xsl"?>
please how to write placeholder after this.
thanks in advance
|