#!/usr/bin/perl -- use strict; use warnings; use XML::Twig; sub get_style { my @style; XML::Twig->new( twig_handlers => { '?xml-styleshet' => sub { my ( $t, $pi, $data ) = @_; XML::Twig->new( twig_handlers => { stylesheet => sub { push @style, $_->atts; }, }, )->parse("<stylesheet $data />"); return; }, }, )->parse(@_); return @style; } my $xml = <<'__XML__'; <?xml version="1.0" encoding="UTF-8"?> <?xml-styleshet type="text/xsl" href="stylesheet1.xsl"?> <?xml-styleshet type="text/xsl" href="stylesheet2.xsl"?> <?xml-styleshet type="text/xsl" href="stylesheet3.xsl"?> <config /> __XML__ use Data::Dumper; print Data::Dumper->new( [ get_style($xml) ] )->Indent(1)->Dump; __END__ $VAR1 = { 'href' => 'stylesheet1.xsl', 'type' => 'text/xsl' }; $VAR2 = { 'href' => 'stylesheet2.xsl', 'type' => 'text/xsl' }; $VAR3 = { 'href' => 'stylesheet3.xsl', 'type' => 'text/xsl' };
In reply to Re^2: parse xml; get name of xsl file
by Anonymous Monk
in thread parse xml; get name of xsl file
by kathys39
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |