Beefy Boxes and Bandwidth Generously Provided by pair Networks
There's more than one way to do things
 
PerlMonks  

comment on

( #3333=superdoc: print w/replies, xml ) Need Help??
#!/usr/bin/perl -T use strict; use warnings; use CGI qw(:standard); use LWP::Simple qw(get); use HTML::Entities; use XML::LibXML; use XML::LibXSLT; print header, start_html, start_form, textfield('node_id'), submit('ID'), end_form, end_html, ; my $id = param('node_id'); print hr, node2html($id); sub node2html { my $id = shift || 181206; return qq(bad id "$id"\n) unless $id =~ /^\d+$/; my $xml = get "http://perlmonks.org/index.pl?node_id=$id&displayty +pe=xml"; my $xslt = do {local $/; <DATA>}; my $xml_parser = XML::LibXML->new(); my $xslt_parser = XML::LibXSLT->new(); my $doc = $xml_parser->parse_string($xml); my $style = $xml_parser->parse_string($xslt); my $stylesheet = $xslt_parser->parse_stylesheet($style); my $results = $stylesheet->transform($doc); return decode_entities($stylesheet->output_string($results)); } __DATA__ <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="node"> <xsl:value-of select="./@title"/> (<xsl:value-of select="./@id"/>)<br/> by <xsl:value-of select="./author"/> <hr/> <blockquote> <xsl:value-of select="./data/field"/> </blockquote> </xsl:template> </xsl:stylesheet>

In reply to Node XML to HTML by jeffa

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.
  • Log In?
    Username:
    Password:

    What's my password?
    Create A New User
    Chatterbox?
    and the web crawler heard nothing...

    How do I use this? | Other CB clients
    Other Users?
    Others contemplating the Monastery: (3)
    As of 2021-04-13 01:12 GMT
    Sections?
    Information?
    Find Nodes?
    Leftovers?
      Voting Booth?

      No recent polls found

      Notices?