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>


Reply via email to