[Home] [By Thread] [By Date] [Recent Entries]
Tempore 14:45:37, die 02/09/2005 AD, hinc in
xsl-list@xxxxxxxxxxxxxxxxxxxxxx scripsit Ian Vaughan
<i.vaughan@xxxxxxxxxxxxxxxxxxxxxxx>:
Any idea of how I could transform the XML doc into the following layout below in the csv file ?? The way to the best solution depends on the XML. When no information is provided, are the elements then missing or do they have no text node children? If I may assume the latter, you might try this: <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:apd="http://www.govtalk.gov.uk/people/AddressAndPersonalDetails"> <xsl:template match="/"> <xsl:text>UniqueRecordID, RegistrationNumber, RegisteredName, Address1, Address2, Address3, Address4,PostCode, DateComplete, DescriptionOfWorkItems, DescriptionOfWorkItems </xsl:text> <xsl:apply-templates select="//BuildingRecord"/> </xsl:template> <xsl:template match="BuildingRecord"> <xsl:apply-templates select=".//*[not(*)] | .//apd:*/*"/> <xsl:text> </xsl:text> </xsl:template> <xsl:template match="BuildingRecord//* | apd:*/* "> <xsl:if test="position() > 1 ">,</xsl:if> <xsl:value-of select="normalize-space(.)"/> </xsl:template> </xsl:stylesheet> produces: UniqueRecordID, RegistrationNumber, RegisteredName, Address1, Address2, Address3, Address4,PostCode, DateComplete, DescriptionOfWorkItems, DescriptionOfWorkItems 2,02,Name,Street Name,,,Town,SA128JW,20/01/2005,Shower,New Unit the field names are generated automatically here, if you prefer hard coding them, just omit all templates with mode set to 'label'.
|

Cart



