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