[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: XSLT and comma's in XML data
CSV files unfortunately have many conventions but no standards. One of the conventions is that when a field contains a comma, you put the field in quotes. I've no idea what you are supposed to do if the field also contains quotes. It would probably be a good idea to do some experiments with the software that's expected to read this CSV file. It probably does no harm to put the field in quotes unconditionally: I assume you can tackle that on your own. Michael Kay http://www.saxonica.com/ > -----Original Message----- > From: Ian Vaughan [mailto:i.vaughan@xxxxxxxxxxxxxxxxxxxxxxx] > Sent: 17 February 2005 09:02 > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > Subject: XSLT and comma's in XML data > > I am having a problem with my XML a snippet of which is shown below > > > <PropertyAddress> > > <apd:A_5LineAddress> > <apd:Line>Bank, Street</apd:Line> > <apd:Line /> > <apd:Line /> > <apd:Line>Town</apd:Line> > <apd:PostCode></apd:PostCode> > </apd:A_5LineAddress> > > </PropertyAddress> > ...........................etc > > The problem I am finding is that in the XML some fields such as > <apd:Line> sometimes has data that contains a comma such as > 'Bank,Street' > > Then when parsing this through the XSLT it is locating the comma > seperating 'Bank,Street' and splitting up the data > > Any ideas on a solution would be most helpful > > > This is the XSLT > > ---------------------------------------------------------- > > <xsl:stylesheet version="1.0" > xmlns:xsl="http://www.w3.org/1999/XSL/Transform" > xmlns:apd="http://www.govtalk.gov.uk/people/AddressAndPersonal > Details"> > <xsl:output method="text" /> > > <xsl:template match="/"> > <xsl:text>UniqueRecordID, RegistrationNumber, RegisteredName, > Address1, > Address2, Address3, Address4,PostCode, DateComplete, > DescriptionOfWorkItems > </xsl:text> > <xsl:apply-templates select="//BuildingRecord"/> </xsl:template> > > <xsl:template match="BuildingRecord"> > <xsl:text> </xsl:text> > <xsl:apply-templates select=".//*[not(*)] | .//apd:*/*"/> > </xsl:template> > > <xsl:template match="BuildingRecord//* | apd:*/* "> > <xsl:if test="position() > 1 ">,</xsl:if> > <xsl:value-of select="normalize-space(.)"/> </xsl:template> > > > </xsl:stylesheet> > > -----------------------------------------------------------
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|