RE: [xsl] CSV instead of white-space

Subject: RE: [xsl] CSV instead of white-space
From: "Michael Kay" <michael.h.kay@xxxxxxxxxxxx>
Date: Tue, 29 Oct 2002 13:35:44 -0000
If you want all the descendant elements rather than just all the
children, use select=".//*" rather than select="*". But perhaps you only
want the "leaf nodes" (descendants that don't have children). In that
case use select=".//*[not(*)]".

Michael Kay
Software AG
home: Michael.H.Kay@xxxxxxxxxxxx
work: Michael.Kay@xxxxxxxxxxxxxx 

> -----Original Message-----
> From: owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx 
> [mailto:owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx] On Behalf Of 
> Delaney Robin
> Sent: 29 October 2002 10:29
> To: 'xsl-list@xxxxxxxxxxxxxxxxxxxxxx'
> Subject: AW: [xsl] CSV instead of white-space
> 
> 
> 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>&#13;</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>&#13;</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
> 


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread