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

NAME

XML::Compile::RPC - XML-RPC schema handler

INHERITANCE

 XML::Compile::RPC
   is a XML::Compile::Cache
   is a XML::Compile::Schema
   is a XML::Compile

SYNOPSIS

 # you should initiate the ::Client

DESCRIPTION

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.

METHODS

Constructors

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

Accessors

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

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

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

$obj->addSchemaDirs(DIRECTORIES|FILENAME)

XML::Compile::RPC->addSchemaDirs(DIRECTORIES|FILENAME)

$obj->addSchemas(XML, OPTIONS)

$obj->addTypemap(PAIR)

$obj->addTypemaps(PAIRS)

$obj->allowUndeclared([BOOLEAN])

$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])

Compilers

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

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

XML::Compile::RPC->dataToXML(NODE|REF-XML-STRING|XML-STRING|FILENAME|FILEHANDLE|KNOWN)

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

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

$obj->writer(TYPE|NAME)

Administration

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

$obj->elements

$obj->findName(NAME)

$obj->findSchemaFile(FILENAME)

XML::Compile::RPC->findSchemaFile(FILENAME)

$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)

Administration

DETAILS

SEE ALSO

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.

LICENSE

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