Hello
Try reposting as the snippet was truncated by webmail...
I'm doing some batch processing of text files to xml using ANT.
Instead of having the text file content fed to the XSLT through
unparsed-text(), I'm wrapping the text file in a temporay xml file by
adding a opening and closing tag and then process the resulting XML file
using ANT XSLT task.
Below is an adapted snippet of my ant target :
<target name="csv2xml">
<!-- First, create one text file with opening tag and one text file with
closing tag -->
<echo file="headxml" message="<textwrapper>"/>
<echo file="tailxml" message="</textwrapper>"/>
<!-- Next, copy the CSV file from ${from.dir} to ${to.dir}-->
<copy todir="${to.dir}">
<fileset dir="${from.dir}" includes="**/*.CSV"/>
<!-- mapping the file extension from CSV to XCSV -->
<mapper type="glob" from="*.VMF" to="*.xvmf"/>
<!-- and adding the content of tag files at the beginning
and the end of each CSV file -->
<filterchain>
<concatfilter prepend="headxml" append="tailxml"/>
</filterchain>
</copy>
<!-- Tag files are not needed anymore, delete them -->
<delete file="headxml"/>
<delete file="tailxml"/>
<!-- Process the XCSV files as standard XML files ... -->
<xslt style="stylesheet.xsl" destdir="${to.dir}"
basedir="${to.dir}">
<mapper type="glob" from="*.XCSV" to="*.xml"/>
</xslt>
</target>
In your stylesheet, you just have to process the content of
<textwrapper/> as
<xsl:template match="/textwrapper">
<!-- For example, you can extract each line with -->
<xsl:variable name="lines" select="tokenize(text(),'
')">
....
</xsl:template>
Some warnings however, depending on the content of your CSV file, you
may obtain an invalid XML file (due to special characters, tag
opening,...) and then it won't work...
Hope it helps!
Olivier
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--