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

Re: csv data to xml

Subject: Re: csv data to xml
From: Michael Kay <mike@xxxxxxxxxxxx>
Date: Fri, 28 Jun 2013 09:28:44 +0100
Re:  csv data to xml
On 28 Jun 2013, at 06:10, henry human wrote:

>
>
> Michael
> In a servlet I am calling the saxon parser (v. 9) and as input for the
parser put a string that contains the csv data. I do not work wih files or
fiel references therfore cant call the xslt as it is with the referenced
files..

If the stylesheet is calling the unparsed-text() function then the simplest
way to use it without change would be to register an UnparsedTextResolver,
which responds to the request for a particular URI by returning a StringReader
for the resulting text.

Alternatively, it would be very easy to modify the stylesheet to reference a
stylesheet parameter instead of calling unparsed-text().

Michael Kay
Saxonica


> brg
> henry
> ----- Urspr|ngliche Message -----
> Von: Michael Kay <mike@xxxxxxxxxxxx>
> An: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> CC:
> Gesendet: 18:26 Donnerstag, 27.Juni 2013
> Betreff: Re:  csv data to xml
>
> If you could be more precise about how you were trying "to rund the XSLT not
localy", and what problem you encountered when doing so, and what you were
trying to achieve, then we might be able to help you.
>
> Michael Kay
> Saxonica
>
> On 27 Jun 2013, at 17:14, henry human wrote:
>
>> I had some problem to rund the XSLT not localy and working with files but
with on  Web server and working with string.
>> So I used some java based code and build the xml!
>> Could you tell mme how to modify the XSLT to be able call it on server(I
removed the CSV file reference but did not work?
>> brg
>> henry
>>
>>
>> ----- Urspr|ngliche Message -----
>> Von: Andrew Welch <andrew.j.welch@xxxxxxxxx>
>> An: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
>> CC:
>> Gesendet: 17:39 Donnerstag, 27.Juni 2013
>> Betreff: Re:  csv data to xml
>>
>> You appear to have changed the output from the xslt I linked to?  You
>> should have rows wrapping your elements, once you reinstate them then
>> how to achieve the 2nd part of your process becomes clearer.
>>
>>
>> On 27 June 2013 16:28, henry human <henry_human@xxxxxxxx> wrote:
>>> Hi guys
>>> I was able to convert the data from csv to xml. Now I want to build groups
of the elements such as the sample bellow.
>>> Each 5 elements should be assigned to a clfPackage element:
>>>
>>> This is the CSV as xml:
>>> <?xml version="1.0" encoding="UTF-8"?>
>>> <xmlData>
>>>   <element>EN</element>
>>>   <element>01</element>
>>>   <element>text</element>
>>>   <element>U</element>
>>>   <element>2013028074426</element>
>>>
>>>   <element>SE</element>
>>>   <element>06</element>
>>>   <element>text</element>
>>>   <element>M</element>
>>>   <element>2013011234457</element>
>>>
>>>   .......
>>>
>>> </xmlData>
>>>
>>> This is what must be created:
>>>   <clfPackage>
>>>   <Country><xsl:value-of select="xmlData/element"/></CountryCode>
//must be the first element
>>>   <number><xsl:value-of select="xmlData/element"/></ClearingNumber>
//must be the secound element
>>>   <Description1><xsl:value-of select="xmlData/element"/></Description>
>>>   <ChangeMode><xsl:value-of select="xmlData/element"/></ChangeMode>
>>>   <Modification><xsl:value-of select="xmlData/element"/></Modification>
>>>   </clfPackage>
>>>
>>> Best regards
>>> Henry
>>>
>>>
>>>
>>>
>>> ----- Urspr|ngliche Message -----
>>> Von: Michael Kay <mike@xxxxxxxxxxxx>
>>> An: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
>>> CC:
>>> Gesendet: 16:47 Mittwoch, 26.Juni 2013
>>> Betreff: Re:  csv data to xml
>>>
>>>
>>> On 26 Jun 2013, at 15:21, henry human wrote:
>>>
>>>> Hi I was not able to run get this xslt sample runing! When I try it with
Saxon 9.1.0  and (call it in Stylus Studio) I got the known
>>>> error:ontent is not allowed in prolog.
>>>
>>> That means you're doing it wrong; you're somehow putting the CSV file
through an XML parser. Probably because you are supplying it as the main input
to the transformation, rather than merely a secondary file to be read with
unparsed-text().
>>>
>>> Michael Kay
>>> Saxonica
>>>
>>>
>>>> ?
>>>> This was my csv file test.csv
>>>> USA,AA,Comp. 1,U,012345,L987
>>>> USA,BB,Comp.2,Z,034567888888,F098
>>>> USA,CC,Comp 3,M,034847474747,F098
>>>>
>>>>
>>>> ----- Urspr|ngliche Message -----
>>>> Von: Andrew Welch <andrew.j.welch@xxxxxxxxx>
>>>> An: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
>>>> CC:
>>>> Gesendet: 15:15 Dienstag, 25.Juni 2013
>>>> Betreff: Re:  csv data to xml
>>>>
>>>>> Use unparsed-text() to read the csv, then use tokenize() to split it
>>>>> into lines, iterate over each line outputting a <Segment>, then
>>>>> tokenize() the $line into $tokens, and use fill-in-the-blanks style to
>>>>> populate the elements.
>>>>
>>>> Basically this:
>>>>
>>>> http://andrewjwelch.com/code/xslt/csv/csv-to-xml_v2.html
>>>>
>>>>
>>>> --
>>>> Andrew Welch
>>>> http://andrewjwelch.com/
>>>
>>
>>
>>
>> --
>> Andrew Welch
>> http://andrewjwelch.com/

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.