You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-commits@lucene.apache.org by mh...@apache.org on 2007/10/09 23:45:28 UTC
svn commit: r583307 [5/6] - in /lucene/java/trunk/contrib/xml-query-parser:
./ docs/ docs/img/
Added: lucene/java/trunk/contrib/xml-query-parser/docs/LuceneCoreQuery.dtd.org.html
URL: http://svn.apache.org/viewvc/lucene/java/trunk/contrib/xml-query-parser/docs/LuceneCoreQuery.dtd.org.html?rev=583307&view=auto
==============================================================================
--- lucene/java/trunk/contrib/xml-query-parser/docs/LuceneCoreQuery.dtd.org.html (added)
+++ lucene/java/trunk/contrib/xml-query-parser/docs/LuceneCoreQuery.dtd.org.html Tue Oct 9 14:45:27 2007
@@ -0,0 +1,405 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html> <head>
+<meta http-equiv='CONTENT-TYPE' content='text/html; charset=UTF-8' />
+<link rel='StyleSheet' href='DTDDocStyle.css' type='text/css' media='screen' />
+<title>Core Lucene</title>
+</head><body>
+<p class='DTDSource'><b><code>LuceneCoreQuery.dtd</code></b>: <a href='LuceneCoreQuery.dtd.html'>Elements</a> - <a href='LuceneCoreQuery.dtd.entities.html'>Entities</a> - <a href='LuceneCoreQuery.dtd.org.html'>Source</a> | <a href='intro.html'>Intro</a> - <a href='elementsIndex.html'>Index</a><br /><a href='index.html' target='_top'>FRAMES</a> / <a href='LuceneCoreQuery.dtd.org.html' target='_top'>NO FRAMES</a></p><pre id='dtd_source'><span class="dtd_comment"><!--</span>
+<span class="dtd_comment"> <h3>Background</h3></span>
+<span class="dtd_comment"> This DTD describes the XML syntax used to perform advanced searches using the core Lucene search engine. The motivation behind the XML query syntax is:</span>
+<span class="dtd_comment"> <ol></span>
+<span class="dtd_comment"> <li>To open up Lucene functionality to clients other than Java</li></span>
+<span class="dtd_comment"> <li>To offer a form of expressing queries that can easily be</span>
+<span class="dtd_comment"> <ul></span>
+<span class="dtd_comment"> <li>Persisted for logging/auditing purposes</li></span>
+<span class="dtd_comment"> <li>Changed by editing text query templates (XSLT) without requiring a recompile/redeploy of applications</li></span>
+<span class="dtd_comment"> <li>Serialized across networks (without requiring Java bytecode for Query logic deployed on clients)</li></span>
+<span class="dtd_comment"> </ul></span>
+<span class="dtd_comment"> </li></span>
+<span class="dtd_comment"> <li>To provide a shorthand way of expressing query logic which echos the logical tree structure of query objects more closely than reading procedural Java query construction code</li></span>
+<span class="dtd_comment"> <li>To bridge the growing gap between Lucene query/filtering functionality and the set of functionality accessible throught the standard Lucene QueryParser syntax</li></span>
+<span class="dtd_comment"> <li>To provide a simply extensible syntax that does not require complex parser skills such as knowledge of JavaCC syntax</li></span>
+<span class="dtd_comment"> </ol></span>
+<span class="dtd_comment"> </span>
+<span class="dtd_comment"> </span>
+<span class="dtd_comment"> <h3>Syntax overview</h3></span>
+<span class="dtd_comment"> Search syntax consists of two types of elements:</span>
+<span class="dtd_comment"> <ul></span>
+<span class="dtd_comment"> <li><i>Queries</i></li></span>
+<span class="dtd_comment"> <li><i>Filters</i></li></span>
+<span class="dtd_comment"> </ul></span>
+
+<span class="dtd_comment"> <h4>Queries</h4></span>
+<span class="dtd_comment"> The root of any XML search must be a <i>Query</i> type element used to select content.</span>
+<span class="dtd_comment"> Queries typically score matches on documents using a number of different factors in order to provide relevant results first. </span>
+<span class="dtd_comment"> One common example of a query tag is the <a href="#UserQuery">UserQuery</a> element which uses the standard </span>
+<span class="dtd_comment"> Lucene QueryParser to parse Google-style search syntax provided by end users.</span>
+<span class="dtd_comment"> </span>
+<span class="dtd_comment"> <h4>Filters</h4></span>
+<span class="dtd_comment"> Unlike Queries, <i>Filters</i> are not used to select or score content - they are simply used to filter <i>Query</i> output (see <a href="#FilteredQuery">FilteredQuery</a> for an example use of query filtering).</span>
+<span class="dtd_comment"> Because Filters simply offer a yes/no decision for each document in the index their output can be efficiently cached in memory as a <a href="http://java.sun.com/j2se/1.4.2/docs/api/java/util/BitSet.html">Bitset</a> for</span>
+<span class="dtd_comment"> subsequent reuse (see <a href="#CachedFilter">CachedFilter</a> tag).</span>
+
+<span class="dtd_comment"> <h4>Nesting elements</h4></span>
+<span class="dtd_comment"> Many of the the elements can nest other elements to produce queries/filters of an arbitrary depth and complexity. </span>
+<span class="dtd_comment"> The <a href="#BooleanQuery">BooleanQuery</a> element is one such example which provides a means for combining other queries (including other BooleanQueries) using Boolean </span>
+<span class="dtd_comment"> logic to determine mandatory or optional elements. </span>
+
+<span class="dtd_comment"> </span>
+<span class="dtd_comment"> <h3>Advanced topics</h3> </span>
+<span class="dtd_comment"> <h4>Advanced positional testing - span queries</h4></span>
+<span class="dtd_comment"> The <i>SpanQuery</i> class of queries allow for complex positional tests which not only look for certain combinations of words but in particular </span>
+<span class="dtd_comment"> positions in relation to each other and the documents containing them.</span>
+<span class="dtd_comment"> </span>
+<span class="dtd_comment"> </span>
+<span class="dtd_comment"> CoreParser.java is the Java class that encapsulates this parser behaviour.</span>
+<span class="dtd_comment"> </span>
+<span class="dtd_comment"> </span>
+<span class="dtd_comment"> </span><span class="dtd_dtddoc_tag">@title</span><span class="dtd_comment"> Core Lucene </span>
+<span class="dtd_comment">--></span>
+
+<span class="dtd_comment"><!-- </span><span class="dtd_dtddoc_tag">@hidden</span><span class="dtd_comment"> Define core types of XML elements --></span>
+<span class="dtd_tag_symbols"><!</span><span class="dtd_tag_name">ENTITY</span><span class="dtd_plain"> % </span><span class="dtd_attribute_name">coreSpanQueries</span><span class="dtd_plain"> </span><span class="dtd_attribute_value">"SpanOr|SpanNear|SpanOrTerms|SpanFirst|SpanNot|SpanTerm"</span><span class="dtd_plain"> </span><span class="dtd_tag_symbols">></span>
+<span class="dtd_tag_symbols"><!</span><span class="dtd_tag_name">ENTITY</span><span class="dtd_plain"> % </span><span class="dtd_attribute_name">coreQueries</span><span class="dtd_plain"> </span><span class="dtd_attribute_value">"BooleanQuery|UserQuery|FilteredQuery|TermQuery|TermsQuery|MatchAllDocsQuery|ConstantScoreQuery"</span><span class="dtd_plain"> </span><span class="dtd_tag_symbols">></span>
+<span class="dtd_tag_symbols"><!</span><span class="dtd_tag_name">ENTITY</span><span class="dtd_plain"> % </span><span class="dtd_attribute_name">coreFilters</span><span class="dtd_plain"> </span><span class="dtd_attribute_value">"RangeFilter|CachedFilter"</span><span class="dtd_plain"> </span><span class="dtd_tag_symbols">></span>
+
+<span class="dtd_comment"><!-- </span><span class="dtd_dtddoc_tag">@hidden</span><span class="dtd_comment"> Allow for extensions --></span>
+<span class="dtd_tag_symbols"><!</span><span class="dtd_tag_name">ENTITY</span><span class="dtd_plain"> % </span><span class="dtd_attribute_name">extendedSpanQueries1</span><span class="dtd_plain"> </span><span class="dtd_attribute_value">" "</span><span class="dtd_plain"> </span><span class="dtd_tag_symbols">></span>
+<span class="dtd_tag_symbols"><!</span><span class="dtd_tag_name">ENTITY</span><span class="dtd_plain"> % </span><span class="dtd_attribute_name">extendedQueries1</span><span class="dtd_plain"> </span><span class="dtd_attribute_value">" "</span><span class="dtd_plain"> </span><span class="dtd_tag_symbols">></span>
+<span class="dtd_tag_symbols"><!</span><span class="dtd_tag_name">ENTITY</span><span class="dtd_plain"> % </span><span class="dtd_attribute_name">extendedFilters1</span><span class="dtd_plain"> </span><span class="dtd_attribute_value">" "</span><span class="dtd_plain"> </span><span class="dtd_tag_symbols">></span>
+
+<span class="dtd_tag_symbols"><!</span><span class="dtd_tag_name">ENTITY</span><span class="dtd_plain"> % </span><span class="dtd_attribute_name">spanQueries</span><span class="dtd_plain"> </span><span class="dtd_attribute_value">"%coreSpanQueries;%extendedSpanQueries1;"</span><span class="dtd_plain"> </span><span class="dtd_tag_symbols">></span>
+<span class="dtd_tag_symbols"><!</span><span class="dtd_tag_name">ENTITY</span><span class="dtd_plain"> % </span><span class="dtd_attribute_name">queries</span><span class="dtd_plain"> </span><span class="dtd_attribute_value">"%coreQueries;|%spanQueries;%extendedQueries1;"</span><span class="dtd_plain"> </span><span class="dtd_tag_symbols">></span>
+
+
+<span class="dtd_tag_symbols"><!</span><span class="dtd_tag_name">ENTITY</span><span class="dtd_plain"> % </span><span class="dtd_attribute_name">filters</span><span class="dtd_plain"> </span><span class="dtd_attribute_value">"%coreFilters;%extendedFilters1;"</span><span class="dtd_plain"> </span><span class="dtd_tag_symbols">></span>
+
+<span class="dtd_comment"><!--</span>
+<span class="dtd_comment"> BooleanQuerys implement Boolean logic which controls how multiple Clauses should be interpreted.</span>
+<span class="dtd_comment"> Some clauses may represent optional Query criteria while others represent mandatory criteria. </span>
+<span class="dtd_comment"> </span><span class="dtd_dtddoc_tag">@example</span><span class="dtd_comment"> </span>
+<span class="dtd_comment"> <em>Find articles about banks, preferably talking about mergers but nothing to do with "sumitomo"</em></span>
+<span class="dtd_comment"> % </span>
+<span class="dtd_comment"> <BooleanQuery fieldName="contents"></span>
+<span class="dtd_comment"> <Clause occurs="should"></span>
+<span class="dtd_comment"> <TermQuery>merger</TermQuery></span>
+<span class="dtd_comment"> </Clause></span>
+<span class="dtd_comment"> <Clause occurs="mustnot"></span>
+<span class="dtd_comment"> <TermQuery>sumitomo</TermQuery></span>
+<span class="dtd_comment"> </Clause></span>
+<span class="dtd_comment"> <Clause occurs="must"></span>
+<span class="dtd_comment"> <TermQuery>bank</TermQuery></span>
+<span class="dtd_comment"> </Clause></span>
+<span class="dtd_comment"> </BooleanQuery></span>
+
+<span class="dtd_comment"> %</span>
+<span class="dtd_comment">--></span><span class="dtd_plain"> </span>
+<span class="dtd_tag_symbols"><!</span><span class="dtd_tag_name">ELEMENT</span><span class="dtd_plain"> </span><span class="dtd_attribute_name">BooleanQuery</span><span class="dtd_plain"> (</span><span class="dtd_attribute_name">Clause</span><span class="dtd_plain">)+</span><span class="dtd_tag_symbols">></span>
+<span class="dtd_comment"><!-- Optional boost for matches on this query. Values > 1 --></span>
+<span class="dtd_tag_symbols"><!</span><span class="dtd_tag_name">ATTLIST</span><span class="dtd_plain"> </span><span class="dtd_attribute_name">BooleanQuery</span><span class="dtd_plain"> </span><span class="dtd_attribute_name">boost</span><span class="dtd_plain"> </span><span class="dtd_keyword">CDATA</span><span class="dtd_plain"> </span><span class="dtd_attribute_value">"1.0"</span><span class="dtd_tag_symbols">></span>
+<span class="dtd_comment"><!-- fieldName can optionally be defined here as a default attribute used by all child elements --></span><span class="dtd_plain"> </span>
+<span class="dtd_tag_symbols"><!</span><span class="dtd_tag_name">ATTLIST</span><span class="dtd_plain"> </span><span class="dtd_attribute_name">BooleanQuery</span><span class="dtd_plain"> </span><span class="dtd_attribute_name">fieldName</span><span class="dtd_plain"> </span><span class="dtd_keyword">CDATA</span><span class="dtd_plain"> </span><span class="dtd_keyword">#IMPLIED</span><span class="dtd_tag_symbols">></span>
+<span class="dtd_comment"><!-- The "Coordination factor" rewards documents that contain more of the optional clauses in this list. This flag can be used to turn off this factor. --></span>
+<span class="dtd_tag_symbols"><!</span><span class="dtd_tag_name">ATTLIST</span><span class="dtd_plain"> </span><span class="dtd_attribute_name">BooleanQuery</span><span class="dtd_plain"> </span><span class="dtd_attribute_name">disableCoord</span><span class="dtd_plain"> (</span><span class="dtd_attribute_name">true</span><span class="dtd_plain"> | </span><span class="dtd_attribute_name">false</span><span class="dtd_plain">) </span><span class="dtd_attribute_value">"false"</span><span class="dtd_tag_symbols">></span>
+<span class="dtd_comment"><!-- The minimum number of optional clauses that should be present in any one document before it is considered to be a match. --></span>
+<span class="dtd_tag_symbols"><!</span><span class="dtd_tag_name">ATTLIST</span><span class="dtd_plain"> </span><span class="dtd_attribute_name">BooleanQuery</span><span class="dtd_plain"> </span><span class="dtd_attribute_name">minimumNumberShouldMatch</span><span class="dtd_plain"> </span><span class="dtd_keyword">CDATA</span><span class="dtd_plain"> </span><span class="dtd_attribute_value">"0"</span><span class="dtd_tag_symbols">></span>
+
+<span class="dtd_comment"><!-- NOTE: "Clause" tag has 2 modes of use - inside <BooleanQuery> in which case only "query" types can be</span>
+<span class="dtd_comment"> child elements - while in a <BooleanFilter> clause only "filter" types can be contained.</span>
+<span class="dtd_comment"> </span><span class="dtd_dtddoc_tag">@hidden</span><span class="dtd_comment"> TODO: Change BooleanFilterBuilder and BooleanQueryBuilder to auto-wrap choice of query or filters. This type of</span>
+<span class="dtd_comment"> code already exists in CachedFilter so could be reused.</span>
+<span class="dtd_comment">--></span><span class="dtd_plain"> </span>
+<span class="dtd_tag_symbols"><!</span><span class="dtd_tag_name">ELEMENT</span><span class="dtd_plain"> </span><span class="dtd_attribute_name">Clause</span><span class="dtd_plain"> (%</span><span class="dtd_attribute_name">queries</span><span class="dtd_plain">;|%</span><span class="dtd_attribute_name">filters</span><span class="dtd_plain">;)</span><span class="dtd_tag_symbols">></span>
+<span class="dtd_comment"><!-- Controls if the clause is optional (should), mandatory (must) or unacceptable (mustNot) --></span>
+<span class="dtd_tag_symbols"><!</span><span class="dtd_tag_name">ATTLIST</span><span class="dtd_plain"> </span><span class="dtd_attribute_name">Clause</span><span class="dtd_plain"> </span><span class="dtd_attribute_name">occurs</span><span class="dtd_plain"> (</span><span class="dtd_attribute_name">should</span><span class="dtd_plain"> | </span><span class="dtd_attribute_name">must</span><span class="dtd_plain"> | </span><span class="dtd_attribute_name">mustnot</span><span class="dtd_plain">) </span><span class="dtd_attribute_value">"should"</span><span class="dtd_tag_symbols">></span>
+
+
+<span class="dtd_comment"><!-- Caches any nested query or filter in an LRU (Least recently used) Cache. Cached queries, like filters, are turned into</span>
+<span class="dtd_comment"> Bitsets at a cost of 1 bit per document in the index. The memory cost of a cached query/filter is therefore numberOfDocsinIndex/8 bytes.</span>
+<span class="dtd_comment"> Queries that are cached as filters obviously retain none of the scoring information associated with results - they retain just</span>
+<span class="dtd_comment"> a Boolean yes/no record of which documents matched. </span>
+<span class="dtd_comment"> </span><span class="dtd_dtddoc_tag">@example</span><span class="dtd_comment"> </span>
+<span class="dtd_comment"> <em>Search for documents about banks from the last 10 years - caching the commonly-used "last 10 year" filter as a BitSet in </span>
+<span class="dtd_comment"> RAM to eliminate the cost of building this filter from disk for every query</em></span>
+<span class="dtd_comment"> % </span>
+<span class="dtd_comment"> <FilteredQuery></span>
+<span class="dtd_comment"> <Query></span>
+<span class="dtd_comment"> <UserQuery>bank</UserQuery></span>
+<span class="dtd_comment"> </Query> </span>
+<span class="dtd_comment"> <Filter></span>
+<span class="dtd_comment"> <CachedFilter></span>
+<span class="dtd_comment"> <RangeFilter fieldName="date" lowerTerm="19970101" upperTerm="20070101"/></span>
+<span class="dtd_comment"> </CachedFilter></span>
+<span class="dtd_comment"> </Filter> </span>
+<span class="dtd_comment"> </FilteredQuery></span>
+<span class="dtd_comment"> %</span>
+<span class="dtd_comment"> </span>
+<span class="dtd_comment"> --></span>
+<span class="dtd_tag_symbols"><!</span><span class="dtd_tag_name">ELEMENT</span><span class="dtd_plain"> </span><span class="dtd_attribute_name">CachedFilter</span><span class="dtd_plain"> (%</span><span class="dtd_attribute_name">queries</span><span class="dtd_plain">;|%</span><span class="dtd_attribute_name">filters</span><span class="dtd_plain">;)</span><span class="dtd_tag_symbols">></span>
+
+
+
+<span class="dtd_comment"><!--</span>
+<span class="dtd_comment">Passes content directly through to the standard LuceneQuery parser see "Lucene Query Syntax"</span>
+<span class="dtd_comment"> </span><span class="dtd_dtddoc_tag">@example</span><span class="dtd_comment"> </span>
+<span class="dtd_comment"> <em>Search for documents about John Smith or John Doe using standard LuceneQuerySyntax</em></span>
+<span class="dtd_comment"> % </span>
+<span class="dtd_comment"> <UserQuery>"John Smith" OR "John Doe"</UserQuery></span>
+<span class="dtd_comment"> %</span>
+<span class="dtd_comment"> </span>
+<span class="dtd_comment">--></span>
+<span class="dtd_tag_symbols"><!</span><span class="dtd_tag_name">ELEMENT</span><span class="dtd_plain"> </span><span class="dtd_attribute_name">UserQuery</span><span class="dtd_plain"> (</span><span class="dtd_keyword">#PCDATA</span><span class="dtd_plain">)</span><span class="dtd_tag_symbols">></span>
+<span class="dtd_comment"><!-- Optional boost for matches on this query. Values > 1 --></span>
+<span class="dtd_tag_symbols"><!</span><span class="dtd_tag_name">ATTLIST</span><span class="dtd_plain"> </span><span class="dtd_attribute_name">UserQuery</span><span class="dtd_plain"> </span><span class="dtd_attribute_name">boost</span><span class="dtd_plain"> </span><span class="dtd_keyword">CDATA</span><span class="dtd_plain"> </span><span class="dtd_attribute_value">"1.0"</span><span class="dtd_tag_symbols">></span>
+
+<span class="dtd_comment"><!-- A query which is used to match all documents. This has a couple of uses: </span>
+<span class="dtd_comment"> <ol></span>
+<span class="dtd_comment"> <li> as a Clause in a BooleanQuery who's only other clause</span>
+<span class="dtd_comment"> is a "mustNot" match (Lucene requires at least one positive clause) and..</li></span>
+<span class="dtd_comment"> <li> in a FilteredQuery where a Filter tag is effectively being </span>
+<span class="dtd_comment"> used to select content rather than it's usual role of filtering the results of a query.</li></span>
+<span class="dtd_comment"> </ol></span>
+<span class="dtd_comment"> </span>
+<span class="dtd_comment"> </span><span class="dtd_dtddoc_tag">@example</span><span class="dtd_comment"> </span>
+<span class="dtd_comment"> <em>Effectively use a Filter as a query </em></span>
+<span class="dtd_comment"> % </span>
+<span class="dtd_comment"> <FilteredQuery></span>
+<span class="dtd_comment"> <Query></span>
+<span class="dtd_comment"> <MatchAllDocsQuery/></span>
+<span class="dtd_comment"> </Query></span>
+<span class="dtd_comment"> <Filter></span>
+<span class="dtd_comment"> <RangeFilter fieldName="date" lowerTerm="19870409" upperTerm="19870412"/></span>
+<span class="dtd_comment"> </Filter> </span>
+<span class="dtd_comment"> </FilteredQuery> </span>
+<span class="dtd_comment"> %</span>
+<span class="dtd_comment"> </span>
+<span class="dtd_comment">--></span>
+<span class="dtd_tag_symbols"><!</span><span class="dtd_tag_name">ELEMENT</span><span class="dtd_plain"> </span><span class="dtd_attribute_name">MatchAllDocsQuery</span><span class="dtd_plain"> </span><span class="dtd_keyword">EMPTY</span><span class="dtd_tag_symbols">></span>
+
+<span class="dtd_comment"><!-- a single term query - no analysis is done of the child text</span>
+<span class="dtd_comment"> </span><span class="dtd_dtddoc_tag">@example</span><span class="dtd_comment"> </span>
+<span class="dtd_comment"> <em>Match on a primary key</em></span>
+<span class="dtd_comment"> % </span>
+<span class="dtd_comment"> <TermQuery fieldName="primaryKey">13424</TermQuery></span>
+<span class="dtd_comment"> % </span>
+<span class="dtd_comment">--></span><span class="dtd_plain"> </span>
+<span class="dtd_tag_symbols"><!</span><span class="dtd_tag_name">ELEMENT</span><span class="dtd_plain"> </span><span class="dtd_attribute_name">TermQuery</span><span class="dtd_plain"> (</span><span class="dtd_keyword">#PCDATA</span><span class="dtd_plain">)</span><span class="dtd_tag_symbols">></span>
+<span class="dtd_comment"><!-- Optional boost for matches on this query. Values > 1 --></span>
+<span class="dtd_tag_symbols"><!</span><span class="dtd_tag_name">ATTLIST</span><span class="dtd_plain"> </span><span class="dtd_attribute_name">TermQuery</span><span class="dtd_plain"> </span><span class="dtd_attribute_name">boost</span><span class="dtd_plain"> </span><span class="dtd_keyword">CDATA</span><span class="dtd_plain"> </span><span class="dtd_attribute_value">"1.0"</span><span class="dtd_tag_symbols">></span>
+<span class="dtd_comment"><!-- fieldName must be defined here or is taken from the most immediate parent XML element that defines a "fieldName" attribute --></span><span class="dtd_plain"> </span>
+<span class="dtd_tag_symbols"><!</span><span class="dtd_tag_name">ATTLIST</span><span class="dtd_plain"> </span><span class="dtd_attribute_name">TermQuery</span><span class="dtd_plain"> </span><span class="dtd_attribute_name">fieldName</span><span class="dtd_plain"> </span><span class="dtd_keyword">CDATA</span><span class="dtd_plain"> </span><span class="dtd_keyword">#IMPLIED</span><span class="dtd_tag_symbols">></span>
+
+
+
+<span class="dtd_comment"><!-- </span>
+<span class="dtd_comment"> The equivalent of a BooleanQuery with multiple optional TermQuery clauses.</span>
+<span class="dtd_comment"> Child text is analyzed using a field-specific choice of Analyzer to produce a set of terms that are ORed together in Boolean logic.</span>
+<span class="dtd_comment"> Unlike UserQuery element, this does not parse any special characters to control fuzzy/phrase/boolean logic and as such is incapable</span>
+<span class="dtd_comment"> of producing a Query parse error given any user input</span>
+<span class="dtd_comment"> </span><span class="dtd_dtddoc_tag">@example</span><span class="dtd_comment"> </span>
+<span class="dtd_comment"> <em>Match on text from a database description (which may contain characters that </span>
+<span class="dtd_comment"> are illegal characters in the standard Lucene Query syntax used in the UserQuery tag</em></span>
+<span class="dtd_comment"> % </span>
+<span class="dtd_comment"> <TermsQuery fieldName="description">Smith & Sons (Ltd) : incorporated 1982</TermsQuery></span>
+<span class="dtd_comment"> % </span>
+<span class="dtd_comment">--></span><span class="dtd_plain"> </span>
+<span class="dtd_tag_symbols"><!</span><span class="dtd_tag_name">ELEMENT</span><span class="dtd_plain"> </span><span class="dtd_attribute_name">TermsQuery</span><span class="dtd_plain"> (</span><span class="dtd_keyword">#PCDATA</span><span class="dtd_plain">)</span><span class="dtd_tag_symbols">></span>
+<span class="dtd_comment"><!-- Optional boost for matches on this query. Values > 1 --></span>
+<span class="dtd_tag_symbols"><!</span><span class="dtd_tag_name">ATTLIST</span><span class="dtd_plain"> </span><span class="dtd_attribute_name">TermsQuery</span><span class="dtd_plain"> </span><span class="dtd_attribute_name">boost</span><span class="dtd_plain"> </span><span class="dtd_keyword">CDATA</span><span class="dtd_plain"> </span><span class="dtd_attribute_value">"1.0"</span><span class="dtd_tag_symbols">></span>
+<span class="dtd_comment"><!-- fieldName must be defined here or is taken from the most immediate parent XML element that defines a "fieldName" attribute --></span><span class="dtd_plain"> </span>
+<span class="dtd_tag_symbols"><!</span><span class="dtd_tag_name">ATTLIST</span><span class="dtd_plain"> </span><span class="dtd_attribute_name">TermsQuery</span><span class="dtd_plain"> </span><span class="dtd_attribute_name">fieldName</span><span class="dtd_plain"> </span><span class="dtd_keyword">CDATA</span><span class="dtd_plain"> </span><span class="dtd_keyword">#IMPLIED</span><span class="dtd_tag_symbols">></span>
+<span class="dtd_comment"><!-- The "Coordination factor" rewards documents that contain more of the terms in this list. This flag can be used to turn off this factor. --></span>
+<span class="dtd_tag_symbols"><!</span><span class="dtd_tag_name">ATTLIST</span><span class="dtd_plain"> </span><span class="dtd_attribute_name">TermsQuery</span><span class="dtd_plain"> </span><span class="dtd_attribute_name">disableCoord</span><span class="dtd_plain"> (</span><span class="dtd_attribute_name">true</span><span class="dtd_plain"> | </span><span class="dtd_attribute_name">false</span><span class="dtd_plain">) </span><span class="dtd_attribute_value">"false"</span><span class="dtd_tag_symbols">></span>
+<span class="dtd_comment"><!-- The minimum number of terms that should be present in any one document before it is considered to be a match. --></span>
+<span class="dtd_tag_symbols"><!</span><span class="dtd_tag_name">ATTLIST</span><span class="dtd_plain"> </span><span class="dtd_attribute_name">TermsQuery</span><span class="dtd_plain"> </span><span class="dtd_attribute_name">minimumNumberShouldMatch</span><span class="dtd_plain"> </span><span class="dtd_keyword">CDATA</span><span class="dtd_plain"> </span><span class="dtd_attribute_value">"0"</span><span class="dtd_tag_symbols">></span>
+
+
+<span class="dtd_comment"><!-- </span>
+<span class="dtd_comment"> Runs a Query and filters results to only those query matches that also match the Filter element. </span>
+<span class="dtd_comment"> </span><span class="dtd_dtddoc_tag">@example</span><span class="dtd_comment"> </span>
+<span class="dtd_comment"> <em>Find all documents about Lucene that have a status of "published"</em></span>
+<span class="dtd_comment"> % </span>
+<span class="dtd_comment"> <FilteredQuery></span>
+<span class="dtd_comment"> <Query></span>
+<span class="dtd_comment"> <UserQuery>Lucene</UserQuery></span>
+<span class="dtd_comment"> </Query></span>
+<span class="dtd_comment"> <Filter></span>
+<span class="dtd_comment"> <TermsFilter fieldName="status">published</TermsFilter></span>
+<span class="dtd_comment"> </Filter> </span>
+<span class="dtd_comment"> </FilteredQuery> </span>
+<span class="dtd_comment"> % </span>
+<span class="dtd_comment">--></span><span class="dtd_plain"> </span>
+<span class="dtd_tag_symbols"><!</span><span class="dtd_tag_name">ELEMENT</span><span class="dtd_plain"> </span><span class="dtd_attribute_name">FilteredQuery</span><span class="dtd_plain"> (</span><span class="dtd_attribute_name">Query</span><span class="dtd_plain">,</span><span class="dtd_attribute_name">Filter</span><span class="dtd_plain">)</span><span class="dtd_tag_symbols">></span>
+<span class="dtd_comment"><!-- Optional boost for matches on this query. Values > 1 --></span>
+<span class="dtd_tag_symbols"><!</span><span class="dtd_tag_name">ATTLIST</span><span class="dtd_plain"> </span><span class="dtd_attribute_name">FilteredQuery</span><span class="dtd_plain"> </span><span class="dtd_attribute_name">boost</span><span class="dtd_plain"> </span><span class="dtd_keyword">CDATA</span><span class="dtd_plain"> </span><span class="dtd_attribute_value">"1.0"</span><span class="dtd_tag_symbols">></span>
+<span class="dtd_comment"><!-- Used to identify a nested Query element inside another container element. NOT a top-level query tag --></span>
+<span class="dtd_tag_symbols"><!</span><span class="dtd_tag_name">ELEMENT</span><span class="dtd_plain"> </span><span class="dtd_attribute_name">Query</span><span class="dtd_plain"> (%</span><span class="dtd_attribute_name">queries</span><span class="dtd_plain">;)</span><span class="dtd_tag_symbols">></span>
+<span class="dtd_comment"><!-- The choice of Filter that MUST also be matched --></span>
+<span class="dtd_tag_symbols"><!</span><span class="dtd_tag_name">ELEMENT</span><span class="dtd_plain"> </span><span class="dtd_attribute_name">Filter</span><span class="dtd_plain"> (%</span><span class="dtd_attribute_name">filters</span><span class="dtd_plain">;)</span><span class="dtd_tag_symbols">></span>
+
+<span class="dtd_comment"><!--</span>
+<span class="dtd_comment"> Filter used to limit query results to documents matching a range of field values</span>
+<span class="dtd_comment"> </span><span class="dtd_dtddoc_tag">@example</span><span class="dtd_comment"> </span>
+<span class="dtd_comment"> <em>Search for documents about banks from the last 10 years</em></span>
+<span class="dtd_comment"> % </span>
+<span class="dtd_comment"> <FilteredQuery></span>
+<span class="dtd_comment"> <Query></span>
+<span class="dtd_comment"> <UserQuery>bank</UserQuery></span>
+<span class="dtd_comment"> </Query> </span>
+<span class="dtd_comment"> <Filter></span>
+<span class="dtd_comment"> <RangeFilter fieldName="date" lowerTerm="19970101" upperTerm="20070101"/></span>
+<span class="dtd_comment"> </Filter> </span>
+<span class="dtd_comment"> </FilteredQuery></span>
+<span class="dtd_comment"> %</span>
+<span class="dtd_comment"> --></span>
+<span class="dtd_tag_symbols"><!</span><span class="dtd_tag_name">ELEMENT</span><span class="dtd_plain"> </span><span class="dtd_attribute_name">RangeFilter</span><span class="dtd_plain"> </span><span class="dtd_keyword">EMPTY</span><span class="dtd_tag_symbols">></span>
+<span class="dtd_comment"><!-- fieldName must be defined here or is taken from the most immediate parent XML element that defines a "fieldName" attribute --></span><span class="dtd_plain"> </span>
+<span class="dtd_tag_symbols"><!</span><span class="dtd_tag_name">ATTLIST</span><span class="dtd_plain"> </span><span class="dtd_attribute_name">RangeFilter</span><span class="dtd_plain"> </span><span class="dtd_attribute_name">fieldName</span><span class="dtd_plain"> </span><span class="dtd_keyword">CDATA</span><span class="dtd_plain"> </span><span class="dtd_keyword">#IMPLIED</span><span class="dtd_tag_symbols">></span>
+<span class="dtd_comment"><!-- The lower-most term value for this field (must be <= upperTerm) --></span>
+<span class="dtd_tag_symbols"><!</span><span class="dtd_tag_name">ATTLIST</span><span class="dtd_plain"> </span><span class="dtd_attribute_name">RangeFilter</span><span class="dtd_plain"> </span><span class="dtd_attribute_name">lowerTerm</span><span class="dtd_plain"> </span><span class="dtd_keyword">CDATA</span><span class="dtd_plain"> </span><span class="dtd_keyword">#REQUIRED</span><span class="dtd_tag_symbols">></span>
+<span class="dtd_comment"><!-- The upper-most term value for this field (must be >= lowerTerm) --></span>
+<span class="dtd_tag_symbols"><!</span><span class="dtd_tag_name">ATTLIST</span><span class="dtd_plain"> </span><span class="dtd_attribute_name">RangeFilter</span><span class="dtd_plain"> </span><span class="dtd_attribute_name">upperTerm</span><span class="dtd_plain"> </span><span class="dtd_keyword">CDATA</span><span class="dtd_plain"> </span><span class="dtd_keyword">#REQUIRED</span><span class="dtd_tag_symbols">></span>
+<span class="dtd_comment"><!-- Controls if the lowerTerm in the range is part of the allowed set of values --></span>
+<span class="dtd_tag_symbols"><!</span><span class="dtd_tag_name">ATTLIST</span><span class="dtd_plain"> </span><span class="dtd_attribute_name">RangeFilter</span><span class="dtd_plain"> </span><span class="dtd_attribute_name">includeLower</span><span class="dtd_plain"> (</span><span class="dtd_attribute_name">true</span><span class="dtd_plain"> | </span><span class="dtd_attribute_name">false</span><span class="dtd_plain">) </span><span class="dtd_attribute_value">"true"</span><span class="dtd_tag_symbols">></span>
+<span class="dtd_comment"><!-- Controls if the upperTerm in the range is part of the allowed set of values --></span>
+<span class="dtd_tag_symbols"><!</span><span class="dtd_tag_name">ATTLIST</span><span class="dtd_plain"> </span><span class="dtd_attribute_name">RangeFilter</span><span class="dtd_plain"> </span><span class="dtd_attribute_name">includeUpper</span><span class="dtd_plain"> (</span><span class="dtd_attribute_name">true</span><span class="dtd_plain"> | </span><span class="dtd_attribute_name">false</span><span class="dtd_plain">) </span><span class="dtd_attribute_value">"true"</span><span class="dtd_tag_symbols">></span>
+
+
+
+<span class="dtd_comment"><!-- A single term used in a SpanQuery. These clauses are the building blocks for more complex "span" queries which test word proximity</span>
+<span class="dtd_comment"> </span><span class="dtd_dtddoc_tag">@example</span><span class="dtd_comment"> <em>Find documents using terms close to each other about mining and accidents</em></span>
+<span class="dtd_comment"> %</span>
+<span class="dtd_comment"> <SpanNear slop="8" inOrder="false" fieldName="text"> </span>
+<span class="dtd_comment"> <SpanOr></span>
+<span class="dtd_comment"> <SpanTerm>killed</SpanTerm></span>
+<span class="dtd_comment"> <SpanTerm>died</SpanTerm></span>
+<span class="dtd_comment"> <SpanTerm>dead</SpanTerm></span>
+<span class="dtd_comment"> </SpanOr></span>
+<span class="dtd_comment"> <SpanOr></span>
+<span class="dtd_comment"> <SpanTerm>miner</SpanTerm></span>
+<span class="dtd_comment"> <SpanTerm>mining</SpanTerm></span>
+<span class="dtd_comment"> <SpanTerm>miners</SpanTerm></span>
+<span class="dtd_comment"> </SpanOr></span>
+<span class="dtd_comment"> </SpanNear></span>
+<span class="dtd_comment"> % </span>
+<span class="dtd_comment"> --></span>
+<span class="dtd_tag_symbols"><!</span><span class="dtd_tag_name">ELEMENT</span><span class="dtd_plain"> </span><span class="dtd_attribute_name">SpanTerm</span><span class="dtd_plain"> (</span><span class="dtd_keyword">#PCDATA</span><span class="dtd_plain">)</span><span class="dtd_tag_symbols">></span>
+<span class="dtd_comment"><!-- fieldName must be defined here or is taken from the most immediate parent XML element that defines a "fieldName" attribute --></span><span class="dtd_plain"> </span>
+<span class="dtd_tag_symbols"><!</span><span class="dtd_tag_name">ATTLIST</span><span class="dtd_plain"> </span><span class="dtd_attribute_name">SpanTerm</span><span class="dtd_plain"> </span><span class="dtd_attribute_name">fieldName</span><span class="dtd_plain"> </span><span class="dtd_keyword">CDATA</span><span class="dtd_plain"> </span><span class="dtd_keyword">#REQUIRED</span><span class="dtd_tag_symbols">></span>
+
+<span class="dtd_comment"><!-- A field-specific analyzer is used here to parse the child text provided in this tag. The SpanTerms produced are ORed in terms of Boolean logic </span>
+<span class="dtd_comment"> </span><span class="dtd_dtddoc_tag">@example</span><span class="dtd_comment"> <em>Use SpanOrTerms as a more convenient/succinct way of expressing multiple choices of SpanTerms. This example looks for reports </span>
+<span class="dtd_comment"> using words describing a fatality near to references to miners</em></span>
+<span class="dtd_comment"> %</span>
+<span class="dtd_comment"> <SpanNear slop="8" inOrder="false" fieldName="text"> </span>
+<span class="dtd_comment"> <SpanOrTerms>killed died death dead deaths</SpanOrTerms></span>
+<span class="dtd_comment"> <SpanOrTerms>miner mining miners</SpanOrTerms></span>
+<span class="dtd_comment"> </SpanNear></span>
+<span class="dtd_comment"> % </span>
+<span class="dtd_comment"> --></span>
+<span class="dtd_tag_symbols"><!</span><span class="dtd_tag_name">ELEMENT</span><span class="dtd_plain"> </span><span class="dtd_attribute_name">SpanOrTerms</span><span class="dtd_plain"> (</span><span class="dtd_keyword">#PCDATA</span><span class="dtd_plain">)</span><span class="dtd_tag_symbols">></span>
+<span class="dtd_comment"><!-- fieldName must be defined here or is taken from the most immediate parent XML element that defines a "fieldName" attribute --></span><span class="dtd_plain"> </span>
+<span class="dtd_tag_symbols"><!</span><span class="dtd_tag_name">ATTLIST</span><span class="dtd_plain"> </span><span class="dtd_attribute_name">SpanOrTerms</span><span class="dtd_plain"> </span><span class="dtd_attribute_name">fieldName</span><span class="dtd_plain"> </span><span class="dtd_keyword">CDATA</span><span class="dtd_plain"> </span><span class="dtd_keyword">#REQUIRED</span><span class="dtd_tag_symbols">></span>
+
+<span class="dtd_comment"><!-- Takes any number of child queries from the Span family </span>
+<span class="dtd_comment"> </span><span class="dtd_dtddoc_tag">@example</span><span class="dtd_comment"> <em>Find documents using terms close to each other about mining and accidents</em></span>
+<span class="dtd_comment"> %</span>
+<span class="dtd_comment"> <SpanNear slop="8" inOrder="false" fieldName="text"> </span>
+<span class="dtd_comment"> <SpanOr></span>
+<span class="dtd_comment"> <SpanTerm>killed</SpanTerm></span>
+<span class="dtd_comment"> <SpanTerm>died</SpanTerm></span>
+<span class="dtd_comment"> <SpanTerm>dead</SpanTerm></span>
+<span class="dtd_comment"> </SpanOr></span>
+<span class="dtd_comment"> <SpanOr></span>
+<span class="dtd_comment"> <SpanTerm>miner</SpanTerm></span>
+<span class="dtd_comment"> <SpanTerm>mining</SpanTerm></span>
+<span class="dtd_comment"> <SpanTerm>miners</SpanTerm></span>
+<span class="dtd_comment"> </SpanOr></span>
+<span class="dtd_comment"> </SpanNear></span>
+<span class="dtd_comment"> % </span>
+<span class="dtd_comment"> </span>
+<span class="dtd_comment"> --></span>
+<span class="dtd_tag_symbols"><!</span><span class="dtd_tag_name">ELEMENT</span><span class="dtd_plain"> </span><span class="dtd_attribute_name">SpanOr</span><span class="dtd_plain"> (%</span><span class="dtd_attribute_name">spanQueries</span><span class="dtd_plain">;)* </span><span class="dtd_tag_symbols">></span>
+
+<span class="dtd_comment"><!-- Takes any number of child queries from the Span family and tests for proximity</span>
+<span class="dtd_comment"> </span><span class="dtd_dtddoc_tag">@hidden</span><span class="dtd_comment"> TODO SpanNear missing "boost attr (could add to SpanBuilderBase)</span>
+<span class="dtd_comment"> --></span>
+<span class="dtd_tag_symbols"><!</span><span class="dtd_tag_name">ELEMENT</span><span class="dtd_plain"> </span><span class="dtd_attribute_name">SpanNear</span><span class="dtd_plain"> (%</span><span class="dtd_attribute_name">spanQueries</span><span class="dtd_plain">;)* </span><span class="dtd_tag_symbols">></span>
+<span class="dtd_comment"><!-- defines the maximum distance between Span elements where distance is expressed as word number, not byte offset </span>
+<span class="dtd_comment"> </span><span class="dtd_dtddoc_tag">@example</span><span class="dtd_comment"> <em>Find documents using terms within 8 words of each other talking about mining and accidents</em></span>
+<span class="dtd_comment"> %</span>
+<span class="dtd_comment"> <SpanNear slop="8" inOrder="false" fieldName="text"> </span>
+<span class="dtd_comment"> <SpanOr></span>
+<span class="dtd_comment"> <SpanTerm>killed</SpanTerm></span>
+<span class="dtd_comment"> <SpanTerm>died</SpanTerm></span>
+<span class="dtd_comment"> <SpanTerm>dead</SpanTerm></span>
+<span class="dtd_comment"> </SpanOr></span>
+<span class="dtd_comment"> <SpanOr></span>
+<span class="dtd_comment"> <SpanTerm>miner</SpanTerm></span>
+<span class="dtd_comment"> <SpanTerm>mining</SpanTerm></span>
+<span class="dtd_comment"> <SpanTerm>miners</SpanTerm></span>
+<span class="dtd_comment"> </SpanOr></span>
+<span class="dtd_comment"> </SpanNear></span>
+<span class="dtd_comment"> % </span>
+<span class="dtd_comment"> --></span>
+<span class="dtd_tag_symbols"><!</span><span class="dtd_tag_name">ATTLIST</span><span class="dtd_plain"> </span><span class="dtd_attribute_name">SpanNear</span><span class="dtd_plain"> </span><span class="dtd_attribute_name">slop</span><span class="dtd_plain"> </span><span class="dtd_keyword">CDATA</span><span class="dtd_plain"> </span><span class="dtd_keyword">#REQUIRED</span><span class="dtd_tag_symbols">></span>
+<span class="dtd_comment"><!-- Controls if matching terms have to appear in the order listed or can be reversed --></span>
+<span class="dtd_tag_symbols"><!</span><span class="dtd_tag_name">ATTLIST</span><span class="dtd_plain"> </span><span class="dtd_attribute_name">SpanNear</span><span class="dtd_plain"> </span><span class="dtd_attribute_name">inOrder</span><span class="dtd_plain"> (</span><span class="dtd_attribute_name">true</span><span class="dtd_plain"> | </span><span class="dtd_attribute_name">false</span><span class="dtd_plain">) </span><span class="dtd_attribute_value">"true"</span><span class="dtd_tag_symbols">></span>
+
+<span class="dtd_comment"><!-- Looks for a SpanQuery match occuring near the beginning of a document</span>
+<span class="dtd_comment"> </span>
+<span class="dtd_comment"> </span><span class="dtd_dtddoc_tag">@example</span><span class="dtd_comment"> </span>
+<span class="dtd_comment"> <em>Find letters where the first 50 words talk about a resignation:</em></span>
+<span class="dtd_comment"> % </span>
+<span class="dtd_comment"> <SpanFirst end="50"></span>
+<span class="dtd_comment"> <SpanOrTerms fieldName="text">resigning resign leave</SpanOrTerms></span>
+<span class="dtd_comment"> </SpanFirst></span>
+<span class="dtd_comment"> %</span>
+<span class="dtd_comment"> </span>
+<span class="dtd_comment"> --></span><span class="dtd_plain"> </span>
+<span class="dtd_tag_symbols"><!</span><span class="dtd_tag_name">ELEMENT</span><span class="dtd_plain"> </span><span class="dtd_attribute_name">SpanFirst</span><span class="dtd_plain"> (%</span><span class="dtd_attribute_name">spanQueries</span><span class="dtd_plain">;) </span><span class="dtd_tag_symbols">></span>
+<span class="dtd_comment"><!-- Controls the end of the region considered in a document's field (expressed in word number, not byte offset) --></span><span class="dtd_plain"> </span>
+<span class="dtd_tag_symbols"><!</span><span class="dtd_tag_name">ATTLIST</span><span class="dtd_plain"> </span><span class="dtd_attribute_name">SpanFirst</span><span class="dtd_plain"> </span><span class="dtd_attribute_name">end</span><span class="dtd_plain"> </span><span class="dtd_keyword">CDATA</span><span class="dtd_plain"> </span><span class="dtd_keyword">#REQUIRED</span><span class="dtd_tag_symbols">></span>
+<span class="dtd_comment"><!-- Optional boost for matches on this query. Values > 1 --></span>
+<span class="dtd_tag_symbols"><!</span><span class="dtd_tag_name">ATTLIST</span><span class="dtd_plain"> </span><span class="dtd_attribute_name">SpanFirst</span><span class="dtd_plain"> </span><span class="dtd_attribute_name">boost</span><span class="dtd_plain"> </span><span class="dtd_keyword">CDATA</span><span class="dtd_plain"> </span><span class="dtd_attribute_value">"1.0"</span><span class="dtd_tag_symbols">></span>
+
+<span class="dtd_comment"><!-- Finds documents matching a SpanQuery but not if matching another SpanQuery </span>
+<span class="dtd_comment"> </span><span class="dtd_dtddoc_tag">@example</span><span class="dtd_comment"> <em>Find documents talking about social services but not containing the word "public"</em></span>
+<span class="dtd_comment"> %</span>
+<span class="dtd_comment"> <SpanNot fieldName="text"></span>
+<span class="dtd_comment"> <Include></span>
+<span class="dtd_comment"> <SpanNear slop="2" inOrder="true"> </span>
+<span class="dtd_comment"> <SpanTerm>social</SpanTerm></span>
+<span class="dtd_comment"> <SpanTerm>services</SpanTerm></span>
+<span class="dtd_comment"> </SpanNear> </span>
+<span class="dtd_comment"> </Include></span>
+<span class="dtd_comment"> <Exclude></span>
+<span class="dtd_comment"> <SpanTerm>public</SpanTerm></span>
+<span class="dtd_comment"> </Exclude></span>
+<span class="dtd_comment"> </SpanNot></span>
+<span class="dtd_comment"> % </span>
+<span class="dtd_comment"> </span>
+<span class="dtd_comment"> --></span>
+<span class="dtd_tag_symbols"><!</span><span class="dtd_tag_name">ELEMENT</span><span class="dtd_plain"> </span><span class="dtd_attribute_name">SpanNot</span><span class="dtd_plain"> (</span><span class="dtd_attribute_name">Include</span><span class="dtd_plain">,</span><span class="dtd_attribute_name">Exclude</span><span class="dtd_plain">) </span><span class="dtd_tag_symbols">></span>
+<span class="dtd_comment"><!-- The SpanQuery to find --></span>
+<span class="dtd_tag_symbols"><!</span><span class="dtd_tag_name">ELEMENT</span><span class="dtd_plain"> </span><span class="dtd_attribute_name">Include</span><span class="dtd_plain"> (%</span><span class="dtd_attribute_name">spanQueries</span><span class="dtd_plain">;) </span><span class="dtd_tag_symbols">></span>
+<span class="dtd_comment"><!-- The SpanQuery to be avoided --></span>
+<span class="dtd_tag_symbols"><!</span><span class="dtd_tag_name">ELEMENT</span><span class="dtd_plain"> </span><span class="dtd_attribute_name">Exclude</span><span class="dtd_plain"> (%</span><span class="dtd_attribute_name">spanQueries</span><span class="dtd_plain">;) </span><span class="dtd_tag_symbols">></span>
+
+
+<span class="dtd_comment"><!-- a utility tag to wrap any filter as a query </span>
+<span class="dtd_comment"> </span><span class="dtd_dtddoc_tag">@example</span><span class="dtd_comment"> <em> Find all documents from the last 10 years </em></span>
+<span class="dtd_comment"> %</span>
+<span class="dtd_comment"> <ConstantScoreQuery></span>
+<span class="dtd_comment"> <RangeFilter fieldName="date" lowerTerm="19970101" upperTerm="20070101"/></span>
+<span class="dtd_comment"> </ConstantScoreQuery> </span>
+<span class="dtd_comment"> %</span>
+<span class="dtd_comment"> --></span>
+<span class="dtd_tag_symbols"><!</span><span class="dtd_tag_name">ELEMENT</span><span class="dtd_plain"> </span><span class="dtd_attribute_name">ConstantScoreQuery</span><span class="dtd_plain"> (%</span><span class="dtd_attribute_name">filters</span><span class="dtd_plain">;)* </span><span class="dtd_tag_symbols">></span>
+<span class="dtd_comment"><!-- Optional boost for matches on this query. Values > 1 --></span>
+<span class="dtd_tag_symbols"><!</span><span class="dtd_tag_name">ATTLIST</span><span class="dtd_plain"> </span><span class="dtd_attribute_name">ConstantScoreQuery</span><span class="dtd_plain"> </span><span class="dtd_attribute_name">boost</span><span class="dtd_plain"> </span><span class="dtd_keyword">CDATA</span><span class="dtd_plain"> </span><span class="dtd_attribute_value">"1.0"</span><span class="dtd_tag_symbols">></span>
+
+
+
+</pre>
+</body></html>
Added: lucene/java/trunk/contrib/xml-query-parser/docs/cctree.js
URL: http://svn.apache.org/viewvc/lucene/java/trunk/contrib/xml-query-parser/docs/cctree.js?rev=583307&view=auto
==============================================================================
--- lucene/java/trunk/contrib/xml-query-parser/docs/cctree.js (added)
+++ lucene/java/trunk/contrib/xml-query-parser/docs/cctree.js Tue Oct 9 14:45:27 2007
@@ -0,0 +1,291 @@
+/* This code is based on the one originally provided by
+ Geir Landrö in his dTree 2.05 package. You can get it
+ at : www.destroydrop.com/javascript/tree/.
+
+ Therefore, the DTDDoc team considers that this code is
+ Copyright (c) 2002-2003 Geir Landrö. Since the original
+ author didn't clearly forbids copies of this part, we
+ assume we're not doing anything wrong in porviding it
+ to you, in a modified or non-modified form.
+*/
+
+/*
+ Geir Landrö : Orignal version, for dTree.
+
+ Michael Koehrsen (10/2004) : Original modification to
+ allow DTDDoc to use this.
+
+ Stefan Champailler (10/2004) : Make sure that the first
+ level of the tree is not shown (aesthetic stuff).
+*/
+
+//----------------------------------------------------------------
+// CCTree
+// Implements a DHTML tree with the following features:
+// - Supports a general directed graph as the underlying model.
+// - Supports a concept of an "always open" node.
+//----------------------------------------------------------------
+
+// Private class _CCTreeModelNode
+function _CCTreeModelNode(id,label,link,alwaysOpen,initiallyOpen)
+{
+ this.id = id;
+ this.label = label;
+ this.link = link;
+ this.alwaysOpen = alwaysOpen;
+ this.initiallyOpen = initiallyOpen;
+
+ // children and childLabels are parallel arrays.
+ // By default, childLabels[i] == children[i].label,
+ // but the link operation may optionally specify
+ // a child label that is specific to that parent-child
+ // relationship.
+ this.children = new Array();
+ this.childLabels = new Array();
+}
+
+_CCTreeModelNode.prototype.addChild = function(child,childLabel)
+{
+ this.children.push(child);
+ if (childLabel) this.childLabels.push(childLabel);
+ else this.childLabels.push(child.label);
+}
+
+// Private class _CCDisplayNode
+function _CCDisplayNode(modelNode,parentNode,treeId,label)
+{
+ this.modelNode = modelNode;
+ this.parentNode = parentNode;
+ this.treeId = treeId;
+
+ if (label) this.label = label;
+ else this.label = modelNode.label;
+
+ this.isLastChild = false;
+
+ if (this.parentNode) {
+ this.id = this.parentNode.id + ":" + this.modelNode.id;
+
+ /* Stefan Champailler : This little fix is clever ! Let's check the
+ following tree:
+
+ alpha (1) -+-> beta (69)
+ \-> beta (69).
+
+ This describes a tree with three nodes. Two of them are links
+ (beta). In that case, both the "beta" node have an id of "1:69".
+ So if one calls openNode on any of them, what happens is that only
+ one actually gets opened. To prevent that, I change the id of the
+ node on the fly to make sure there are only unique id's.
+
+ Please note this code is not very efficient (and yes, the right
+ number of slash will be added :)) */
+
+ for( var k=0; k<parentNode.children.length; k++) {
+ if( parentNode.children[k].id == this.id)
+ this.id = this.id + "/";
+ }
+
+ /* end of fix */
+ }
+ else this.id = this.modelNode.id;
+
+ CCTree.trees[this.treeId].allDisplayNodes[this.id] = this;
+
+ this.isOpen = this.modelNode.alwaysOpen || this.modelNode.initiallyOpen;
+ if (this.isOpen)
+ {
+ this.constructChildren();
+ }
+}
+
+_CCDisplayNode.prototype.toInnerHTML = function()
+{
+ var indent = "";
+
+ if (this.isOpen && !this.children) this.constructChildren();
+
+ if (this.isLastChild)
+ {
+ if (this.modelNode.alwaysOpen)
+ indent = this.imageTag("joinbottom.gif");
+ else if (this.isOpen)
+ indent = this.imageTag("minusbottom.gif","close")
+ else if (this.modelNode.children.length)
+ indent = this.imageTag("plusbottom.gif","open");
+ else
+ indent = this.imageTag("joinbottom.gif");
+ }
+ else
+ {
+ if (this.modelNode.alwaysOpen)
+ indent = this.imageTag("join.gif");
+ else if (this.isOpen)
+ indent = this.imageTag("minus.gif","close");
+ else if (this.modelNode.children.length)
+ indent = this.imageTag("plus.gif","open");
+ else
+ indent = this.imageTag("join.gif");
+ }
+
+ /* Construct a horizontal line of the tree */
+
+ var currAnc = this.parentNode;
+ while (currAnc)
+ {
+ if (currAnc.isLastChild)
+ indent = this.imageTag("empty.gif") + indent;
+ else
+ indent = this.imageTag("line.gif") + indent;
+ currAnc = currAnc.parentNode;
+ }
+
+ var result = indent + this.nodeContent();
+
+ /* Recurse deeper in the tree */
+
+ if (this.isOpen && this.children)
+ {
+ var ix;
+ for (ix in this.children)
+ {
+ result += this.children[ix];
+ }
+ }
+
+ return result;
+}
+
+_CCDisplayNode.prototype.toString = function()
+{
+ return "<div class='cctree-node' id='" + this.divId() + "'>" + this.toInnerHTML() + "</div>";
+}
+
+_CCDisplayNode.prototype.constructChildren = function()
+{
+ if (this.modelNode.children.length > 0)
+ {
+ this.children = new Array();
+ var ix;
+ for (ix in this.modelNode.children)
+ {
+ this.children.push(new _CCDisplayNode(this.modelNode.children[ix],
+ this,
+ this.treeId,
+ this.modelNode.childLabels[ix]));
+ }
+ this.children[this.children.length-1].isLastChild = true;
+ }
+}
+
+_CCDisplayNode.prototype.imageTag = function(imgName,action)
+{
+ var href = null;
+
+ if (action == "open") href="CCTree.trees[" + this.treeId + "].openNode('" + this.id + "')";
+ if (action == "close") href="CCTree.trees[" + this.treeId + "].closeNode('" + this.id + "')";
+
+ if (href) return "<a href=\"javascript:" + href + "\"><img src='img/" + imgName + "' border='0'></a>";
+ else return "<img src='img/" + imgName + "'>";
+}
+
+_CCDisplayNode.prototype.divId = function()
+{
+ return "CCTree_" + this.treeId + "_" + this.id;
+}
+
+_CCDisplayNode.prototype.nodeContent = function()
+{
+ var target = "";
+
+ if (CCTree.trees[this.treeId].linkTarget) target = " target='" + CCTree.trees[this.treeId].linkTarget + "'";
+
+ if (this.modelNode.link)
+ return "<a href='" + this.modelNode.link + "'" + target + ">" + this.label + "</a>";
+ else return this.label;
+}
+
+_CCDisplayNode.prototype.open = function()
+{
+ this.isOpen = true;
+ // document.all is known to work on IE but not on Konqueror or Mozilla.
+ // So I've changed it to something more portable.
+
+ //document.all[this.divId()].innerHTML = this.toInnerHTML();
+ document.getElementById(this.divId()).innerHTML = this.toInnerHTML();
+}
+
+_CCDisplayNode.prototype.close = function()
+{
+ this.isOpen = false;
+ //document.all[this.divId()].innerHTML = this.toInnerHTML();
+ document.getElementById(this.divId()).innerHTML = this.toInnerHTML();
+}
+
+// Public class CCTree
+CCTree = function(linkTarget)
+{
+ // may have multiple roots:
+ this.rootModelNodes = new Array();
+ this.allModelNodes = new Array();
+ this.treeId = CCTree.trees.length;
+ this.allDisplayNodes = new Array(); // indexed by id
+ this.linkTarget = linkTarget;
+ CCTree.trees.push(this);
+}
+
+// static variables
+CCTree.trees = new Array();
+
+CCTree.prototype.addRootNode = function (id,label,link,alwaysOpen,initiallyOpen)
+{
+ this.rootModelNodes[id] = this.addNode(id,label,link,alwaysOpen,initiallyOpen);
+}
+
+CCTree.prototype.addNode = function(id,label,link,alwaysOpen,initiallyOpen)
+{
+ var newNode = new _CCTreeModelNode(id,label,link,alwaysOpen,initiallyOpen);
+ this.allModelNodes[id] = newNode;
+ return newNode;
+}
+
+CCTree.prototype.linkNodes = function(parentId,childId,childLabel)
+{
+ this.allModelNodes[parentId].addChild(this.allModelNodes[childId],childLabel);
+}
+
+CCTree.prototype.constructDisplayNodes = function()
+{
+ this.rootDisplayNodes = new Array();
+ var ix;
+ for (ix in this.rootModelNodes)
+ {
+ this.rootDisplayNodes.push(new _CCDisplayNode(this.rootModelNodes[ix],null,this.treeId));
+ }
+ this.rootDisplayNodes[this.rootDisplayNodes.length-1].isLastChild = true;
+}
+
+CCTree.prototype.openNode = function(displayNodeId)
+{
+ this.allDisplayNodes[displayNodeId].open();
+}
+
+CCTree.prototype.closeNode = function(displayNodeId)
+{
+ this.allDisplayNodes[displayNodeId].close();
+}
+
+CCTree.prototype.toString = function()
+{
+ this.constructDisplayNodes();
+
+ var ix;
+ var result = "";
+
+ for (ix in this.rootDisplayNodes)
+ {
+ result += this.rootDisplayNodes[ix].toString();
+ }
+
+ return result;
+}
Added: lucene/java/trunk/contrib/xml-query-parser/docs/dtreeStyle.css
URL: http://svn.apache.org/viewvc/lucene/java/trunk/contrib/xml-query-parser/docs/dtreeStyle.css?rev=583307&view=auto
==============================================================================
--- lucene/java/trunk/contrib/xml-query-parser/docs/dtreeStyle.css (added)
+++ lucene/java/trunk/contrib/xml-query-parser/docs/dtreeStyle.css Tue Oct 9 14:45:27 2007
@@ -0,0 +1,30 @@
+/* This CSS is based on the one originally provided by
+ Geir Landrö in his dTree 2.05 package. You can get it
+ at : www.destroydrop.com/javascript/tree/.
+
+ Therefore, the DTDDoc team considers that this code is
+ Copyright (c) 2002-2003 Geir Landrö. Since the original
+ author didn't clearly forbids copies of this part, we
+ assume we're not doing anything wrong in porviding it
+ to you, in a modified or non-modified form.
+*/
+
+/*
+ Geir Landrö : Orignal version, for dTree.
+
+ Stefan Champailler (10/2004) : Style changes here and
+ there.
+*/
+
+
+.dtree {
+ font-family: Verdana, Geneva, Arial, Helvetica, sans-serif;
+ font-size: 11 px;
+ white-space: nowrap;
+}
+.dtree img { vertical-align: middle; }
+.dtree a { }
+.dtree a.node, .dtree a.nodeSel { white-space: nowrap; padding: 1px 2px 1px 2px; }
+.dtree a.node:hover, .dtree a.nodeSel:hover {}
+.dtree a.nodeSel { }
+.dtree .clip { overflow: hidden; }
Added: lucene/java/trunk/contrib/xml-query-parser/docs/elementsIndex.html
URL: http://svn.apache.org/viewvc/lucene/java/trunk/contrib/xml-query-parser/docs/elementsIndex.html?rev=583307&view=auto
==============================================================================
--- lucene/java/trunk/contrib/xml-query-parser/docs/elementsIndex.html (added)
+++ lucene/java/trunk/contrib/xml-query-parser/docs/elementsIndex.html Tue Oct 9 14:45:27 2007
@@ -0,0 +1,60 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title>elements' index</title>
+<meta http-equiv='CONTENT-TYPE' content='text/html' />
+<link rel='StyleSheet' href='DTDDocStyle.css' type='text/css' media='screen' />
+</head><body>
+<p class='DTDSource'>Elements - Entities - Source | <a href='intro.html'>Intro</a> - <a href='elementsIndex.html'>Index</a><br /><a href='index.html' target='_top'>FRAMES</a> / <a href='elementsIndex.html' target='_top'>NO FRAMES</a></p><a href='#B'>B</a> <a href='#C'>C</a> <a href='#D'>D</a> <a href='#E'>E</a> <a href='#F'>F</a> <a href='#I'>I</a> <a href='#L'>L</a> <a href='#M'>M</a> <a href='#Q'>Q</a> <a href='#R'>R</a> <a href='#S'>S</a> <a href='#T'>T</a> <a href='#U'>U</a> <br />
+<a name='B'></a>
+<h2>B</h2>
+BooleanFilter - <a href='LuceneContribQuery.dtd.html#BooleanFilter'>Contrib Lucene</a><br />
+BooleanQuery - <a href='LuceneContribQuery.dtd.html#BooleanQuery'>Contrib Lucene</a>, <a href='LuceneCoreQuery.dtd.html#BooleanQuery'>Core Lucene</a><br />
+BoostingQuery - <a href='LuceneContribQuery.dtd.html#BoostingQuery'>Contrib Lucene</a><br />
+BoostQuery - <a href='LuceneContribQuery.dtd.html#BoostQuery'>Contrib Lucene</a><br />
+<a name='C'></a>
+<h2>C</h2>
+CachedFilter - <a href='LuceneContribQuery.dtd.html#CachedFilter'>Contrib Lucene</a>, <a href='LuceneCoreQuery.dtd.html#CachedFilter'>Core Lucene</a><br />
+Clause - <a href='LuceneContribQuery.dtd.html#Clause'>Contrib Lucene</a>, <a href='LuceneCoreQuery.dtd.html#Clause'>Core Lucene</a><br />
+ConstantScoreQuery - <a href='LuceneContribQuery.dtd.html#ConstantScoreQuery'>Contrib Lucene</a>, <a href='LuceneCoreQuery.dtd.html#ConstantScoreQuery'>Core Lucene</a><br />
+<a name='D'></a>
+<h2>D</h2>
+DuplicateFilter - <a href='LuceneContribQuery.dtd.html#DuplicateFilter'>Contrib Lucene</a><br />
+<a name='E'></a>
+<h2>E</h2>
+Exclude - <a href='LuceneContribQuery.dtd.html#Exclude'>Contrib Lucene</a>, <a href='LuceneCoreQuery.dtd.html#Exclude'>Core Lucene</a><br />
+<a name='F'></a>
+<h2>F</h2>
+Field - <a href='LuceneContribQuery.dtd.html#Field'>Contrib Lucene</a><br />
+Filter - <a href='LuceneContribQuery.dtd.html#Filter'>Contrib Lucene</a>, <a href='LuceneCoreQuery.dtd.html#Filter'>Core Lucene</a><br />
+FilteredQuery - <a href='LuceneContribQuery.dtd.html#FilteredQuery'>Contrib Lucene</a>, <a href='LuceneCoreQuery.dtd.html#FilteredQuery'>Core Lucene</a><br />
+FuzzyLikeThisQuery - <a href='LuceneContribQuery.dtd.html#FuzzyLikeThisQuery'>Contrib Lucene</a><br />
+<a name='I'></a>
+<h2>I</h2>
+Include - <a href='LuceneContribQuery.dtd.html#Include'>Contrib Lucene</a>, <a href='LuceneCoreQuery.dtd.html#Include'>Core Lucene</a><br />
+<a name='L'></a>
+<h2>L</h2>
+LikeThisQuery - <a href='LuceneContribQuery.dtd.html#LikeThisQuery'>Contrib Lucene</a><br />
+<a name='M'></a>
+<h2>M</h2>
+MatchAllDocsQuery - <a href='LuceneContribQuery.dtd.html#MatchAllDocsQuery'>Contrib Lucene</a>, <a href='LuceneCoreQuery.dtd.html#MatchAllDocsQuery'>Core Lucene</a><br />
+<a name='Q'></a>
+<h2>Q</h2>
+Query - <a href='LuceneContribQuery.dtd.html#Query'>Contrib Lucene</a>, <a href='LuceneCoreQuery.dtd.html#Query'>Core Lucene</a><br />
+<a name='R'></a>
+<h2>R</h2>
+RangeFilter - <a href='LuceneContribQuery.dtd.html#RangeFilter'>Contrib Lucene</a>, <a href='LuceneCoreQuery.dtd.html#RangeFilter'>Core Lucene</a><br />
+<a name='S'></a>
+<h2>S</h2>
+SpanFirst - <a href='LuceneContribQuery.dtd.html#SpanFirst'>Contrib Lucene</a>, <a href='LuceneCoreQuery.dtd.html#SpanFirst'>Core Lucene</a><br />
+SpanNear - <a href='LuceneContribQuery.dtd.html#SpanNear'>Contrib Lucene</a>, <a href='LuceneCoreQuery.dtd.html#SpanNear'>Core Lucene</a><br />
+SpanNot - <a href='LuceneContribQuery.dtd.html#SpanNot'>Contrib Lucene</a>, <a href='LuceneCoreQuery.dtd.html#SpanNot'>Core Lucene</a><br />
+SpanOr - <a href='LuceneContribQuery.dtd.html#SpanOr'>Contrib Lucene</a>, <a href='LuceneCoreQuery.dtd.html#SpanOr'>Core Lucene</a><br />
+SpanOrTerms - <a href='LuceneContribQuery.dtd.html#SpanOrTerms'>Contrib Lucene</a>, <a href='LuceneCoreQuery.dtd.html#SpanOrTerms'>Core Lucene</a><br />
+SpanTerm - <a href='LuceneContribQuery.dtd.html#SpanTerm'>Contrib Lucene</a>, <a href='LuceneCoreQuery.dtd.html#SpanTerm'>Core Lucene</a><br />
+<a name='T'></a>
+<h2>T</h2>
+TermQuery - <a href='LuceneContribQuery.dtd.html#TermQuery'>Contrib Lucene</a>, <a href='LuceneCoreQuery.dtd.html#TermQuery'>Core Lucene</a><br />
+TermsFilter - <a href='LuceneContribQuery.dtd.html#TermsFilter'>Contrib Lucene</a><br />
+TermsQuery - <a href='LuceneContribQuery.dtd.html#TermsQuery'>Contrib Lucene</a>, <a href='LuceneCoreQuery.dtd.html#TermsQuery'>Core Lucene</a><br />
+<a name='U'></a>
+<h2>U</h2>
+UserQuery - <a href='LuceneContribQuery.dtd.html#UserQuery'>Contrib Lucene</a>, <a href='LuceneCoreQuery.dtd.html#UserQuery'>Core Lucene</a></body></html>
Added: lucene/java/trunk/contrib/xml-query-parser/docs/img/empty.gif
URL: http://svn.apache.org/viewvc/lucene/java/trunk/contrib/xml-query-parser/docs/img/empty.gif?rev=583307&view=auto
==============================================================================
Binary file - no diff available.
Propchange: lucene/java/trunk/contrib/xml-query-parser/docs/img/empty.gif
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: lucene/java/trunk/contrib/xml-query-parser/docs/img/join.gif
URL: http://svn.apache.org/viewvc/lucene/java/trunk/contrib/xml-query-parser/docs/img/join.gif?rev=583307&view=auto
==============================================================================
Binary file - no diff available.
Propchange: lucene/java/trunk/contrib/xml-query-parser/docs/img/join.gif
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: lucene/java/trunk/contrib/xml-query-parser/docs/img/joinbottom.gif
URL: http://svn.apache.org/viewvc/lucene/java/trunk/contrib/xml-query-parser/docs/img/joinbottom.gif?rev=583307&view=auto
==============================================================================
Binary file - no diff available.
Propchange: lucene/java/trunk/contrib/xml-query-parser/docs/img/joinbottom.gif
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: lucene/java/trunk/contrib/xml-query-parser/docs/img/line.gif
URL: http://svn.apache.org/viewvc/lucene/java/trunk/contrib/xml-query-parser/docs/img/line.gif?rev=583307&view=auto
==============================================================================
Binary file - no diff available.
Propchange: lucene/java/trunk/contrib/xml-query-parser/docs/img/line.gif
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: lucene/java/trunk/contrib/xml-query-parser/docs/img/minus.gif
URL: http://svn.apache.org/viewvc/lucene/java/trunk/contrib/xml-query-parser/docs/img/minus.gif?rev=583307&view=auto
==============================================================================
Binary file - no diff available.
Propchange: lucene/java/trunk/contrib/xml-query-parser/docs/img/minus.gif
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: lucene/java/trunk/contrib/xml-query-parser/docs/img/minusbottom.gif
URL: http://svn.apache.org/viewvc/lucene/java/trunk/contrib/xml-query-parser/docs/img/minusbottom.gif?rev=583307&view=auto
==============================================================================
Binary file - no diff available.
Propchange: lucene/java/trunk/contrib/xml-query-parser/docs/img/minusbottom.gif
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: lucene/java/trunk/contrib/xml-query-parser/docs/img/plus.gif
URL: http://svn.apache.org/viewvc/lucene/java/trunk/contrib/xml-query-parser/docs/img/plus.gif?rev=583307&view=auto
==============================================================================
Binary file - no diff available.
Propchange: lucene/java/trunk/contrib/xml-query-parser/docs/img/plus.gif
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: lucene/java/trunk/contrib/xml-query-parser/docs/img/plusbottom.gif
URL: http://svn.apache.org/viewvc/lucene/java/trunk/contrib/xml-query-parser/docs/img/plusbottom.gif?rev=583307&view=auto
==============================================================================
Binary file - no diff available.
Propchange: lucene/java/trunk/contrib/xml-query-parser/docs/img/plusbottom.gif
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: lucene/java/trunk/contrib/xml-query-parser/docs/index.html
URL: http://svn.apache.org/viewvc/lucene/java/trunk/contrib/xml-query-parser/docs/index.html?rev=583307&view=auto
==============================================================================
--- lucene/java/trunk/contrib/xml-query-parser/docs/index.html (added)
+++ lucene/java/trunk/contrib/xml-query-parser/docs/index.html Tue Oct 9 14:45:27 2007
@@ -0,0 +1,16 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
+<html><head>
+<title>DTDDoc for Lucene XML Query syntax</title>
+<link rel='StyleSheet' href='DTDDocStyle.css' type='text/css' media='screen' /></head>
+<frameset cols='20%, 80%'>
+ <frame src='toc.html' />
+ <frame src='intro.html' name='detail' />
+ <noframes><body>
+<p class='DTDSource'>Elements - Entities - Source | <a href='intro.html'>Intro</a> - <a href='elementsIndex.html'>Index</a><br /><a href='index.html' target='_top'>FRAMES</a> / <a href='intro.html' target='_top'>NO FRAMES</a></p><h1>Lucene XML Query syntax</h1>
+<table border='1' cellspacing='0'>
+<tr><td><code><a href='LuceneContribQuery.dtd.html'>LuceneContribQuery.dtd</a></code></td><td>Contrib Lucene</td></tr>
+<tr><td><code><a href='LuceneCoreQuery.dtd.html'>LuceneCoreQuery.dtd</a></code></td><td>Core Lucene</td></tr>
+</table>
+<p>This documentation was generated by <a href='http://dtddoc.sourceforge.net'>DTDDoc</a> 1.1.0 (2007-02-03) !</p>
+</body></noframes>
+</frameset></html>
Added: lucene/java/trunk/contrib/xml-query-parser/docs/intro.html
URL: http://svn.apache.org/viewvc/lucene/java/trunk/contrib/xml-query-parser/docs/intro.html?rev=583307&view=auto
==============================================================================
--- lucene/java/trunk/contrib/xml-query-parser/docs/intro.html (added)
+++ lucene/java/trunk/contrib/xml-query-parser/docs/intro.html Tue Oct 9 14:45:27 2007
@@ -0,0 +1,12 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title>DTDDoc for Lucene XML Query syntax</title>
+<link rel='StyleSheet' href='DTDDocStyle.css' type='text/css' media='screen' />
+</head><body>
+<p class='DTDSource'>Elements - Entities - Source | <a href='intro.html'>Intro</a> - <a href='elementsIndex.html'>Index</a><br /><a href='index.html' target='_top'>FRAMES</a> / <a href='intro.html' target='_top'>NO FRAMES</a></p><h1>Lucene XML Query syntax</h1>
+<table border='1' cellspacing='0'>
+<tr><td><code><a href='LuceneContribQuery.dtd.html'>LuceneContribQuery.dtd</a></code></td><td>Contrib Lucene</td></tr>
+<tr><td><code><a href='LuceneCoreQuery.dtd.html'>LuceneCoreQuery.dtd</a></code></td><td>Core Lucene</td></tr>
+</table>
+<p>This documentation was generated by <a href='http://dtddoc.sourceforge.net'>DTDDoc</a> 1.1.0 (2007-02-03) !</p>
+<p>Use the left menu to navigate through the DTDs !</p>
+</body></html>