=head1 NAME

Apache::Solr::XML - Apache Solr (Lucene) client via XML

=head1 INHERITANCE

 Apache::Solr::XML
   is a Apache::Solr

=head1 SYNOPSIS

  my $solr = Apache::Solr::XML->new(...);
  my $solr = Apache::Solr->new(format => 'XML', ...);

=head1 DESCRIPTION

Implement the Solr client, where the communication is in XML.

This module uses XML::LibXML to parse and construct XML.

=head1 METHODS

=head2 Constructors

=over 4

=item Apache::Solr::XML-E<gt>B<new>(OPTIONS)

Creates a new object.  You may have objects shared the same
LWP::UserAgent object, to share connections.

 -Option        --Defined in     --Default
  agent           Apache::Solr     <created internally>
  autocommit      Apache::Solr     true
  core            Apache::Solr     undef
  format          Apache::Solr     'XML'
  server          Apache::Solr     <required>
  server_version  Apache::Solr     <latest>

=over 2

=item agent => LWP::UserAgent object

=item autocommit => BOOLEAN

=item core => NAME

=item format => 'XML'|'JSON'

=item server => URL

=item server_version => VERSION

=back

=back

=head2 Accessors

=over 4

=item $obj-E<gt>B<agent>()

See L<Apache::Solr/"Accessors">

=item $obj-E<gt>B<autocommit>([BOOLEAN])

See L<Apache::Solr/"Accessors">

=item $obj-E<gt>B<core>([CORE])

See L<Apache::Solr/"Accessors">

=item $obj-E<gt>B<server>([URI|STRING])

See L<Apache::Solr/"Accessors">

=item $obj-E<gt>B<serverVersion>()

See L<Apache::Solr/"Accessors">

=item $obj-E<gt>B<xmlsimple>()

=back

=head2 Commands

=head3 Search

=over 4

=item $obj-E<gt>B<queryTerms>(TERMS)

See L<Apache::Solr/"Search">

=item $obj-E<gt>B<select>(PARAMETERS)

See L<Apache::Solr/"Search">

=back

=head3 Updates

=over 4

=item $obj-E<gt>B<addDocument>(DOC|ARRAY, OPTIONS)

See L<Apache::Solr/"Updates">

=item $obj-E<gt>B<commit>(OPTIONS)

See L<Apache::Solr/"Updates">

=item $obj-E<gt>B<delete>(OPTIONS)

See L<Apache::Solr/"Updates">

=item $obj-E<gt>B<extractDocument>(OPTIONS)

See L<Apache::Solr/"Updates">

=item $obj-E<gt>B<optimize>(OPTIONS)

See L<Apache::Solr/"Updates">

=item $obj-E<gt>B<rollback>()

See L<Apache::Solr/"Updates">

=back

=head2 Helpers

=over 4

=item $obj-E<gt>B<simpleDocument>(COMMAND, [ATTRIBUTES, [CONTENT]])

Construct a simple XML structure.

=item $obj-E<gt>B<simpleUpdate>(COMMAND, ATTRIBUTES, [CONTENT])

=back

=head3 Parameter pre-processing

=over 4

=item $obj-E<gt>B<deprecated>(MESSAGE)

See L<Apache::Solr/"Parameter pre-processing">

=item $obj-E<gt>B<expandExtract>(PAIRS|ARRAY)

See L<Apache::Solr/"Parameter pre-processing">

=item $obj-E<gt>B<expandSelect>(PAIRS)

See L<Apache::Solr/"Parameter pre-processing">

=item $obj-E<gt>B<expandTerms>(PAIRS|ARRAY)

See L<Apache::Solr/"Parameter pre-processing">

=item $obj-E<gt>B<ignored>(MESSAGE)

See L<Apache::Solr/"Parameter pre-processing">

=back

=head3 Other helpers

=over 4

=item $obj-E<gt>B<endpoint>(ACTION, OPTIONS)

See L<Apache::Solr/"Other helpers">

=back

=head1 SEE ALSO

This module is part of Apache-Solr distribution version 0.91,
built on December 04, 2012. Website: F<http://perl.overmeer.net>

=head1 LICENSE

Copyrights 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 F<http://www.perl.com/perl/misc/Artistic.html>

