Mark Overmeer

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

See "Accessors" in XML::Compile::Schema

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

See "Accessors" in XML::Compile::Schema

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

See "Accessors" in XML::Compile::Schema

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

See "Accessors" in XML::Compile

$obj->addSchemas(XML, OPTIONS)

See "Accessors" in XML::Compile::Schema

$obj->addTypemap(PAIR)

See "Accessors" in XML::Compile::Schema

$obj->addTypemaps(PAIRS)

See "Accessors" in XML::Compile::Schema

$obj->allowUndeclared([BOOLEAN])

See "Accessors" in XML::Compile::Cache

$obj->anyElement('ATTEMPT'|'SLOPPY'|'SKIP_ALL'|'TAKE_ALL'|CODE)

See "Accessors" in XML::Compile::Cache

$obj->blockNamespace(NAMESPACE|TYPE|HASH|CODE|ARRAY)

See "Accessors" in XML::Compile::Schema

$obj->hooks([READER|WRITER])

See "Accessors" in XML::Compile::Schema

$obj->typemap([HASH|ARRAY|PAIRS])

See "Accessors" in XML::Compile::Cache

$obj->useSchema(SCHEMA, [SCHEMA])

See "Accessors" in XML::Compile::Schema

$obj->xsiType([HASH|ARRAY|LIST])

See "Accessors" in XML::Compile::Cache

Prefix management

See documentation in the base class.

$obj->addPrefixes([PAIRS|ARRAY|HASH])

See "Prefix management" in XML::Compile::Cache

$obj->learnPrefixes(NODE)

See "Prefix management" in XML::Compile::Cache

$obj->prefix(PREFIX)

See "Prefix management" in XML::Compile::Cache

$obj->prefixFor(URI)

See "Prefix management" in XML::Compile::Cache

$obj->prefixed(TYPE|(NAMESPACE,LOCAL))

See "Prefix management" in XML::Compile::Cache

$obj->prefixes([PARAMS])

See "Prefix management" in XML::Compile::Cache

Compilers

See documentation in the base class.

$obj->addCompileOptions(['READERS'|'WRITERS'|'RW'], OPTIONS)

See "Compilers" in XML::Compile::Cache

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

See "Compilers" in XML::Compile::Schema

$obj->compileAll(['READERS'|'WRITERS'|'RW', [NAMESPACE]])

See "Compilers" in XML::Compile::Cache

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

See "Compilers" in XML::Compile

$obj->initParser(OPTIONS)
XML::Compile::RPC->initParser(OPTIONS)

See "Compilers" in XML::Compile

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

See "Compilers" in XML::Compile::Cache

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

See "Compilers" in XML::Compile::Schema

$obj->writer(TYPE|NAME)

See "Compilers" in XML::Compile::Cache

Administration

See documentation in the base class.

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

See "Administration" in XML::Compile::Cache

$obj->doesExtend(EXTTYPE, BASETYPE)

See "Administration" in XML::Compile::Schema

$obj->elements()

See "Administration" in XML::Compile::Schema

$obj->findName(NAME)

See "Administration" in XML::Compile::Cache

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

See "Administration" in XML::Compile

$obj->importDefinitions(XMLDATA, OPTIONS)

See "Administration" in XML::Compile::Schema

$obj->knownNamespace(NAMESPACE|PAIRS)
XML::Compile::RPC->knownNamespace(NAMESPACE|PAIRS)

See "Administration" in XML::Compile

$obj->namespaces()

See "Administration" in XML::Compile::Schema

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

See "Administration" in XML::Compile::Cache

$obj->types()

See "Administration" in XML::Compile::Schema

$obj->walkTree(NODE, CODE)

See "Administration" in XML::Compile

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.17, built on September 12, 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




Hosting generously
sponsored by Bytemark