Subject: Re: [xsl] document('data.csv') fails; workaround needed From: Jeni Tennison <jeni@xxxxxxxxxxxxxxxx> Date: Thu, 22 Nov 2001 14:19:06 +0000 |
Hi Dan, > Is there a clever way to import CSV data into the stylesheet? The > following fails of course: > > <xsl:variable name="csv" select="document('data.csv')"/> > > I can't alter the file data.csv but need the data in it for a helper > lookup function. Thanks in advance. If data.csv stays the same, then convert it to an XML file using sed or perl or whatever you fancy, and use that. If data.csv changes, but doesn't contain any <s or &s, then you could create a wrapper XML document that accesses it as an external entity - data.xml: ---- <?xml version="1.0"?> <!DOCTYPE data [ <!ENTITY data SYSTEM 'data.csv'> ]> <data>&data;</data> ---- You could then access the data using the document() function, though you'd have to work through the CSV document using string manipulation functions in XSLT/XPath, which isn't all that fun. Alternatively, if you're using an XSLT processor that accepts SAX events you could write a custom entity resolver that reads in the CSV document and generates SAX events to make the XSLT processor think that it's accessed an XML document. That would also allow you take advantage of the string manipulation support in whatever programming language you were using, such that the XSLT processor 'sees' the CSV file as elements. Cheers, Jeni --- Jeni Tennison http://www.jenitennison.com/ XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] document('data.csv') fail, cutlass | Thread | RE: [xsl] document('data.csv') fail, Michael Kay |
Re: [xsl] XSL stylesheet for XHTML, Henry S. Thompson | Date | Re: [xsl] call-template by default, Eric Smith |
Month |