Subject: AW: [xsl] CSV instead of white-space From: Delaney Robin <Robin.Delaney@xxxxxxx> Date: Tue, 29 Oct 2002 11:28:46 +0100 |
Michael, Thanks for your reply/help. It almost works :-) I get all the data right through the hierarchy but once I get to elements that have "children" themselves the placing of the "," doesn't happen. It seems to limit itself to direct children of the <Vertrag> (for them it works perfectly!). Here's a subset of the XML & XSL to explain. Within <Mandant> I don't see the "," between elements and the same for <Partner> and levels below. For all the others it's fine. Any Idea ? Sorry to hassle you directly (don't let it put you off replying in the future :-) ) and thanks for any help in advance. - Robin XML: <?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE BFZV01 SYSTEM "BFZV01.dtd"> <?xml-stylesheet type="text/xsl" href="E:\XML\test\XSLtemplate.xsl"?> <BFZV01> <Vertrag> <Mandant> <MandantenID>01</MandantenID> <AnbieterNr>1234567890</AnbieterNr> </Mandant> <ZertifizierungsNr/> <BestandsverwaltungssystemNr>01</BestandsverwaltungssystemNr> <VertragsIDintern>01123456</VertragsIDintern> <VertragsIDextern>123456</VertragsIDextern> <OrgaNr/> <InexkassosystemNr>01</InexkassosystemNr> <Beitragsjahr>2001</Beitragsjahr> <Beitrag waehrungskennzeichen="EUR">150,00</Beitrag> <SachbearbeiterID>12345678</SachbearbeiterID> <Legitimationsklassevertrag legitimationsklasse="J"/> <Persoenlichedaten> <Versicherteperson> <Partner> <PartnersystemNr>01</PartnersystemNr> <PartnerID>123456789</PartnerID> <KundenNr/> <Legitimationsklassepartner legitimationsklasse="J"/> <Rolle rolle="Rolle.VP"/> <Anrede>Herr</Anrede> XSL: <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="Vertrag"> <xsl:for-each select="*"> <xsl:value-of select="."/> <xsl:if test="position()!=last()">;</xsl:if> </xsl:for-each> <xsl:text> </xsl:text> </xsl:template> </xsl:stylesheet> Output: 01 1234567890 ;;01;01123456;123456;;01;2001;150,00;12345678;; 01 123456789 Herr > -----Ursprüngliche Nachricht----- > Von: Michael Kay [SMTP:michael.h.kay@xxxxxxxxxxxx] > Gesendet am: Montag, 28. Oktober 2002 18:54 > An: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > Betreff: RE: [xsl] CSV instead of white-space > > > I'm trying to create a CSV TXT file from an XML and have the > > following XSL. There's a large hierarchy of elements under > > the "Vertrag" element and I'm trying not to have to select > > them individually as the structure may change. My select > > statement works and I get all the values with at least 1 > > whitespace between elements. > > > > Is there a way to either replace the whitespace with a ";" or > > to concat a ";" onto my selection ? > > > > <xsl:stylesheet version="1.0" > > xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> > > <xsl:template match="Vertrag"> > > <xsl:value-of select="(.)"/> > > <xsl:text> </xsl:text> > > </xsl:template> > > </xsl:stylesheet> > > > > Try > <xsl:for-each select="*"> > <xsl:value-of select="."/> > <xsl:if test="position()!=last()">,</xsl:if> > </xsl:for-each> > > Michael Kay > Software AG > home: Michael.H.Kay@xxxxxxxxxxxx > work: Michael.Kay@xxxxxxxxxxxxxx > > > XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] (No Subject), Antonie Botes | Thread | RE: [xsl] CSV instead of white-spac, Michael Kay |
Re: [xsl] Sorting on a transformed , David Carlisle | Date | Re: [xsl] xsl loop with variable, Vasu Chakkera |
Month |