[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

RE: CSV instead of white-space

Subject: RE: CSV instead of white-space
From: "Michael Kay" <michael.h.kay@xxxxxxxxxxxx>
Date: Tue, 29 Oct 2002 13:35:44 -0000
csv space
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:  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:  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

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.