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.

Extends "DESCRIPTION" in XML::Compile::Cache.

METHODS

Extends "METHODS" in XML::Compile::Cache.

Constructors

Extends "Constructors" in XML::Compile::Cache.

XML::eXistDB->new(%options)
-Option            --Defined in          --Default
 allow_undeclared    XML::Compile::Cache   <true>
 any_element         XML::Compile::Cache   'ATTEMPT'
 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 => HOOK|ARRAY
hooks => ARRAY
ignore_unused_tags => BOOLEAN|REGEXP
key_rewrite => HASH|CODE|ARRAY
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

Extends "Accessors" in XML::Compile::Cache.

$obj->addHook($hook|LIST|undef)

Inherited, see "Accessors" in XML::Compile::Schema

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

Inherited, see "Accessors" in XML::Compile::Schema

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

Inherited, see "Accessors" in XML::Compile::Schema

$obj->addSchemaDirs(@directories|$filename)
XML::eXistDB->addSchemaDirs(@directories|$filename)

Inherited, see "Accessors" in XML::Compile

$obj->addSchemas($xml, %options)

Inherited, see "Accessors" in XML::Compile::Schema

$obj->addTypemap(PAIR)

Inherited, see "Accessors" in XML::Compile::Schema

$obj->addTypemaps(PAIRS)

Inherited, see "Accessors" in XML::Compile::Schema

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

Inherited, see "Accessors" in XML::Compile::Cache

$obj->allowUndeclared( [BOOLEAN] )

Inherited, see "Accessors" in XML::Compile::Cache

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

Inherited, see "Accessors" in XML::Compile::Cache

$obj->blockNamespace($ns|$type|HASH|CODE|ARRAY)

Inherited, see "Accessors" in XML::Compile::Schema

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

Inherited, see "Accessors" in XML::Compile::Schema

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

Inherited, see "Accessors" in XML::Compile::Cache

$obj->useSchema( $schema, [$schema, ...] )

Inherited, see "Accessors" in XML::Compile::Schema

Prefix management

Extends "Prefix management" in XML::Compile::Cache.

$obj->addNicePrefix(BASE, NAMESPACE)

Inherited, see "Prefix management" in XML::Compile::Cache

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

Inherited, see "Prefix management" in XML::Compile::Cache

$obj->learnPrefixes($node)

Inherited, see "Prefix management" in XML::Compile::Cache

$obj->prefix($prefix)

Inherited, see "Prefix management" in XML::Compile::Cache

$obj->prefixFor($uri)

Inherited, see "Prefix management" in XML::Compile::Cache

$obj->prefixed( $type|<$ns,$local> )

Inherited, see "Prefix management" in XML::Compile::Cache

$obj->prefixes( [$params] )

Inherited, see "Prefix management" in XML::Compile::Cache

Compilers

Extends "Compilers" in XML::Compile::Cache.

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

Inherited, see "Compilers" in XML::Compile::Cache

$obj->compile( <'READER'|'WRITER'>, $type, %options )

Inherited, see "Compilers" in XML::Compile::Schema

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

Inherited, see "Compilers" in XML::Compile::Cache

$obj->compileType( <'READER'|'WRITER'>, $type, %options )

Inherited, see "Compilers" in XML::Compile::Schema

$obj->dataToXML($node|REF-XML|XML-STRING|$filename|$fh|$known)
XML::eXistDB->dataToXML($node|REF-XML|XML-STRING|$filename|$fh|$known)

Inherited, see "Compilers" in XML::Compile

$obj->initParser(%options)
XML::eXistDB->initParser(%options)

Inherited, see "Compilers" in XML::Compile

$obj->reader($type|$name, %options)

Inherited, see "Compilers" in XML::Compile::Cache

$obj->template( <'XML'|'PERL'|'TREE'>, $element, %options )

Inherited, see "Compilers" in XML::Compile::Schema

$obj->writer($type|$name)

Inherited, see "Compilers" in XML::Compile::Cache

Administration

Extends "Administration" in XML::Compile::Cache.

$obj->declare( <'READER'|'WRITER'|'RW'>, <$type|ARRAY>, %options )

Inherited, see "Administration" in XML::Compile::Cache

$obj->doesExtend($exttype, $basetype)

Inherited, see "Administration" in XML::Compile::Schema

$obj->elements()

Inherited, see "Administration" in XML::Compile::Schema

$obj->findName($name)

Inherited, see "Administration" in XML::Compile::Cache

$obj->findSchemaFile($filename)
XML::eXistDB->findSchemaFile($filename)

Inherited, see "Administration" in XML::Compile

$obj->importDefinitions($xmldata, %options)

Inherited, see "Administration" in XML::Compile::Schema

$obj->knownNamespace($ns|PAIRS)
XML::eXistDB->knownNamespace($ns|PAIRS)

Inherited, see "Administration" in XML::Compile

$obj->namespaces()

Inherited, see "Administration" in XML::Compile::Schema

$obj->printIndex( [$fh], %options )

Inherited, see "Administration" in XML::Compile::Cache

$obj->types()

Inherited, see "Administration" in XML::Compile::Schema

$obj->walkTree($node, CODE)

Inherited, 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.

DETAILS

Extends "DETAILS" in XML::Compile::Cache.

DESCRIPTIONS

Extends "DESCRIPTIONS" in XML::Compile::Cache.

SEE ALSO

This module is part of XML-ExistDB distribution version 0.14, built on July 25, 2015. Website: http://perl.overmeer.net/xml-compile/

Other distributions in this suite: XML::Compile, XML::Compile::SOAP, XML::Compile::WSDL11, 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 2010-2015 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