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

NAME

 XML::eXistDB - handle the eXist pure XML database

INHERITANCE

 XML::eXistDB
   is a XML::Compile::Cache
   is a XML::Compile::Schema
   is a XML::Compile

SYNOPSIS

 # You want to talk to eXist via a protocol. Read that manpage
 use XML::eXistDB::RPC;
 my $db = XML::eXistDB::RPC->new(...);

DESCRIPTION

There are many database which support XML and Xquery. Quite a number of them translate XML into tables and Xquery into SQL statements. The eXist database however, is a pure XML/Xquery database. Website: http://exist-db.org

The XML::eXistDB distribution contains the following modules:

. XML::eXistDB focuses on processing eXist (configuration) files
. XML::eXistDB::Util contains convenience functions and constants
. XML::eXistDB::RPC implements the large XML-RPC API to speak to an eXist daemon

The "REST" API for eXist is very different from the XML-RPC API, so there is no chance on a common base-class. The XML-RPC API is probably quite close to the XML:DB standard, but for the moment, no attempts are made to unify the implementation to facilitate different XML databases back-ends.

METHODS

Constructors

XML::eXistDB->new(OPTIONS)
 -Option            --Defined in     --Default
  allow_undeclared    XML::Compile::Cache  <true>
  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                         <sloppy ints and floats>
  opts_rw             XML::Compile::Cache  []
  opts_writers        XML::Compile::Cache  []
  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 => []
opts_rw => HASH|ARRAY-of-PAIRS
opts_writers => HASH|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

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

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

$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::eXistDB->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()

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

$obj->prefix(PREFIX)

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

$obj->prefixFor(URI)

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

$obj->prefixed(TYPE)

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

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

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

$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

Compilers

$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::eXistDB->dataToXML(NODE|REF-XML-STRING|XML-STRING|FILENAME|FILEHANDLE|KNOWN)

See "Compilers" in XML::Compile

$obj->initParser(OPTIONS)
XML::eXistDB->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

$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::eXistDB->findSchemaFile(FILENAME)

See "Administration" in XML::Compile

$obj->importDefinitions(XMLDATA, OPTIONS)

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

$obj->knownNamespace(NAMESPACE|PAIRS)
XML::eXistDB->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

Collection configuration (.xconf)

$obj->createCollectionConfig(DATA, OPTIONS)

The DATA structure should provide the needs for an collection configuration file, in the shape XML::Compile expects based on the schema. See the template/collection.xconf, which is part of the distribution.

 -Option  --Default
  beautify  <true>
beautify => BOOLEAN
$obj->decodeXML(STRING)

Received is a STRING produced by the server. Decode it, into the most useful Perl data structure.

SEE ALSO

This module is part of XML-ExistDB distribution version 0.12, built on August 28, 2012. 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::Tester, XML::Compile::Cache, XML::Compile::Dumper, XML::Compile::RPC, XML::Rewrite, XML::eXistDB, 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 2010-2012 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