Author: natalia
Date: Thu Nov 8 18:37:35 2007
New Revision: 593401
URL: http://svn.apache.org/viewvc?rev=593401&view=rev
Log:
Updated XPath Guide documentation
Modified:
xml/xindice/trunk/src/documentation/content/xdocs/guide-xpath.xml
Modified: xml/xindice/trunk/src/documentation/content/xdocs/guide-xpath.xml
URL:
http://svn.apache.org/viewvc/xml/xindice/trunk/src/documentation/content/xdocs/guide-xpath.xml?rev=593401&r1=593400&r2=593401&view=diff
==============================================================================
--- xml/xindice/trunk/src/documentation/content/xdocs/guide-xpath.xml (original)
+++ xml/xindice/trunk/src/documentation/content/xdocs/guide-xpath.xml Thu Nov
8 18:37:35 2007
@@ -28,7 +28,7 @@
<document>
<header>
- <title>Xindice 1.1 XPath Guide</title>
+ <title>Xindice 1.2 XPath Guide</title>
<version>$Revision$</version>
<authors>
<person id="VG" name="Vadim Gritsenko" email=""/>
@@ -48,7 +48,7 @@
<p>
Xindice currently supports XPath as a query language. Queries can
be executed from within client application (please refer to the
- <link href="guide-developer.html">developers giude</link>), through
+ <link href="guide-developer.html">developers guide</link>), through
XML-RPC interface, or via a command line (please refer to the
<link href="guide-tools.html">command line tool guide</link>).
This document describes what XPath queries are supported and what are
@@ -60,9 +60,10 @@
<title>Sample Database</title>
<p>
XPath queries and results described below were run against sample
- /db/addressbook collection. Documents in the addressbook collection
- have following structure:
+ /db/addressbook collection. There are two documents in the addressbook
+ collection.
</p>
+ <p>Key: <code>address1</code></p>
<source><![CDATA[
<?xml version="1.0"?>
<person>
@@ -76,6 +77,21 @@
<address type="work">9967 W. Shrimp Ave.</address>
</person>
]]></source>
+ <p>Key: <code>address2</code></p>
+ <source><![CDATA[
+ <?xml version="1.0"?>
+ <person>
+ <fname>SlackJawedLocal</fname>
+ <lname>Cletus</lname>
+ <phone type="work">123-456-7890</phone>
+ <phone type="home">234-567-8901</phone>
+ <phone type="cell">345-678-9012</phone>
+ <email type="home">[EMAIL PROTECTED]</email>
+ <email type="work">[EMAIL PROTECTED]</email>
+ <address type="home">1234 S. Elm St.</address>
+ <address type="work">4567 W. Pine St.</address>
+ </person>
+ ]]></source>
</section>
<section>
@@ -186,5 +202,35 @@
]]></source>
</section>
+ <section>
+ <title>Using full text search in XPath</title>
+ <p>
+ Full text search functionality is available in XPath queries in
Xindice as an extention function.
+ <p>Function: boolean ftcontains(string)</p>
+
+ The ftcontains function returns true if text content of the context
+ node matches full text query passed as the argument, otherwise it
+ returns false. Text query syntax is the same as
+ <link
href="http://lucene.apache.org/java/docs/queryparsersyntax.html">Lucene query
syntax</link>,
+ except it does not use fields (using fields does not cause errors
+ when parsing the query, but function will return false).
+ </p>
+ <source> xindice xpath -c /db/addressbook -q "/person/[EMAIL
PROTECTED]'work']/text()[ftcontains('pine')]" </source>
+ <p>
+ This XPath will return all work addresses of all people in database
that
+ contain word 'pine'.
+ </p>
+ <source><![CDATA[
+ <xq:result xmlns:xq="http://xml.apache.org/xindice/Query"
+ xq:col="/db/addressbook" xq:key="address2">4567 W. Pine
St.</xq:result>
+ ]]></source>
+ <note>
+ Function results depend on the analyzer that is used to tokenize both
+ node text content and a query. If LuceneIndexer exists for the
+ collection being queried, same analyzer will be used for the ftcontains
+ function to produce consistent results. If LuceneIndexer is not found,
+ default analyzer will be used (at this time it is SimpleAnalyzer).
+ </note>
+ </section>
</body>
</document>