XML::Compile::RPC - XML-RPC schema handler
XML::Compile::RPC is a XML::Compile::Cache is a XML::Compile::Schema is a XML::Compile
# you should initiate the ::Client
This class handles the XML-RPC pseudo schema for XML-RPC client or servers. The server has not been implemented (yet).
XML-RPC does not have an official schema, however with some craftsmanship, one has been produced. It actually works quite well. Some types, especially the data type, needed some help to fit onto the schema type definitions.
XML::Compile::RPC->new(OPTIONS)
Option --Defined in --Default allow_undeclared XML::Compile::Cache <false> any_element XML::Compile::Cache 'SKIP_ALL' block_namespace XML::Compile::Schema [] hook XML::Compile::Schema undef hooks XML::Compile::Schema [] ignore_unused_tags XML::Compile::Schema <false> key_rewrite XML::Compile::Schema [] opts_readers [] opts_rw [] opts_writers [] prefixes XML::Compile::Cache <smart> schema_dirs XML::Compile undef typemap XML::Compile::Schema {}
. allow_undeclared => BOOLEAN
. any_element => CODE|'TAKE_ALL'|'SKIP_ALL'|'ATTEMPT'|'SLOPPY'
. block_namespace => NAMESPACE|TYPE|HASH|CODE|ARRAY
. 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 => ARRAY-OF-PAIRS
. opts_rw => ARRAY-OF-PAIRS
. opts_writers => ARRAY-OF-PAIRS
. prefixes => HASH|ARRAY-of-PAIRS
. schema_dirs => DIRECTORY|ARRAY-OF-DIRECTORIES
. typemap => HASH
$obj->addHook(HOOKDATA|HOOK|undef)
See "Accessors" in XML::Compile::Schema
$obj->addHooks(HOOK, [HOOK, ...])
$obj->addKeyRewrite(PREDEF|CODE|HASH, ...)
$obj->addSchemaDirs(DIRECTORIES|FILENAME)
XML::Compile::RPC->addSchemaDirs(DIRECTORIES|FILENAME)
See "Accessors" in XML::Compile
$obj->addSchemas(XML, OPTIONS)
$obj->addTypemap(PAIR)
$obj->addTypemaps(PAIRS)
$obj->allowUndeclared([BOOLEAN])
See "Accessors" in XML::Compile::Cache
$obj->blockNamespace(NAMESPACE|TYPE|HASH|CODE|ARRAY)
$obj->hooks
$obj->prefix(PREFIX)
$obj->prefixFor(URI)
$obj->prefixed(TYPE)
$obj->prefixes([PAIRS|ARRAY|HASH])
$obj->useSchema(SCHEMA, [SCHEMA])
$obj->compile(('READER'|'WRITER'), TYPE, OPTIONS)
See "Compilers" in XML::Compile::Schema
$obj->compileAll(['READER'|'WRITER'|'RW', [NAMESPACE]])
See "Compilers" in XML::Compile::Cache
XML::Compile::RPC->dataToXML(NODE|REF-XML-STRING|XML-STRING|FILENAME|FILEHANDLE|KNOWN)
See "Compilers" in XML::Compile
$obj->reader(TYPE|NAME, OPTIONS)
$obj->template('XML'|'PERL', ELEMENT, OPTIONS)
$obj->writer(TYPE|NAME)
$obj->declare('READER'|'WRITER'|'RW', TYPE|ARRAY-of-TYPES, OPTIONS)
See "Administration" in XML::Compile::Cache
$obj->elements
See "Administration" in XML::Compile::Schema
$obj->findName(NAME)
$obj->findSchemaFile(FILENAME)
XML::Compile::RPC->findSchemaFile(FILENAME)
See "Administration" in XML::Compile
$obj->importDefinitions(XMLDATA, OPTIONS)
$obj->knownNamespace(NAMESPACE|PAIRS)
XML::Compile::RPC->knownNamespace(NAMESPACE|PAIRS)
$obj->namespaces
$obj->printIndex([FILEHANDLE], OPTIONS)
$obj->types
$obj->walkTree(NODE, CODE)
This module is part of XML-Compile-RPC distribution version 0.15, built on June 17, 2010. Website: http://perl.overmeer.net/xml-compile/
All modules in this suite: XML::Compile, XML::Compile::SOAP, XML::Compile::SOAP12, XML::Compile::SOAP::Daemon, XML::Compile::SOAP::WSA, XML::Compile::Tester, XML::Compile::Cache, XML::Compile::Dumper, XML::Compile::RPC, and XML::Rewrite, XML::ExistDB, XML::LibXML::Simple.
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.
#xml-compile
irc.perl.org
Copyrights 2009-2010 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
To install XML::Compile::RPC, copy and paste the appropriate command in to your terminal.
cpanm
cpanm XML::Compile::RPC
CPAN shell
perl -MCPAN -e shell install XML::Compile::RPC
For more information on module installation, please visit the detailed CPAN module installation guide.