Provided by: libcatmandu-xsd-perl_0.05-2_all 

NAME
Catmandu::Importer::XSD - Import and validate serialized XML documents
SYNOPSIS
# Compile an XSD schema file and parse one shiporder.xml file
catmandu convert XSD --root '{}shiporder'
--schemas demo/order/*.xsd
to YAML < shiporder.xml
# Same as above but parse more than one file into an array of records
catmandu convert XSD --root '{}shiporder'
--schemas demo/order/*.xsd
--files 'data/*.xml'
to YAML
# Same as above but all array of records are in a XML container file
catmandu convert XSD --root '{}shiporder'
--schemas demo/order/*.xsd
--xpath '/Container/List//Record/Payload/*'
to YAML < data/container.xml
# In Perl
use Catmandu;
my $importer = Catmandu->importer('XSD',
file => 'ex/data.xml'
root => ...,
schemas => [ ...]
);
my $n = $importer->each(sub {
my $hashref = $_[0];
# ...
});
DESCRIPTION
This is a Catmandu::Importer for parsing and validating XML data using one or more XSD schema files.
CONFIGURATION
file
Read input from a local file given by its path. Alternatively a scalar reference can be passed to
read from a string.
fh Read input from an IO::Handle. If not specified, Catmandu::Util::io is used to create the input
stream from the "file" argument or by using STDIN.
files
Optional. Don't read the content from the standard input but use the 'files' parameter as a glob for
one or more filenames. E.g.
catmandu ... --files 'data/input/*.xml'
examples
Optional. Don't do anything only show an example output how a document should be structured in the
given XSD scheme. E.g.
catmandu convert XSD --root {}shiporder --schemas "t/demo/ead/*xsd" --example 1 to YAML
fix An ARRAY of one or more fixes or file scripts to be applied to imported items.
root
Required. The name (and namespace) of the root element of the XML document. E.g.:
{}shiporder
{http://www.loc.gov/mods/v3}mods
{urn:isbn:1-931666-22-9}ead
schemas
Required. An array or comma separated list of XSD schema locations.
xpath
Optional. An XPath expression, the XML container in which the PNX record can be found. Default :
/oai:OAI-PMH/oai:ListRecords//oai:record/oai:metadata/*
prefixes
Optional. An array or comma delimited string of namespace prefixes to be used hand handling XML
files. E.g.
# On the command line:
catmandu ... --prefixes ead:urn:isbn:1-931666-22-9,...
# In Perl
prefixes => [
ead => 'urn:isbn:1-931666-22-9' ,
... => ...
]
mixed
Optional. The handling of mixed element content. One of ATTRIBUTES (default), TEXTUAL, STRUCTURAL,
XML_NODE, XML_STRING, CODE reference. See also Catmandu::XSD and XML::Compile::Translate::Reader
any_element
Optional. The handling of "<any"> content in schemas. One of TAKE_ALL (default: process as
XML::LibXML::Node) , SKIP_ALL (ignore these) , XML_STRING (process as string) , CODE (provide a
reference to parse the data). See XML::Compile::Translate::Reader
METHODS
Every Catmandu::Importer is a Catmandu::Iterable all its methods are inherited.
SEE ALSO
Catmandu::Importer, Catmandu::XSD
AUTHOR
Patrick Hochstenbach , "patrick.hochstenbach at ugent.be"
LICENSE AND COPYRIGHT
This program is free software; you can redistribute it and/or modify it under the terms of either: the
GNU General Public License as published by the Free Software Foundation; or the Artistic License.
See <http://dev.perl.org/licenses/> for more information.
perl v5.36.0 2022-11-29 Catmandu::Importer::XSD(3pm)