table of contents
Catmandu::Importer::XML(3pm) | User Contributed Perl Documentation | Catmandu::Importer::XML(3pm) |
NAME¶
Catmandu::Importer::XML - Import serialized XML documents
DESCRIPTION¶
This Catmandu::Importer reads XML and transforms it into a data structure.
See Catmandu::Importer, Catmandu::Iterable, Catmandu::Logger and Catmandu::Fixable for methods and options derived from these modules.
The importer can also be used internally for custom importers that need to parse XML data.
CONFIGURATION¶
- type
- By default (type ""simple""),
elements and attributes and converted to keys in a key-value structure.
For instance this document:
<doc attr="value"> <field1>foo</field1> <field1>bar</field1> <bar> <doz>baz</doz> </bar> </doc>
is imported as
{ attr => 'value', field1 => [ 'foo', 'bar' ], field2 => { 'doz' => 'baz' }, }
With type ""ordered"" elements are preserved in the order of their appereance. For instance the sample document above is imported as:
[ doc => { attr => "value" }, [ [ field1 => { }, ["foo"] ], [ field1 => { }, ["bar"] ], [ field2 => { }, [ [ doz => { }, ["baz"] ] ] ] ] ]
- depth
- Maximum depth for type
""simple"". For instance with
depth 1, the sample document above would be imported as:
{ attr => 'value', field1 => [ 'foo', 'bar' ], field2 => { doz => [ [ doz => { }, ["baz"] ] ] } }
- attributes
- Include XML attributes. Enabled by default.
- path
- Path expression to select XML elements. If not set the root element is selected.
- root
- Include root element name for type "simple". Disabled by default. The option is ignored if type is not "simple" or if a "path" has explicitly been set.
- ns
- Set to "strip" for stripping namespace prefixes and xmlns-attributes.
- whitespace
- Include ignoreable whitespace. Disabled by default.
- xslt
- Optional (list of) XSLT stylesheets to process records with Catmandu::XML::Transformer.
- transform
- Deprecated alias for option "xslt".
SEE ALSO¶
This module is just a thin layer on top of XML::Struct::Reader. Have a look at XML::Struct to implement Importers and Exporters for more specific XML-based data formats.
2022-09-15 | perl v5.34.0 |