Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl: the Markov chain saw
 
PerlMonks  

Re: xml file reading and displaying

by Wonko the sane (Deacon)
on Mar 27, 2007 at 11:52 UTC ( #606747=note: print w/ replies, xml ) Need Help??


in reply to xml file reading and displaying

How about something like this...

#!/usr/local/bin/perl -w use strict; use warnings; use XML::LibXML; use XML::LibXSLT; my $xml = q{<doc.body> <head n="1">Introduction</head> <para>para 1</para> <para>para 2</para> <head n="2">Individual</head> <para>para 1</para> <para>para 2: <list listtype="bull"> <item>item 1</item> <item>2</item> </list> </para> </doc.body> }; my $xslt_stylesheet = q{<?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" > <xsl:output method="xml" omit-xml-declaration="yes" /> <xsl:template match="/doc.body"> <xsl:apply-templates/> </xsl:template> <xsl:template match="head">TX <h3><xsl:apply-templates/></h3> </xsl:template> <xsl:template match="para">TX <xsl:apply-templates/> </xsl:template> <xsl:template match="list">TX <ol><xsl:apply-templates/></ol> </xsl:template> <xsl:template match="list/item"><li><xsl:apply-templates/></li> </xsl:template> </xsl:stylesheet> }; my $parser = XML::LibXML->new(); my $xslt = XML::LibXSLT->new(); my $style_doc = $parser->parse_string( $xslt_stylesheet ); my $source = $parser->parse_string( $xml ); my $stylesheet = $xslt->parse_stylesheet( $style_doc ); my $results = $stylesheet->transform( $source ); my $output = $stylesheet->output_string( $results ); print $output;
Output:
:!./t1.pl TX <h3>Introduction</h3> TX para 1 TX para 2 TX <h3>Individual</h3> TX para 1 TX para 2: TX <ol> <li>item 1</li> <li>2</li> </ol>
Best Regards, Wonko


Comment on Re: xml file reading and displaying
Select or Download Code

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://606747]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others contemplating the Monastery: (13)
As of 2014-10-23 16:11 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    For retirement, I am banking on:










    Results (125 votes), past polls