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
- 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)
- $obj->addHook(HOOKDATA|HOOK|undef)
- $obj->addHooks(HOOK, [HOOK, ...])
- $obj->addKeyRewrite(PREDEF|CODE|HASH, ...)
- $obj->addSchemaDirs(DIRECTORIES|FILENAME)
- XML::eXistDB->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()
- $obj->prefix(PREFIX)
- $obj->prefixFor(URI)
- $obj->prefixed(TYPE)
- $obj->prefixes([PAIRS|ARRAY|HASH])
- $obj->typemap([HASH|ARRAY|PAIRS])
- $obj->useSchema(SCHEMA, [SCHEMA])
- $obj->xsiType([HASH|ARRAY|LIST])
Compilers
- $obj->compile(('READER'|'WRITER'), TYPE, OPTIONS)
- $obj->compileAll(['READERS'|'WRITERS'|'RW', [NAMESPACE]])
- $obj->dataToXML(NODE|REF-XML-STRING|XML-STRING|FILENAME|FILEHANDLE|KNOWN)
- XML::eXistDB->dataToXML(NODE|REF-XML-STRING|XML-STRING|FILENAME|FILEHANDLE|KNOWN)
- $obj->initParser(OPTIONS)
- XML::eXistDB->initParser(OPTIONS)
- $obj->reader(TYPE|NAME, OPTIONS)
- $obj->template('XML'|'PERL'|'TREE', ELEMENT, OPTIONS)
- $obj->writer(TYPE|NAME)
Administration
- $obj->declare('READER'|'WRITER'|'RW', TYPE|ARRAY-of-TYPES, OPTIONS)
- $obj->doesExtend(EXTTYPE, BASETYPE)
- $obj->elements()
- $obj->findName(NAME)
- $obj->findSchemaFile(FILENAME)
- XML::eXistDB->findSchemaFile(FILENAME)
- $obj->importDefinitions(XMLDATA, OPTIONS)
- $obj->knownNamespace(NAMESPACE|PAIRS)
- XML::eXistDB->knownNamespace(NAMESPACE|PAIRS)
- $obj->namespaces()
- $obj->printIndex([FILEHANDLE], OPTIONS)
- $obj->types()
- $obj->walkTree(NODE, CODE)
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 thetemplate/collection.xconf
, which is part of the distribution.-Option --Default beautify <true>
- $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