in reply to XML::Filter::Dispatcher string rules problem
Yup. Yer using poorly documented OSS software ;)
The SYNOPSIS is badly outdated; I've updated it. The SYNOPSIS in the released version dates from before I made X::F::D more compliant with XPath. The updated SYNOPSIS looks like:
use XML::Filter::Dispatcher qw( :all ); my $f = XML::Filter::Dispatcher->new( Rules => [ 'foo' => \&handle_foo_start_tag, '@bar' => \&handle_bar_attr, ## Send any <foo> elts and their contents to $handler 'snarf//self::node()' => $handler, ## Print the text of all <description> elements 'description' => [ 'string()' => sub { push @out, xvalue } ], ], Vars => { "id" => [ string => "12a" ], }, );
The change that affects you is that string() now only looks at the first node in the nodeset as per XPath, so you need to get X::F::D to visit all the desired element nodes and then call string() nodes.
There's now a t/synopsis.t that has the audacity to test the code from the SYNOPSIS. The next release will be heading CPANward as soon as I submit this.
Thanks for the bug report.
- Barrie
P.S. I only found this question thanks to Matt Sergeant mentioning it. In general, while perlmonks is a nice resource, I recommend posting XML related questions to the perl-xml@listserv.ActiveState.com mailing list.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: XML::Filter::Dispatcher string rules problem (t/synopsis.t!)
by tye (Sage) on Jan 10, 2003 at 17:14 UTC | |
|
Re: Re: XML::Filter::Dispatcher string rules problem
by toma (Vicar) on Jan 10, 2003 at 21:16 UTC |