Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl Monk, Perl Meditation
 
PerlMonks  

Re: xml file reading and displaying

by Wonko the sane (Deacon)
on Mar 27, 2007 at 11:52 UTC ( [id://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

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others cooling their heels in the Monastery: (11)
As of 2024-03-28 09:07 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found