[Omaha.pm] [OT] Parsing XML with command line XSLT xsltproc...

Rob Townley rob.townley at gmail.com
Sat Feb 6 13:34:02 PST 2010


On Sat, Feb 6, 2010 at 1:33 AM, Patrick Timmins <ptimmins at cox.net> wrote:
> Tools that understand XSL are ubiquitous ... I sure wouldn't recommend
> down-loading or writing some code (Perl or otherwise), and then manually
> going through the process of running the RSS through your code, and then
> re-loading the output into your player.  Foist the work off on the
> machines/devices, I say :
>
>
>
> <?xml version="1.0" encoding="utf-8"?>
> <xsl:stylesheet version="1.0"
> xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
>
> <xsl:output method="html"/>
>
> <xsl:template match="/" >
>  <html>
>  <body>
>   <xsl:for-each select="//channel">
>    <table>
>     <tr>
>      <th style="text-align: center;">
>       <a>
>        <xsl:attribute name="href">
>         <xsl:value-of select="link" />
>        </xsl:attribute>
>        <xsl:value-of select="title" />
>       </a>
>      </th>
>     </tr>
>      <tr>
>       <td style="text-align: center; font-size: smaller;">
>        Last Updated on <xsl:value-of select="pubDate" />
>       </td>
>      </tr>
>      <tr>
>       <td>
>        <hr />
>       </td>
>      </tr>
>     <xsl:for-each select="item">
>      <tr>
>       <td style="text-align: left;">
>        <a>
>         <xsl:attribute name="href">
>          <xsl:value-of select="link" />
>         </xsl:attribute>
>         <xsl:value-of select="title" />
>        </a>
>       </td>
>      </tr>
>      <tr>
>       <td>
>        <xsl:value-of select="description" disable-output-escaping="yes" />
>       </td>
>      </tr>
>      <tr>
>       <td>
>        <hr />
>       </td>
>      </tr>
>     </xsl:for-each>
>    </table>
>   </xsl:for-each>
>  </body>
>  </html>
> </xsl:template>
>
> </xsl:stylesheet>
>
>
>
> XSL is your friend.  Resistance is futile.  You will be assimilated.
>
> :)
>
> Pat
> --
> Patrick Timmins
> ptimmins at cox.net
>
>
>
> Dan Linder wrote:
>>
>> 2010/2/1 Sterling Hanenkamp <sterling at hanenkamp.com>:
>>
>>>
>>> I hope you'll forgive me, but I'm going to be annoying and not answer
>>> your
>>> question in the way that you asked. I dislike XSLT, so I'd use:
>>> XML::RSS
>>> XML::Twig
>>> Or something else on CPAN
>>>
>>
>> Completely understood - my only reason for using it is because
>> "bashpodder" used it in it's main script and I had a small bit of
>> sample XSL code to look at. :-)
>>
>> I'm always up for trying to solve a problem with a new tool, and in
>> this case you're probably right that Perl and/or a CPAN module might
>> be the best solution.  I'll look into these.
>>
>>
>>>
>>> I used to do XSLT, particularly when I was mostly stuck working with
>>> Java.
>>> Then, (after cutting off my Java) I realized that if I wanted a
>>> Turing-complete template language, I already have Perl. Performance is
>>> about
>>> the same, Perl has more features, and I don't have to use XML to write
>>> code.
>>>
>>
>> This is actually my first foray into XSLT.  Any XML I've ever
>> generated or parsed were from my own home-grown Perl scripts that
>> didn't use any CPAN modules...  (Thankfully I could control the format
>> of the data I was reading so nesting and other text formatting didn't
>> affect these tests..)
>>
>> Thanks,
>>
>> Dan
>>
>
>
> _______________________________________________
> Omaha-pm mailing list
> Omaha-pm at pm.org
> http://mail.pm.org/mailman/listinfo/omaha-pm
>
If you have to work with someone averse to the command line.
i used the following Firefox addon to show a edi vendor was sending
syntactically correct XML but it didn't meet the DTD.

Firefox addon for xslt.
Load the XML file.
Load the XSLT file and apply.

https://addons.mozilla.org/en-US/firefox/addon/5023


More information about the Omaha-pm mailing list