xsl-list
[Top] [All Lists]

Re: newbie question: transforming xml to txt with xslt

2002-10-23 05:49:07
Hello Milena,

milena schrevel wrote:
hi all, i want to exctract certain data from a xml-file, which contains programdetails of several tv channels (see a examle below), and put it into txt-files (for each tv channel one txt-file). the programm should read from the xml file the data starting from 6:00 am of the following day till 5:59 am of the day after that. i am new to xml, xsl/xslt. my question is now, if my problem can be solved with xslt only, or if i need another programminglanguage (which one?) for extracting data according the time? as there are 22 tv channels, i don´t want to write an xsl-file for each of these...is parameterpassing possible with xslt? which tool you would suggest? thanks a lot in advance! any kind of help welcome! regards, milena schrevel xml-file: ... <RESOURCE id="EVENTLIST_XYZ"> <EVENTLIST originalnetworkid="1" transportstreamid="1089" serviceid="0x2EE3" servicename="XYZ"> <EVENT eventid="0x23BB93"> <STARTTIME country="deu" date="21.09.2002" time="16:00:00" /> <DURATION country="deu" time="01:00" /> <SHORTEVENTDESC language="ger"> <EVENTNAME>News</EVENTNAME> <EVENTTEXT></EVENTTEXT> </SHORTEVENTDESC> <EVENTGENRE genreid="GENRE_0" /> </EVENT> </EVENTLIST> </RESOURCE> ... example of output.txt : xyz 21.09.2002 16:00:00 News
 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list



it depends on the XML date structure wether you can handle all with *one*
transformation, but guessing you TV channels are all wrapped in a
"RESOURCE" element with the given structure the example below may be
good enough.

<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
                version="1.0">

  <xsl:output method="text"/>


  <xsl:template match="/">
    <xsl:apply-templates/>
  </xsl:template>

  <xsl:template match="RESOURCE">
    <xsl:value-of select="EVENTLIST/@servicename"/><xsl:text> </xsl:text>
    <xsl:value-of select="EVENTLIST/EVENT/STARTTIME/@date"/><xsl:text> 
</xsl:text>
    <xsl:value-of select="EVENTLIST/EVENT/STARTTIME/@time"/><xsl:text> 
</xsl:text>
    <xsl:value-of select="EVENTLIST/EVENT/SHORTEVENTDESC/EVENTNAME/text()"/>
  </xsl:template>

</xsl:stylesheet>

regards
--
Eike Jordan  <jordan(_at_)fiz-chemie(_dot_)de>

| FIZ CHEMIE BERLIN
| Franklin Str. 11               ------    ,__o
| 10587 Berlin                  ------   _-\_<,
|                              ------   (+)/'(+)
| Tel. : 0049-30-39977 214


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