The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

XML::Rewrite::Schema - transform schemas

INHERITANCE

 XML::Rewrite::Schema
   is a XML::Rewrite
   is a XML::Compile::Cache
   is a XML::Compile::Schema
   is a XML::Compile

SYNOPSIS

 my $rewriter = XML::Rewriter::Schema->new(...);
 my ($type, $data) = $rewriter->process($file);
 my $doc = $rewriter->buildDOM($type => $data);

DESCRIPTION

Implements additional transformations, available for SCHEMA (version 2001) specific extension.

Feel invited to contribute ideas of useful features.

METHODS

Constructors

XML::Rewrite::Schema->new([SCHEMA], OPTIONS)

     Option               --Defined in     --Default
     allow_undeclared       XML::Compile::Cache  <true>
     any_attribute          XML::Compile::Cache  'ATTEMPT'
     any_element            XML::Compile::Cache  'ATTEMPT'
     attribute_form                          <undef>
     blanks_before          XML::Rewrite     'NONE'
     change                 XML::Rewrite     'TRANSFORM'
     comments               XML::Rewrite     'KEEP'
     defaults_writer        XML::Rewrite     'IGNORE'
     element_form                            <undef>
     expand_includes                         <false>
     hook                   XML::Compile::Schema  undef
     hooks                  XML::Compile::Schema  []
     ignore_unused_tags     XML::Compile::Schema  <false>
     key_rewrite            XML::Compile::Schema  []
     opts_readers           XML::Compile::Cache  []
     opts_rw                XML::Compile::Cache  []
     opts_writers           XML::Compile::Cache  []
     output_compression     XML::Rewrite     <undef>
     output_encoding        XML::Rewrite     <undef>
     output_standalone      XML::Rewrite     <undef>
     output_version         XML::Rewrite     <undef>
     prefixes               XML::Compile::Cache  <smart>
     remove_annotation                       <false>
     remove_elements        XML::Rewrite     []
     remove_id_constraints                   <false>
     schema_dirs            XML::Compile     undef
     target_namespace                        <undef>
     typemap                XML::Compile::Schema  {}
     use_default_namespace  XML::Rewrite     <false>

    . allow_undeclared => BOOLEAN

    . any_attribute => CODE|'TAKE_ALL'|'SKIP_ALL'|'ATTEMPT'

    . any_element => CODE|'TAKE_ALL'|'SKIP_ALL'|'ATTEMPT'

    . attribute_form => 'qualified'|'unqualified'

    . blanks_before => 'ALL'|'CONTAINERS'|'NONE'

    . change => 'REPAIR'|'TRANSFORM'

    . comments => 'REMOVE'|'KEEP'

    . defaults_writer => 'EXTEND'|'IGNORE'|'MINIMAL'

    . element_form => 'qualified'|'unqualified'

    . expand_includes => BOOLEAN

      Include all the "include" files recursively, and merge their content with the main schema.

    . hook => ARRAY-WITH-HOOKDATA | HOOK

    . hooks => ARRAY-OF-HOOK

    . ignore_unused_tags => BOOLEAN|REGEXP

    . key_rewrite => HASH|CODE|ARRAY-of-HASH-and-CODE

    . opts_readers => HASH|ARRAY-of-PAIRS

    . opts_rw => HASH|ARRAY-of-PAIRS

    . opts_writers => HASH|ARRAY-of-PAIRS

    . output_compression => -1, 0-8

    . output_encoding => CHARSET

    . output_standalone => BOOLEAN|'yes'|'no'

    . output_version => STRING

    . prefixes => HASH|ARRAY-of-PAIRS

    . remove_annotation => BOOLEAN

    . remove_elements => ARRAY

    . remove_id_constraints => BOOLEAN

      Remove the identity constraints (key, keyref, and unique elements) from the schema.

    . schema_dirs => DIRECTORY|ARRAY-OF-DIRECTORIES

    . target_namespace => URI

    . typemap => HASH

    . use_default_namespace => BOOLEAN

Accessors

$obj->addHook(HOOKDATA|HOOK|undef)

$obj->addHooks(HOOK, [HOOK, ...])

$obj->addKeyRewrite(CODE|HASH, CODE|HASH, ...)

$obj->addSchemaDirs(DIRECTORIES|FILENAME)

XML::Rewrite::Schema->addSchemaDirs(DIRECTORIES|FILENAME)

$obj->addSchemas(XML, OPTIONS)

$obj->addTypemap(PAIR)

$obj->addTypemaps(PAIRS)

$obj->allowUndeclared([BOOLEAN])

$obj->hooks

$obj->prefixes([PAIRS])

Compilers

$obj->compile(('READER'|'WRITER'), TYPE, OPTIONS)

$obj->compileAll(['READER'|'WRITER'|'RW', [NAMESPACE]])

$obj->dataToXML(NODE|REF-XML-STRING|XML-STRING|FILENAME|FILEHANDLE|KNOWN)

$obj->reader(TYPE|NAME, OPTIONS)

$obj->template('XML'|'PERL', TYPE, OPTIONS)

$obj->writer(TYPE|NAME)

Administration

$obj->declare('READER'|'WRITER'|'RW', TYPE|ARRAY-of-TYPES, OPTIONS)

$obj->elements

$obj->findName(NAME)

$obj->findSchemaFile(FILENAME)

$obj->importDefinitions(XMLDATA, OPTIONS)

$obj->knownNamespace(NAMESPACE|PAIRS)

XML::Rewrite::Schema->knownNamespace(NAMESPACE|PAIRS)

$obj->namespaces

$obj->printIndex([FILEHANDLE], OPTIONS)

$obj->types

$obj->walkTree(NODE, CODE)

Processing

$obj->buildDOM(TYPE, DATA, OPTIONS)

$obj->process(XMLDATA, OPTIONS)

$obj->repairXML(TYPE, XML, DETAILS)

$obj->transformData(TYPE, DATA, DETAILS)

DETAILS

DIAGNOSTICS

Error: cannot find pre-installed name-space files

    Use $ENV{SCHEMA_LOCATION} or new(schema_dirs) to express location of installed name-space files, which came with the XML::Compile distribution package.

Error: don't known how to interpret XML data

SEE ALSO

This module is part of XML-Rewrite distribution version 0.10, built on August 11, 2008. Website: http://perl.overmeer.net/xml-compile/

All modules in this suite: XML::Compile, XML::Compile::SOAP, XML::Compile::SOAP::Daemon, XML::Compile::Tester, XML::Compile::Cache, XML::Rewrite, XML::Compile::Dumper.

Please post questions or ideas to the mailinglist at http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/xml-compile For life contact with other developers, visit the #xml-compile channel on irc.perl.org.

LICENSE

Copyrights 2008 by Mark Overmeer. For other contributors see ChangeLog.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See http://www.perl.com/perl/misc/Artistic.html