=encoding utf8
=head1 NAME
XML::eXistDB - handle the eXist pure XML database
=head1 INHERITANCE
XML::eXistDB
is a XML::Compile::Cache
is a XML::Compile::Schema
is a XML::Compile
=head1 SYNOPSIS
# You want to talk to eXist via a protocol. Read that manpage
use XML::eXistDB::RPC;
my $db = XML::eXistDB::RPC->new(...);
=head1 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: F<http://exist-db.org>
The C<XML::eXistDB> distribution contains the following modules:
=over 4
=item . C<XML::eXistDB> focuses on processing eXist (configuration) files
=item . C<XML::eXistDB::Util> contains convenience functions and constants
=item . C<XML::eXistDB::RPC> implements the large XML-RPC API to speak to an eXist daemon
=back
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 L<"DESCRIPTION" in XML::Compile::Cache|XML::Compile::Cache/"DESCRIPTION">.
=head1 METHODS
Extends L<"METHODS" in XML::Compile::Cache|XML::Compile::Cache/"METHODS">.
=head2 Constructors
Extends L<"Constructors" in XML::Compile::Cache|XML::Compile::Cache/"Constructors">.
=over 4
=item XML::eXistDB-E<gt>B<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 {}
=over 2
=item allow_undeclared => BOOLEAN
=item any_element => CODE|'TAKE_ALL'|'SKIP_ALL'|'ATTEMPT'|'SLOPPY'
=item block_namespace => NAMESPACE|TYPE|HASH|CODE|ARRAY
=item hook => HOOK|ARRAY
=item hooks => ARRAY
=item ignore_unused_tags => BOOLEAN|REGEXP
=item key_rewrite => HASH|CODE|ARRAY
=item opts_readers => []
=item opts_rw => HASH|ARRAY-of-PAIRS
=item opts_writers => HASH|ARRAY-of-PAIRS
=item parser_options => HASH|ARRAY
=item prefixes => HASH|ARRAY-of-PAIRS
=item schema_dirs => DIRECTORY|ARRAY-OF-DIRECTORIES
=item typemap => HASH|ARRAY
=item xsi_type => HASH|ARRAY
=back
=back
=head2 Accessors
Extends L<"Accessors" in XML::Compile::Cache|XML::Compile::Cache/"Accessors">.
=over 4
=item $obj-E<gt>B<addHook>($hook|LIST|undef)
Inherited, see L<XML::Compile::Schema/"Accessors">
=item $obj-E<gt>B<addHooks>( $hook, [$hook, ...] )
Inherited, see L<XML::Compile::Schema/"Accessors">
=item $obj-E<gt>B<addKeyRewrite>($predef|CODE|HASH, ...)
Inherited, see L<XML::Compile::Schema/"Accessors">
=item $obj-E<gt>B<addSchemaDirs>($directories|$filename)
=item XML::eXistDB-E<gt>B<addSchemaDirs>($directories|$filename)
Inherited, see L<XML::Compile/"Accessors">
=item $obj-E<gt>B<addSchemas>($xml, %options)
Inherited, see L<XML::Compile::Schema/"Accessors">
=item $obj-E<gt>B<addTypemap>(PAIR)
Inherited, see L<XML::Compile::Schema/"Accessors">
=item $obj-E<gt>B<addTypemaps>(PAIRS)
Inherited, see L<XML::Compile::Schema/"Accessors">
=item $obj-E<gt>B<addXsiType>( [HASH|ARRAY|LIST] )
Inherited, see L<XML::Compile::Cache/"Accessors">
=item $obj-E<gt>B<allowUndeclared>( [BOOLEAN] )
Inherited, see L<XML::Compile::Cache/"Accessors">
=item $obj-E<gt>B<anyElement>('ATTEMPT'|'SLOPPY'|'SKIP_ALL'|'TAKE_ALL'|CODE)
Inherited, see L<XML::Compile::Cache/"Accessors">
=item $obj-E<gt>B<blockNamespace>($ns|$type|HASH|CODE|ARRAY)
Inherited, see L<XML::Compile::Schema/"Accessors">
=item $obj-E<gt>B<hooks>( [<'READER'|'WRITER'>] )
Inherited, see L<XML::Compile::Schema/"Accessors">
=item $obj-E<gt>B<typemap>( [HASH|ARRAY|PAIRS] )
Inherited, see L<XML::Compile::Cache/"Accessors">
=item $obj-E<gt>B<useSchema>( $schema, [$schema, ...] )
Inherited, see L<XML::Compile::Schema/"Accessors">
=back
=head2 Prefix management
Extends L<"Prefix management" in XML::Compile::Cache|XML::Compile::Cache/"Prefix management">.
=over 4
=item $obj-E<gt>B<addPrefixes>( [PAIRS|ARRAY|HASH] )
Inherited, see L<XML::Compile::Cache/"Prefix management">
=item $obj-E<gt>B<learnPrefixes>($node)
Inherited, see L<XML::Compile::Cache/"Prefix management">
=item $obj-E<gt>B<prefix>($prefix)
Inherited, see L<XML::Compile::Cache/"Prefix management">
=item $obj-E<gt>B<prefixFor>($uri)
Inherited, see L<XML::Compile::Cache/"Prefix management">
=item $obj-E<gt>B<prefixed>( $type|<$ns,$local> )
Inherited, see L<XML::Compile::Cache/"Prefix management">
=item $obj-E<gt>B<prefixes>( [$params] )
Inherited, see L<XML::Compile::Cache/"Prefix management">
=back
=head2 Compilers
Extends L<"Compilers" in XML::Compile::Cache|XML::Compile::Cache/"Compilers">.
=over 4
=item $obj-E<gt>B<addCompileOptions>( ['READERS'|'WRITERS'|'RW'], %options )
Inherited, see L<XML::Compile::Cache/"Compilers">
=item $obj-E<gt>B<compile>( <'READER'|'WRITER'>, $type, %options )
Inherited, see L<XML::Compile::Schema/"Compilers">
=item $obj-E<gt>B<compileAll>( ['READERS'|'WRITERS'|'RW', [$ns]] )
Inherited, see L<XML::Compile::Cache/"Compilers">
=item $obj-E<gt>B<dataToXML>($node|REF-XML|XML-STRING|$filename|$fh|$known)
=item XML::eXistDB-E<gt>B<dataToXML>($node|REF-XML|XML-STRING|$filename|$fh|$known)
Inherited, see L<XML::Compile/"Compilers">
=item $obj-E<gt>B<initParser>(%options)
=item XML::eXistDB-E<gt>B<initParser>(%options)
Inherited, see L<XML::Compile/"Compilers">
=item $obj-E<gt>B<reader>($type|$name, %options)
Inherited, see L<XML::Compile::Cache/"Compilers">
=item $obj-E<gt>B<template>( <'XML'|'PERL'|'TREE'>, $element, %options )
Inherited, see L<XML::Compile::Schema/"Compilers">
=item $obj-E<gt>B<writer>($type|$name)
Inherited, see L<XML::Compile::Cache/"Compilers">
=back
=head2 Administration
Extends L<"Administration" in XML::Compile::Cache|XML::Compile::Cache/"Administration">.
=over 4
=item $obj-E<gt>B<declare>( <'READER'|'WRITER'|'RW'>, <$type|ARRAY>, %options )
Inherited, see L<XML::Compile::Cache/"Administration">
=item $obj-E<gt>B<doesExtend>($exttype, $basetype)
Inherited, see L<XML::Compile::Schema/"Administration">
=item $obj-E<gt>B<elements>()
Inherited, see L<XML::Compile::Schema/"Administration">
=item $obj-E<gt>B<findName>($name)
Inherited, see L<XML::Compile::Cache/"Administration">
=item $obj-E<gt>B<findSchemaFile>($filename)
=item XML::eXistDB-E<gt>B<findSchemaFile>($filename)
Inherited, see L<XML::Compile/"Administration">
=item $obj-E<gt>B<importDefinitions>($xmldata, %options)
Inherited, see L<XML::Compile::Schema/"Administration">
=item $obj-E<gt>B<knownNamespace>($ns|PAIRS)
=item XML::eXistDB-E<gt>B<knownNamespace>($ns|PAIRS)
Inherited, see L<XML::Compile/"Administration">
=item $obj-E<gt>B<namespaces>()
Inherited, see L<XML::Compile::Schema/"Administration">
=item $obj-E<gt>B<printIndex>( [$fh], %options )
Inherited, see L<XML::Compile::Cache/"Administration">
=item $obj-E<gt>B<types>()
Inherited, see L<XML::Compile::Schema/"Administration">
=item $obj-E<gt>B<walkTree>($node, CODE)
Inherited, see L<XML::Compile/"Administration">
=back
=head2 Collection configuration (.xconf)
=over 4
=item $obj-E<gt>B<createCollectionConfig>($data, %options)
The $data structure should provide the needs for an collection configuration
file, in the shape C<XML::Compile> expects based on the schema. See the
C<template/collection.xconf>, which is part of the distribution.
-Option --Default
beautify <true>
=over 2
=item beautify => BOOLEAN
=back
=item $obj-E<gt>B<decodeXML>(STRING)
Received is a STRING produced by the server. Decode it, into the most
useful Perl data structure.
=back
=head1 DETAILS
Extends L<"DETAILS" in XML::Compile::Cache|XML::Compile::Cache/"DETAILS">.
=head1 DESCRIPTIONS
Extends L<"DESCRIPTIONS" in XML::Compile::Cache|XML::Compile::Cache/"DESCRIPTIONS">.
=head1 SEE ALSO
This module is part of XML-ExistDB distribution version 0.13,
built on January 22, 2014. Website: F<http://perl.overmeer.net/xml-compile/>
Other distributions in this suite:
L<XML::Compile>,
L<XML::Compile::SOAP>,
L<XML::Compile::WSDL11>,
L<XML::Compile::SOAP12>,
L<XML::Compile::SOAP::Daemon>,
L<XML::Compile::SOAP::WSA>,
L<XML::Compile::C14N>,
L<XML::Compile::WSS>,
L<XML::Compile::WSS::Signature>,
L<XML::Compile::Tester>,
L<XML::Compile::Cache>,
L<XML::Compile::Dumper>,
L<XML::Compile::RPC>,
L<XML::Rewrite>
and
L<XML::LibXML::Simple>.
Please post questions or ideas to the mailinglist at
F<http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/xml-compile> .
For live contact with other developers, visit the C<#xml-compile> channel
on C<irc.perl.org>.
=head1 LICENSE
Copyrights 2010-2014 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 F<http://www.perl.com/perl/misc/Artistic.html>