Beefy Boxes and Bandwidth Generously Provided by pair Networks
more useful options

Re: Applying XSL stylesheet specified in XML file to the XML

by ForgotPasswordAgain (Deacon)
on Mar 25, 2009 at 09:26 UTC ( #753065=note: print w/replies, xml ) Need Help??

in reply to Applying XSL stylesheet specified in XML file to the XML

I don't know how to tell what href is relative to, but even just to get the value of href is a bit gimpy for "processing instructions", which is what <? ... ?> are.

#!/usr/bin/perl -w use strict; use XML::LibXML; my $parser = XML::LibXML->new; my $doc = $parser->parse_string(<<'EOX'); <?xml version="1.0" encoding="UTF-8"?> <?xml-stylesheet type="text/xsl" href ='abc"efg'?> <_/> EOX foreach my $node ($doc->findnodes('//processing-instruction()')) { my $name = $node->nodeName; if ($name eq 'xml-stylesheet') { # getData is a string like q{type="text/xsl" href="/test.xsl"} # which is what makes it annoying my $attr_str = $node->getData; # manually parse the string like href='abc"efg'; # there might be a better way of doing this $attr_str =~ m{href\s*=\s*(['"])([^\1]+)\1}; my $href = defined $2 ? $2 : ''; print "$name href: >>>$href<<<\n"; } }

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://753065]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others about the Monastery: (9)
As of 2018-05-23 17:06 GMT
Find Nodes?
    Voting Booth?