XML::Rabbit::Trait::XPathObjectMap - Multiple XML DOM object xpath extractor trait
package MyXMLSyntaxNode; use Moose; with 'XML::Rabbit::Node'; has 'persons' => ( isa => 'HashRef[MyXMLSyntax::Person]', traits => [qw(XPathObjectMap)], xpath_query => './persons/*', xpath_key => './@name', ); no Moose; __PACKAGE__->meta->make_immutable(); 1;
This module provides the extraction of multiple complex values (subtrees) from an XML node based on an XPath query. Each subtree is used as input for the constructor of the class specified in the isa attribute. All of the extracted objects are then put into an arrayref which is accessible via the parent attribute.
See XML::Rabbit for a more complete example.
Specifies the prefix:tag to class name mapping used with union xpath queries. See XML::Rabbit for more detailed information.
The xpath query that specifies what will be put in the key in the hash. Required.
Returns a coderef that is run to build the default value of the parent attribute. Read Only.
Robin Smidsrød <email@example.com>
This software is copyright (c) 2011 by Robin Smidsrød.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.