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
# this module contains the low-level XML implementation
# ******
DESCRIPTION
This class handles the XML-RPC pseudo schema for XML-RPC client or servers. The server-side 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.
See http://www.xmlrpc.com/spec and http://en.wikipedia.org/wiki/XML-RPC
Supported simple data types:
base64
boolean
dateTime.iso8601
double
i4
int
nil [added with 0.16]
string
To use any of these types, you use "typename => value". For nil
, use "nil => {}".
Supported data structures:
array
struct
See documentation in the base class.
METHODS
See documentation in the base class.
Constructors
See documentation in the base class.
- 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 [] parser_options XML::Compile <many> prefixes XML::Compile::Cache <smart> schema_dirs XML::Compile undef typemap XML::Compile::Cache {} xsi_type XML::Compile::Cache {}
- 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
- key_rewrite => HASH|CODE|ARRAY-of-HASH-and-CODE
- opts_readers => ARRAY-OF-PAIRS
- opts_rw => ARRAY-OF-PAIRS
- opts_writers => ARRAY-OF-PAIRS
- parser_options => HASH|ARRAY
- prefixes => HASH|ARRAY-of-PAIRS
- schema_dirs => DIRECTORY|ARRAY-OF-DIRECTORIES
- typemap => HASH|ARRAY
- xsi_type => HASH|ARRAY
Accessors
See documentation in the base class.
- $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->anyElement('ATTEMPT'|'SLOPPY'|'SKIP_ALL'|'TAKE_ALL'|CODE)
- $obj->blockNamespace(NAMESPACE|TYPE|HASH|CODE|ARRAY)
- $obj->hooks([READER|WRITER])
- $obj->typemap([HASH|ARRAY|PAIRS])
- $obj->useSchema(SCHEMA, [SCHEMA])
- $obj->xsiType([HASH|ARRAY|LIST])
Prefix management
See documentation in the base class.
- $obj->addPrefixes([PAIRS|ARRAY|HASH])
- $obj->learnPrefixes(NODE)
- $obj->prefix(PREFIX)
- $obj->prefixFor(URI)
- $obj->prefixed(TYPE|(NAMESPACE,LOCAL))
- $obj->prefixes([PARAMS])
Compilers
See documentation in the base class.
- $obj->addCompileOptions(['READERS'|'WRITERS'|'RW'], OPTIONS)
- $obj->compile(('READER'|'WRITER'), TYPE, OPTIONS)
- $obj->compileAll(['READERS'|'WRITERS'|'RW', [NAMESPACE]])
- $obj->dataToXML(NODE|REF-XML-STRING|XML-STRING|FILENAME|FILEHANDLE|KNOWN)
- XML::Compile::RPC->dataToXML(NODE|REF-XML-STRING|XML-STRING|FILENAME|FILEHANDLE|KNOWN)
- $obj->initParser(OPTIONS)
- XML::Compile::RPC->initParser(OPTIONS)
- $obj->reader(TYPE|NAME, OPTIONS)
- $obj->template('XML'|'PERL'|'TREE', ELEMENT, OPTIONS)
- $obj->writer(TYPE|NAME)
Administration
See documentation in the base class.
- $obj->declare('READER'|'WRITER'|'RW', TYPE|ARRAY-of-TYPES, OPTIONS)
- $obj->doesExtend(EXTTYPE, BASETYPE)
- $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)
DETAILS
See documentation in the base class.
DESCRIPTIONS
See documentation in the base class.
SEE ALSO
This module is part of XML-Compile-RPC distribution version 0.16, built on August 18, 2013. Website: http://perl.overmeer.net/xml-compile/
Other distributions in this suite: XML::Compile, XML::Compile::SOAP, XML::Compile::SOAP12, XML::Compile::SOAP::Daemon, XML::Compile::SOAP::WSA, XML::Compile::C14N, XML::Compile::WSS, XML::Compile::WSS::Signature, XML::Compile::Tester, XML::Compile::Cache, XML::Compile::Dumper, XML::Compile::RPC, XML::Rewrite and XML::LibXML::Simple.
Please post questions or ideas to the mailinglist at http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/xml-compile . For live contact with other developers, visit the #xml-compile
channel on irc.perl.org
.
LICENSE
Copyrights 2009-2013 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