1 /** \page impl_dep_features  Implementation Dependent Features and Properties
2
3<ul>
4  <li> \ref IDI </li>
5  <li> \ref Features </li>
6  <li> \ref Context_properties </li>
7</ul>
8\section IDI Implementation Defined Items
9<table bgcolor="white" cellpadding="2">
10  <tr bgcolor="lightcyan">
11    <td>
12      <strong>W3C Specification</strong>
13    </td>
14    <td>
15      <strong>Description</strong>
16    </td>
17    <td>
18      <strong>Description of the Implementation in Zorba</strong>
19    </td>
20  </tr>
21  <tr bgcolor="lightcyan">
22    <td>W3C XQuery 1.0</td>
23    <td>The version of Unicode that is used to construct expressions.</td>
24    <td>Zorba's Unicode version is whatever ICU's Unicode is. Latest ICU supports Unicode 6.0.</td>
25  </tr>
26  <tr bgcolor="lightcyan">
27    <td>W3C XQuery 1.0</td>
28    <td>The statically-known collations.</td>
29    <td>http://www.w3.org/2005/xpath-functions/collation/codepoint</td>
30  </tr>
31  <tr bgcolor="lightcyan">
32    <td>W3C XQuery 1.0</td>
33    <td>The implicit timezone.</td>
34    <td>The implicit timezone is computed based on the current local time of the computer running Zorba.</td>
35  </tr>
36  <tr bgcolor="lightcyan">
37    <td>W3C XQuery 1.0</td>
38    <td>The circumstances in which warnings are raised, and the ways in which warnings are handled.</td>
39    <td>Warnings are handled via instances of the zorba::DiagnosticHandler class. For details, see http://www.zorba-xquery.com/html/doc/latest/cxx/html/classzorba_1_1DiagnosticHandler.html and http://www.zorba-xquery.com/html/doc/latest/zorba/xqdoc/xhtml/www.zorba-xquery.com_warnings.html.</td>
40  </tr>
41  <tr bgcolor="lightcyan">
42    <td>W3C XQuery 1.0</td>
43    <td>The method by which errors are reported to the external processing environment.</td>
44    <td>Errors are handled via instances of the zorba::DiagnosticHandler class. For details, see http://www.zorba-xquery.com/html/doc/latest/cxx/html/classzorba_1_1DiagnosticHandler.html.</td>
45  </tr>
46  <tr bgcolor="lightcyan">
47    <td>W3C XQuery 1.0</td>
48    <td>Whether the implementation is based on the rules of [XML 1.0] and [XML Names] or the rules of [XML 1.1] and [XML Names 1.1]. One of these sets of rules must be applied consistently by all aspects of the implementation.</td>
49    <td>XML 1.0</td>
50  </tr>
51  <tr bgcolor="lightcyan">
52    <td>W3C XQuery 1.0</td>
53    <td>Any components of the static context or dynamic context that are overwritten or augmented by the implementation.</td>
54    <td>The following static context components are overwritten/augmented: 1. Statically known namespaces: Augmented with zerr –&gt; <a href="http://www.zorba-xquery.com/html/modules/zorba/errors">http://www.zorba-xquery.com/errors</a> 2. Context item static type: item() 3. Default order for empty sequences: empty_greatest 4. Static Base URI: We use the rules in 4.5, where the implementation-defined default mentioned there is http://www.zorba-xquery.com, 5. Statically known default collection type: item()*</td>
55  </tr>
56  <tr bgcolor="lightcyan">
57    <td>W3C XQuery 1.0</td>
58    <td>Which of the optional axes are supported by the implementation, if the Full-Axis Feature is not supported.</td>
59    <td>All axes are supported</td>
60  </tr>
61  <tr bgcolor="lightcyan">
62    <td>W3C XQuery 1.0</td>
63    <td>The default handling of empty sequences returned by an ordering key (sortspec) in an order by clause (empty least or empty greatest).</td>
64    <td>empty_greatest</td>
65  </tr>
66  <tr bgcolor="lightcyan">
67    <td>W3C XQuery 1.0</td>
68    <td>The names and semantics of any extension expressions (pragmas) recognized by the implementation.</td>
69    <td>No pragmas are recognized.</td>
70  </tr>
71  <tr bgcolor="lightcyan">
72    <td>W3C XQuery 1.0</td>
73    <td>The names and semantics of any option declarations recognized by the implementation.</td>
74    <td>See http://www.zorba-xquery.com/html/doc/latest/options_and_annotations.html.</td>
75  </tr>
76  <tr bgcolor="lightcyan">
77    <td>W3C XQuery 1.0</td>
78    <td>Protocols (if any) by which parameters can be passed to an external function, and the result of the function can returned to the invoking query.</td>
79    <td>See http://www.zorba-xquery.com/html/doc/latest/external_functions.html.</td>
80  </tr>
81  <tr bgcolor="lightcyan">
82    <td>W3C XQuery 1.0</td>
83    <td>The process by which the specific modules to be imported by a module import are identified, if the Module Feature is supported (includes processing of location hints, if any.)</td>
84    <td>See http://www.zorba-xquery.com/html/doc/latest/modules_top.html.</td>
85  </tr>
86  <tr bgcolor="lightcyan">
87    <td>W3C XQuery 1.0</td>
88    <td>Any static typing extensions supported by the implementation, if the Static Typing Feature is supported.</td>
89    <td>Static typing is not supported.</td>
90  </tr>
91  <tr bgcolor="lightcyan">
92    <td>W3C XQuery 1.0</td>
93    <td>The means by which serialization is invoked, if the Serialization Feature is supported.</td>
94    <td>The result of an XQuery program can be serialized via the zorba::XQuery::execute methods (see http://www.zorba-xquery.com/html/documentation/latest/cxx/classzorba_1_1XQuery). Sequence of items can be serialized via the zorba::Serializer::serialize method (see http://www.zorba-xquery.com/html/documentation/latest/cxx/classzorba_1_1Serializer).</td>
95  </tr>
96  <tr bgcolor="lightcyan">
97    <td>W3C XQuery 1.0</td>
98    <td>The default values for the byte-order-mark, encoding, media-type, normalization-form, omit-xml-declaration, standalone, and version parameters, if the Serialization Feature is supported.</td>
99    <td>Serialization Feature is supported. Implicit values are: byte-order-mark = no, encoding = UTF-8, media-type = '', normalization-form = '', omix-xml-declaration = no, standalone = omit, version = '1.0', method = xml, doctype-system = '', doctype-public = '', cdata-section-elements = empty list, include-content-type = no, undeclare-prefixes = no, indent = no</td>
100  </tr>
101  <tr bgcolor="lightcyan">
102    <td>W3C XQuery 1.0</td>
103    <td>The result of an unsuccessful call to an external function (for example, if the function implementation cannot be found or does not return a value of the declared type).</td>
104    <td>An error is raised using the regular error handling mechanism of zorba. The kind of error depends on the kind of failure. For example, zerr:ZXQP0008  if the function implementation is not found, or err:XPTY0004 if the result of the function does not match the declared returned type.</td>
105  </tr>
106  <tr bgcolor="lightcyan">
107    <td>W3C XQuery 1.0</td>
108    <td>Limits on ranges of values for various data types, as enumerated in 5.3 Data Model Conformance.</td>
109    <td>totalDigits = 2^63, xs:string length = available memory.</td>
110  </tr>
111  <tr bgcolor="lightcyan">
112    <td>W3C XQuery 1.0</td>
113    <td>The destination of the trace output is implementation-defined. See 4 The Trace Function.</td>
114    <td>By default, it is std:cerr. Users can modify this via the StaticContext::setTraceStream method.</td>
115  </tr>
116  <tr bgcolor="lightcyan">
117    <td>W3C XQuery 1.0</td>
118    <td>For xs:integer operations, implementations that support limited-precision integer operations must either raise an error [err:FOAR0002] or provide an implementation-defined mechanism that allows users to choose between raising an error and returning a result that is modulo the largest representable integer value. See 6.2 Operators on Numeric Values.</td>
119    <td>Zorba raises [err:FOAR0002]</td>
120  </tr>
121  <tr bgcolor="lightcyan">
122    <td>W3C XQuery 1.0</td>
123    <td>For xs:decimal values the number of digits of precision returned by the numeric operators is implementation-defined. See 6.2 Operators on Numeric Values. See also 17.1.3.3 Casting to xs:decimal and 17.1.3.4 Casting to xs:integer.</td>
124    <td>On a 32-bit system, the number of digits of precision is 2^31; on a 64-bit system, the number of digits of precision is 2^63.</td>
125  </tr>
126  <tr bgcolor="lightcyan">
127    <td>W3C XQuery 1.0</td>
128    <td>If the number of digits in the result exceeds the number of digits that the implementation supports, the result is truncated or rounded in an implementation-defined manner. See 6.2 Operators on Numeric Values. See also 17.1.3.3 Casting to xs:decimal and 17.1.3.4 Casting to xs:integer.</td>
129    <td>It does whatever the underlying C++ implementation does.</td>
130  </tr>
131  <tr bgcolor="lightcyan">
132    <td>W3C XQuery 1.0</td>
133    <td>It is implementation-defined which version of Unicode is supported by the features defined in this specification, but it is recommended that the most recent version of Unicode be used. See 7.1 String Types.</td>
134    <td>Zorba's Unicode version is whatever ICU's Unicode is. Latest ICU supports Unicode 6.0.</td>
135  </tr>
136  <tr bgcolor="lightcyan">
137    <td>W3C XQuery 1.0</td>
138    <td>For 7.4.6 fn:normalize-unicode, conforming implementations must support normalization form "NFC" and may support normalization forms "NFD", "NFKC", "NFKD", "FULLY-NORMALIZED". They may also support other normalization forms with implementation-defined semantics.</td>
139    <td>Zorba supports NFC, NFKC, NFD, NFKD normalization forms.</td>
140  </tr>
141  <tr bgcolor="lightcyan">
142    <td>W3C XQuery 1.0</td>
143    <td>The ability to decompose strings into collation units suitable for substring matching is an implementation-defined property of a collation. See 7.5 Functions Based on Substring Matching.</td>
144    <td>Zorba does not support this.</td>
145  </tr>
146  <tr bgcolor="lightcyan">
147    <td>W3C XQuery 1.0</td>
148    <td>All minimally conforming processors must support year values with a minimum of 4 digits (i.e., YYYY) and a minimum fractional second precision of 1 millisecond or three digits (i.e., s.sss). However, conforming processors may set larger implementation-defined limits on the maximum number of digits they support in these two situations. See 10.1.1 Limits and Precision.</td>
149    <td>Year values: Zorba supports 9 digits (32bit maxint). Fractional second: Zorba supports 6 digits.</td>
150  </tr>
151  <tr bgcolor="lightcyan">
152    <td>W3C XQuery 1.0</td>
153    <td>The result of casting a string to xs:decimal, when the resulting value is not too large or too small but nevertheless has too many decimal digits to be accurately represented, is implementation-defined. See 17.1.1 Casting from xs:string and xs:untypedAtomic.</td>
154    <td>On a 32-bit system, the number of digits of precision is 2^31; on a 64-bit system, the number of digits of precision is 2^63.</td>
155  </tr>
156  <tr bgcolor="lightcyan">
157    <td>W3C XQuery 1.0</td>
158    <td>Various aspects of the processing provided by 15.5.4 fn:doc are implementation-defined. Implementations may provide external configuration options that allow any aspect of the processing to be controlled by the user.</td>
159    <td>Zorba provides no configuration options for 15.5.4 fn:doc.</td>
160  </tr>
161  <tr bgcolor="lightcyan">
162    <td>W3C XQuery 1.0</td>
163    <td>The manner in which implementations provide options to weaken the stable characteristic of 15.5.6 fn:collection and 15.5.4 fn:doc are implementation-defined.</td>
164    <td>Zorba provides no options to weaken the stable characteristics of 15.5.6 fn:collection or 15.5.4 fn:doc.</td>
165  </tr>
166  <tr bgcolor="lightcyan">
167    <td>W3C XQuery 1.0</td>
168    <td>Support for additional user-defined or implementation-defined types is implementation-defined. (See 2.6.1 Representation of Types)</td>
169    <td>There are no implementation-defined types. User-defined types are created and become “in-scope” when “import schema” statements are processed. User-defined types (including anonymous types) are created within a static context and they are destroyed when their containing static context is destroyed.</td>
170  </tr>
171  <tr bgcolor="lightcyan">
172    <td>W3C XQuery 1.0</td>
173    <td>Some typed values in the data model are undefined. Attempting to access an undefined property is always an error. Behavior in these cases is implementation-defined and the host language is responsible for determining the result. (See 5 Accessors)</td>
174    <td>err:FOTY0012</td>
175  </tr>
176  <tr bgcolor="lightcyan">
177    <td>W3C XQuery 1.0</td>
178    <td>For any implementation-defined output method, it is implementation-defined whether sequence normalization process takes place. (See 2 Sequence Normalization)</td>
179    <td>Zorba performs sequence normalization for the 'binary' serialization method. Zorba's Data Converters module performs sequence normalization for JSON and JSONML (but these are not serialization output methods, i.e. they cannot be invoked with the help of '-z method=JSON')</td>
180  </tr>
181  <tr bgcolor="lightcyan">
182    <td>W3C XQuery 1.0</td>
183    <td>If the namespace URI is non-null for the method serialization parameter, then the parameter specifies an implementation-defined output method. (See 3 Serialization Parameters)</td>
184    <td>Zorba's only implementation-defined output method is 'binary' and it is used unqualified (URI is null).</td>
185  </tr>
186  <tr bgcolor="lightcyan">
187    <td>W3C XQuery 1.0</td>
188    <td>If the value of the normalization-form form parameter is not NFC, NFD, NFKC, NFKD, fully-normalized, or none then the meaning of the value and it's effect is implementation-defined. (See 4 Phases of Serialization)</td>
189    <td>Zorba has no implementation-defined values for the normalization-form parameter.</td>
190  </tr>
191  <tr bgcolor="lightcyan">
192    <td>W3C XQuery 1.0</td>
193    <td>The effect of additional serialization parameters on the output of the serializer, where the name of such a parameter must be namespace-qualified, is implementation-defined or implementation-dependent. The extent of this effect on the output must not override the provisions of this specification. (See 3 Serialization Parameters)</td>
194    <td>Zorba has no implementation-defined serialization parameters.</td>
195  </tr>
196  <tr bgcolor="lightcyan">
197    <td>W3C XQuery 1.0</td>
198    <td>The effect of providing an option that allows the encoding phase to be skipped, so that the result of serialization is a stream of Unicode characters, is implementation-defined. The serializer is not required to support such an option. (See 4 Phases of Serialization)</td>
199    <td>Zorba has no such option.</td>
200  </tr>
201  <tr bgcolor="lightcyan">
202    <td>W3C XQuery 1.0</td>
203    <td>An serializer may provide an implementation-defined mechanism to place CDATA sections in the result tree. (See 5.1.4 XML Output Method: the cdata-section-elements Parameter)</td>
204    <td>Input CDATA sections are treated and serialized as text. Text nodes can be serialized as cdata sections if explicitly requested through the cdata-section-elements parameter.</td>
205  </tr>
206  <tr bgcolor="lightcyan">
207    <td>W3C XQuery Update Facility 1.0</td>
208    <td>The revalidation modes that are supported by this implementation.</td>
209    <td>lax, skip, strict</td>
210  </tr>
211  <tr bgcolor="lightcyan">
212    <td>W3C XQuery Update Facility 1.0</td>
213    <td>The default revalidation mode for this implementation.</td>
214    <td>lax</td>
215  </tr>
216  <tr bgcolor="lightcyan">
217    <td>W3C XQuery Update Facility 1.0</td>
218    <td>The mechanism (if any) by which an external function can return an XDM instance and/or a pending update list to the invoking query.</td>
219    <td>Zorba allows external functions to be implemented in C++. Such functions may return XDM instances. Moreover, external functions declared as updating may return pending update lists generated by any updating expression. However, it's not possible to create new update primtives and return those.</td>
220  </tr>
221  <tr bgcolor="lightcyan">
222    <td>W3C XQuery Update Facility 1.0</td>
223    <td>The semantics of fn:put(), including the kinds of nodes accepted as operands by this function.</td>
224    <td>fn:put stores a copy (preserving type, preserving namespaces, and inheriting namespace) of the given document or element in Zorba's store. That is it binds the node to the URI passed as first argument. If the URI is relative it's resolved against the base uri. The result of fn:put become effective at the end of the XQuery program or if they are applied using Zorba's made persistent.</td>
225  </tr>
226  <tr bgcolor="lightcyan">
227    <td>W3C XQuery and XPath Full Text 1.0</td>
228    <td>Tokenization, including the definition of the term "tokens", SHOULD be implementation-defined. Implementations SHOULD expose the rules and sample results of tokenization as much as possible to enable users to predict and interpret the results of tokenization.</td>
229    <td>Zorba uses ICU for word tokenization, so what ever ICU's rules are are Zorba's rules. ICU uses the 'Unicode Standard Annex #29: Unicode Text Segmentation' rules found here http://www.unicode.org/reports/tr29 .</td>
230  </tr>
231  <tr bgcolor="lightcyan">
232    <td>W3C XQuery and XPath Full Text 1.0</td>
233    <td>A phrase is an ordered sequence of any number of tokens. Beyond that, phrases are implementation-defined.</td>
234    <td>A phrase in nothing more that 1+ tokens separated by text boundaries as defined by http://www.unicode.org/reports/tr29 .</td>
235  </tr>
236  <tr bgcolor="lightcyan">
237    <td>W3C XQuery and XPath Full Text 1.0</td>
238    <td>A sentence is an ordered sequence of any number of tokens. Beyond that, sentences are implementation-defined. An implementation is not required to support sentences.</td>
239    <td>Zorba uses ICU for sentence tokenization, so what ever ICU's rules are are Zorba's rules. ICU uses the 'Unicode Standard Annex #29: Unicode Text Segmentation' rules found here http://www.unicode.org/reports/tr29 .</td>
240  </tr>
241  <tr bgcolor="lightcyan">
242    <td>W3C XQuery and XPath Full Text 1.0</td>
243    <td>A paragraph is an ordered sequence of any number of tokens. Beyond that, paragraphs are implementation-defined. An implementation is not required to support paragraphs.</td>
244    <td>Zorba considers XML elements to be paragraph delimiters.  For example: &lt;p&gt;It was the best of times. It wat the worse of times.&lt;/p&gt; is 1 paragraph; however: &lt;p&gt;That was a &lt;b&gt;bold&lt;/b&gt; is 3 paragraphs since Zorba attaches no semantic meaning to any particular XML elements.</td>
245  </tr>
246  <tr bgcolor="lightcyan">
247    <td>W3C XQuery and XPath Full Text 1.0</td>
248    <td>Implementations are free to provide implementation-defined ways to differentiate between markup's effect on token boundaries during tokenization.</td>
249    <td>Markup delimits paragraphs and, by implication, sentences and tokens.</td>
250  </tr>
251  <tr bgcolor="lightcyan">
252    <td>W3C XQuery and XPath Full Text 1.0</td>
253    <td>The set of expressions (of form ExprSingle) that can be assigned to a score variable in a let-clause is implementation-defined. The result of passing an expression to the scoring algorithm that it does not support is implementation-defined.</td>
254    <td>Score variables are not currently supported.</td>
255  </tr>
256  <tr bgcolor="lightcyan">
257    <td>W3C XQuery and XPath Full Text 1.0</td>
258    <td>When a sequence of query tokens is considered as a phrase, it matches a sequence of tokens in the tokenized form of the text being searched only if the two sequences correspond in an implementation-defined way.</td>
259    <td>Given the tokens: A B C they have to match: A B C exactly; no more, no less.</td>
260  </tr>
261  <tr bgcolor="lightcyan">
262    <td>W3C XQuery and XPath Full Text 1.0</td>
263    <td>The match option application order, subject to the stated constraints, is implementation-defined.</td>
264    <td>Match options are applied in the following order: Stop Word Option, Stemming Option, Case Option, Diacritics Option, Wildcard Option, Language Option.</td>
265  </tr>
266  <tr bgcolor="lightcyan">
267    <td>W3C XQuery and XPath Full Text 1.0</td>
268    <td>The "language" option influences tokenization, stemming, and stop words in an implementation-defined way. It MAY influence the behavior of other match options in an implementation-defined way.</td>
269    <td>The Language Option: * Affects tokenization as performed by ICU. * Selects the stemming algorithm to be used.* Selects the default set of stop-words to be used. The Language Option does not affect any other Match Option.</td>
270  </tr>
271  <tr bgcolor="lightcyan">
272    <td>W3C XQuery and XPath Full Text 1.0</td>
273    <td>The set of valid language identifiers is implementation-defined.</td>
274    <td>Zorba recognizes the ISO 639-1 and 639-2 language identifiers for the following languages: Danish, Dutch, English, Finnish, German, Hungarian, Italian, Norwegian, Portuguese, Romanian, Russian, Spanish, Swedish, Turkish.</td>
275  </tr>
276  <tr bgcolor="lightcyan">
277    <td>W3C XQuery and XPath Full Text 1.0</td>
278    <td>If an invalid language identifier is specified, then the behavior is implementation-defined.</td>
279    <td>Zorba raises err::XPTY0004 for a string that can not be cast to xs:language and err::FTST0009 for an unsupported language.</td>
280  </tr>
281  <tr bgcolor="lightcyan">
282    <td>W3C XQuery and XPath Full Text 1.0</td>
283    <td>When a processor evaluates text in a document that is governed by an xml:lang attribute and the portion of the full-text query doing that evaluation contains an FTLanguageOption that specifies a different language from the language specified by the governing xml:lang attribute, the language-related behavior of that full-text query is implementation-defined.</td>
284    <td>xml:lang always wins.</td>
285  </tr>
286  <tr bgcolor="lightcyan">
287    <td>W3C XQuery and XPath Full Text 1.0</td>
288    <td>It is implementation-defined which thesaurus relationships an implementation supports.</td>
289    <td>This is covered in the Zorba Full Text Thesaurus documentation, http://www.zorba-xquery.com/html/documentation/latest/zorba/ft_thesaurus</td>
290  </tr>
291  <tr bgcolor="lightcyan">
292    <td>W3C XQuery and XPath Full Text 1.0</td>
293    <td>If a query specifies thesaurus relationships or levels not supported by the thesaurus, or does not specify a relationship, the behavior is implementation-defined.</td>
294    <td>Unsupported thesaurus relationships are treated as no relationship.  All levels are supported.  When no relationship is specified, all related words are returned.</td>
295  </tr>
296  <tr bgcolor="lightcyan">
297    <td>W3C XQuery and XPath Full Text 1.0</td>
298    <td>If a query does not specify the number of levels, and the implementation does not follow the default of querying all levels of hierarchical relationships, then the number of levels of hierarchical relationships queries is implementation-defined.</td>
299    <td>Zorba uses 2 levels by default.</td>
300  </tr>
301  <tr bgcolor="lightcyan">
302    <td>W3C XQuery and XPath Full Text 1.0</td>
303    <td>It is implementation-defined what a stem of a token is and whether stemming will based on an algorithm, dictionary, or mixed approach.</td>
304    <td>Zorba uses the publicly available Snowball stemmers found here http://snowball.tartarus.org.</td>
305  </tr>
306  <tr bgcolor="lightcyan">
307    <td>W3C XQuery and XPath Full Text 1.0</td>
308    <td>An implementation-defined comparison is used to determine whether a query token appears in the collection of stop words defined by the applicable stop word option.</td>
309    <td>The query token is compared (case insensitively) against the list of stop words for an exact match.</td>
310  </tr>
311  <tr bgcolor="lightcyan">
312    <td>W3C XQuery and XPath Full Text 1.0</td>
313    <td>Normally a stop word matches exactly one token, but there may be implementation-defined conditions, under which a stop word may match a different number of tokens.</td>
314    <td>Zorba has no such conditions.</td>
315  </tr>
316  <tr bgcolor="lightcyan">
317    <td>W3C XQuery and XPath Full Text 1.0</td>
318    <td>The "stop words default" option specifies that an implementation-defined collection of stop words is used.</td>
319    <td>For each of the supported languages, Zorba defines a set of default stop-words (too big to be listed here).</td>
320  </tr>
321  <tr bgcolor="lightcyan">
322    <td>W3C XQuery and XPath Full Text 1.0</td>
323    <td>An implementation recognizes an implementation-defined set of namespace URIs used to denote extension options. The effect of each, including its error behavior, is implementation-defined.</td>
324    <td>Zorba implements no extension options.</td>
325  </tr>
326  <tr bgcolor="lightcyan">
327    <td>W3C XQuery and XPath Full Text 1.0</td>
328    <td>An implementation recognizes an implementation-defined set of namespace URIs used to denote extension selection pragmas. The effect of each, including its error behavior, is implementation-defined.</td>
329    <td>Zorba implements no extension pragmas.</td>
330  </tr>
331  <tr bgcolor="lightcyan">
332    <td>W3C XQuery and XPath Full Text 1.0</td>
333    <td>The conditions under which tokenization of two equal items produces different tokens is implementation-defined.</td>
334    <td>If items are equal, the tokens will also be equal.</td>
335  </tr>
336  <tr bgcolor="lightcyan">
337    <td>W3C XQuery and XPath Full Text 1.0</td>
338    <td>An implementation may impose an implementation-defined restriction on the operand of FTIgnoreOption.</td>
339    <td>Zorba imposes no restriction; however, the FTIgnoreOption implementation is incomplete.</td>
340  </tr>
341  <tr bgcolor="lightcyan">
342    <td>W3C XQuery and XPath Full Text 1.0</td>
343    <td>For certain full-text components of the static context (see C Static Context Components), the default initial value of the component can be overwritten or augmented with an implementation-defined value or values.</td>
344    <td>FTThesaurusOption has no default value. FTLanguageOption is set to whatever the host's language is. Statically known languages: The ISO 639-1 codes are: da, de, en, es, fi, hu, it, nl, no, pt, sv, ru.</td>
345  </tr>
346</table>
347\section Features Supported Features
348<table bgcolor="white" cellpadding="2">
349  <tr bgcolor="lightcyan">
350    <td>
351      <strong>W3C Specification</strong>
352    </td>
353    <td>
354      <strong>Name</strong>
355    </td>
356    <td>
357      <strong>Value</strong>
358    </td>
359  </tr>
360  <tr bgcolor="lightcyan">
361    <td>W3C XQuery 1.0</td>
362    <td>Minimal Conformance</td>
363    <td bgcolor="mediumseagreen">true</td>
364  </tr>
365  <tr bgcolor="lightcyan">
366    <td>W3C XQuery 1.0</td>
367    <td>Schema Import</td>
368    <td bgcolor="mediumseagreen">true</td>
369  </tr>
370  <tr bgcolor="lightcyan">
371    <td>W3C XQuery 1.0</td>
372    <td>Schema Validation</td>
373    <td bgcolor="mediumseagreen">true</td>
374  </tr>
375  <tr bgcolor="lightcyan">
376    <td>W3C XQuery 1.0</td>
377    <td>Static Typing</td>
378    <td bgcolor="white">false</td>
379  </tr>
380  <tr bgcolor="lightcyan">
381    <td>W3C XQuery 1.0</td>
382    <td>Static Typing Extensions</td>
383    <td bgcolor="white">false</td>
384  </tr>
385  <tr bgcolor="lightcyan">
386    <td>W3C XQuery 1.0</td>
387    <td>Full Axis</td>
388    <td bgcolor="mediumseagreen">true</td>
389  </tr>
390  <tr bgcolor="lightcyan">
391    <td>W3C XQuery 1.0</td>
392    <td>Module</td>
393    <td bgcolor="mediumseagreen">true</td>
394  </tr>
395  <tr bgcolor="lightcyan">
396    <td>W3C XQuery 1.0</td>
397    <td>Serialization</td>
398    <td bgcolor="mediumseagreen">true</td>
399  </tr>
400  <tr bgcolor="lightcyan">
401    <td>W3C XQuery Update Facility 1.0</td>
402    <td>Minimal Conformance</td>
403    <td bgcolor="mediumseagreen">true</td>
404  </tr>
405  <tr bgcolor="lightcyan">
406    <td>W3C XQuery Update Facility 1.0</td>
407    <td>Update Facility Static Typing Feature</td>
408    <td bgcolor="white">false</td>
409  </tr>
410  <tr bgcolor="lightcyan">
411    <td>W3C XQuery and XPath Full Text 1.0</td>
412    <td>Minimal Conformance</td>
413    <td bgcolor="mediumseagreen">true</td>
414  </tr>
415  <tr bgcolor="lightcyan">
416    <td>W3C XQuery and XPath Full Text 1.0</td>
417    <td>FTMildNot Operator</td>
418    <td bgcolor="mediumseagreen">true</td>
419  </tr>
420  <tr bgcolor="lightcyan">
421    <td>W3C XQuery and XPath Full Text 1.0</td>
422    <td>FTUnaryNot Operator</td>
423    <td bgcolor="mediumseagreen">true</td>
424  </tr>
425  <tr bgcolor="lightcyan">
426    <td>W3C XQuery and XPath Full Text 1.0</td>
427    <td>FTUnit and FTBigUnit</td>
428    <td bgcolor="mediumseagreen">true</td>
429  </tr>
430  <tr bgcolor="lightcyan">
431    <td>W3C XQuery and XPath Full Text 1.0</td>
432    <td>FTOrder Operator</td>
433    <td bgcolor="mediumseagreen">true</td>
434  </tr>
435  <tr bgcolor="lightcyan">
436    <td>W3C XQuery and XPath Full Text 1.0</td>
437    <td>FTScope Operator</td>
438    <td bgcolor="mediumseagreen">true</td>
439  </tr>
440  <tr bgcolor="lightcyan">
441    <td>W3C XQuery and XPath Full Text 1.0</td>
442    <td>FTWindow Operator</td>
443    <td bgcolor="mediumseagreen">true</td>
444  </tr>
445  <tr bgcolor="lightcyan">
446    <td>W3C XQuery and XPath Full Text 1.0</td>
447    <td>FTDistance Operator</td>
448    <td bgcolor="mediumseagreen">true</td>
449  </tr>
450  <tr bgcolor="lightcyan">
451    <td>W3C XQuery and XPath Full Text 1.0</td>
452    <td>FTTimes Operator</td>
453    <td bgcolor="mediumseagreen">true</td>
454  </tr>
455  <tr bgcolor="lightcyan">
456    <td>W3C XQuery and XPath Full Text 1.0</td>
457    <td>FTContent Operator</td>
458    <td bgcolor="mediumseagreen">true</td>
459  </tr>
460  <tr bgcolor="lightcyan">
461    <td>W3C XQuery and XPath Full Text 1.0</td>
462    <td>FTCaseOption</td>
463    <td bgcolor="mediumseagreen">true</td>
464  </tr>
465  <tr bgcolor="lightcyan">
466    <td>W3C XQuery and XPath Full Text 1.0</td>
467    <td>FTStopwordOption</td>
468    <td bgcolor="mediumseagreen">true</td>
469  </tr>
470  <tr bgcolor="lightcyan">
471    <td>W3C XQuery and XPath Full Text 1.0</td>
472    <td>FTLanguageOption</td>
473    <td bgcolor="mediumseagreen">true</td>
474  </tr>
475  <tr bgcolor="lightcyan">
476    <td>W3C XQuery and XPath Full Text 1.0</td>
477    <td>FTIgnoreOption</td>
478    <td bgcolor="white">false</td>
479  </tr>
480  <tr bgcolor="lightcyan">
481    <td>W3C XQuery and XPath Full Text 1.0</td>
482    <td>Scoring</td>
483    <td bgcolor="white">false</td>
484  </tr>
485  <tr bgcolor="lightcyan">
486    <td>W3C XQuery and XPath Full Text 1.0</td>
487    <td>Weights</td>
488    <td bgcolor="white">false</td>
489  </tr>
490</table>
491\section Context_properties Context Properties
492<table bgcolor="white" cellpadding="2">
493  <tr bgcolor="lightcyan">
494    <td>
495      <strong>W3C Specification</strong>
496    </td>
497    <td>
498      <strong>Name</strong>
499    </td>
500    <td>
501      <strong>Context Type</strong>
502    </td>
503    <td>
504      <strong>Value</strong>
505    </td>
506  </tr>
507  <tr bgcolor="lightcyan">
508    <td>W3C XQuery 1.0</td>
509    <td>Statically known namespaces</td>
510    <td>static</td>
511    <td>fn –&gt; http://www.w3.org/2005/xpath-functions, xml –&gt; http://www.w3.org/XML/1998/namespace, xs –&gt; http://www.w3.org/2001/XMLSchema, xsi –&gt; http://www.w3.org/2001/XMLSchema-instance, local –&gt; http://www.w3.org/2005/xquery-local-functions, zerr –&gt; http://www.zorba-xquery.com/errors</td>
512  </tr>
513  <tr bgcolor="lightcyan">
514    <td>W3C XQuery 1.0</td>
515    <td>Default element/type namespace</td>
516    <td>static</td>
517    <td>None.</td>
518  </tr>
519  <tr bgcolor="lightcyan">
520    <td>W3C XQuery 1.0</td>
521    <td>Default function namespace</td>
522    <td>static</td>
523    <td>http://www.w3.org/2005/xpath-functions .</td>
524  </tr>
525  <tr bgcolor="lightcyan">
526    <td>W3C XQuery 1.0</td>
527    <td>In-scope schema types</td>
528    <td>static</td>
529    <td>Built-in types in xs.</td>
530  </tr>
531  <tr bgcolor="lightcyan">
532    <td>W3C XQuery 1.0</td>
533    <td>In-scope element declarations</td>
534    <td>static</td>
535    <td>None.</td>
536  </tr>
537  <tr bgcolor="lightcyan">
538    <td>W3C XQuery 1.0</td>
539    <td>In-scope attribute declarations</td>
540    <td>static</td>
541    <td>None.</td>
542  </tr>
543  <tr bgcolor="lightcyan">
544    <td>W3C XQuery 1.0</td>
545    <td>In-scope variables</td>
546    <td>static</td>
547    <td>None.</td>
548  </tr>
549  <tr bgcolor="lightcyan">
550    <td>W3C XQuery 1.0</td>
551    <td>Context item static type</td>
552    <td>static</td>
553    <td>item()</td>
554  </tr>
555  <tr bgcolor="lightcyan">
556    <td>W3C XQuery 1.0</td>
557    <td>Function signatures</td>
558    <td>static</td>
559    <td>Functions in fn namespace, and constructors for built-in atomic types.</td>
560  </tr>
561  <tr bgcolor="lightcyan">
562    <td>W3C XQuery 1.0</td>
563    <td>Statically known collations</td>
564    <td>static</td>
565    <td>Initially, the only available collation is the codepoint collection: http://www.w3.org/2005/xpath-functions/collation/codepoint. More collations can be added to a static context via the StaticContext::addCollation() method of the C++ API.</td>
566  </tr>
567  <tr bgcolor="lightcyan">
568    <td>W3C XQuery 1.0</td>
569    <td>Default collation</td>
570    <td>static</td>
571    <td>http://www.w3.org/2005/xpath-functions/collation/codepoint</td>
572  </tr>
573  <tr bgcolor="lightcyan">
574    <td>W3C XQuery 1.0</td>
575    <td>Construction mode</td>
576    <td>static</td>
577    <td>preserve</td>
578  </tr>
579  <tr bgcolor="lightcyan">
580    <td>W3C XQuery 1.0</td>
581    <td>Ordering mode</td>
582    <td>static</td>
583    <td>ordered</td>
584  </tr>
585  <tr bgcolor="lightcyan">
586    <td>W3C XQuery 1.0</td>
587    <td>Default order for empty sequences</td>
588    <td>static</td>
589    <td>empty greatest</td>
590  </tr>
591  <tr bgcolor="lightcyan">
592    <td>W3C XQuery 1.0</td>
593    <td>Boundary-space policy</td>
594    <td>static</td>
595    <td>strip</td>
596  </tr>
597  <tr bgcolor="lightcyan">
598    <td>W3C XQuery 1.0</td>
599    <td>Copy-namespaces mode</td>
600    <td>static</td>
601    <td>inherit preserve</td>
602  </tr>
603  <tr bgcolor="lightcyan">
604    <td>W3C XQuery 1.0</td>
605    <td>Base URI</td>
606    <td>static</td>
607    <td>Uses the rules in http://www.w3.org/TR/xquery-30/#id-base-uri-decl, where the implementation-defined default mentioned there is http://www.zorba-xquery.com</td>
608  </tr>
609  <tr bgcolor="lightcyan">
610    <td>W3C XQuery 1.0</td>
611    <td>Statically known documents</td>
612    <td>static</td>
613    <td>None.</td>
614  </tr>
615  <tr bgcolor="lightcyan">
616    <td>W3C XQuery 1.0</td>
617    <td>Statically known collections</td>
618    <td>static</td>
619    <td>None.</td>
620  </tr>
621  <tr bgcolor="lightcyan">
622    <td>W3C XQuery 1.0</td>
623    <td>Statically known default collection type</td>
624    <td>static</td>
625    <td>item()*</td>
626  </tr>
627  <tr bgcolor="lightcyan">
628    <td>W3C XQuery 1.0</td>
629    <td>Context item</td>
630    <td>dynamic</td>
631    <td>None. Before execution of a query, a value can be assigned to the context item via the DynamicContext::setContextItem method.</td>
632  </tr>
633  <tr bgcolor="lightcyan">
634    <td>W3C XQuery 1.0</td>
635    <td>Context position</td>
636    <td>dynamic</td>
637    <td>None.</td>
638  </tr>
639  <tr bgcolor="lightcyan">
640    <td>W3C XQuery 1.0</td>
641    <td>Context size</td>
642    <td>dynamic</td>
643    <td>None.</td>
644  </tr>
645  <tr bgcolor="lightcyan">
646    <td>W3C XQuery 1.0</td>
647    <td>Variable values</td>
648    <td>dynamic</td>
649    <td>None.</td>
650  </tr>
651  <tr bgcolor="lightcyan">
652    <td>W3C XQuery 1.0</td>
653    <td>Function implementations</td>
654    <td>dynamic</td>
655    <td>Functions in fn namespace, and constructors for built-in atomic types.</td>
656  </tr>
657  <tr bgcolor="lightcyan">
658    <td>W3C XQuery 1.0</td>
659    <td>Current dateTime</td>
660    <td>dynamic</td>
661    <td>The current local time (when the XQuery execution is actually started) on the computer running Zorba.</td>
662  </tr>
663  <tr bgcolor="lightcyan">
664    <td>W3C XQuery 1.0</td>
665    <td>Implicit timezone</td>
666    <td>dynamic</td>
667    <td>Computed based on the current local time on the computer running Zorba.</td>
668  </tr>
669  <tr bgcolor="lightcyan">
670    <td>W3C XQuery 1.0</td>
671    <td>Available documents</td>
672    <td>dynamic</td>
673    <td>The URIs returned by the availale-documents function of module http://www.zorba-xquery.com/modules/store/dynamic/documents (see http://www.zorba-xquery.com/html/modules/zorba/store/Documents)</td>
674  </tr>
675  <tr bgcolor="lightcyan">
676    <td>W3C XQuery 1.0</td>
677    <td>Available collections</td>
678    <td>dynamic</td>
679    <td>The URIs returned by the available-collections function of module http://www.zorba-xquery.com/modules/store/dynamic/collections/w3c/ddl (see http://www.zorba-xquery.com/html/modules/zorba/store/collection/w3c-ddl)</td>
680  </tr>
681  <tr bgcolor="lightcyan">
682    <td>W3C XQuery 1.0</td>
683    <td>Default collection</td>
684    <td>dynamic</td>
685    <td>None.</td>
686  </tr>
687  <tr bgcolor="lightcyan">
688    <td>W3C XQuery Update Facility 1.0</td>
689    <td>Revalidation mode</td>
690    <td>static</td>
691    <td>lax</td>
692  </tr>
693  <tr bgcolor="lightcyan">
694    <td>W3C XQuery and XPath Full Text 1.0</td>
695    <td>FTCaseOption</td>
696    <td>static</td>
697    <td>case insensitive</td>
698  </tr>
699  <tr bgcolor="lightcyan">
700    <td>W3C XQuery and XPath Full Text 1.0</td>
701    <td>FTDiacriticsOption</td>
702    <td>static</td>
703    <td>diacritics insensitive</td>
704  </tr>
705  <tr bgcolor="lightcyan">
706    <td>W3C XQuery and XPath Full Text 1.0</td>
707    <td>FTStemOption</td>
708    <td>static</td>
709    <td>no stemming</td>
710  </tr>
711  <tr bgcolor="lightcyan">
712    <td>W3C XQuery and XPath Full Text 1.0</td>
713    <td>Statically known thesauri</td>
714    <td>static</td>
715    <td>http://wordnet.princeton.edu/</td>
716  </tr>
717  <tr bgcolor="lightcyan">
718    <td>W3C XQuery and XPath Full Text 1.0</td>
719    <td>FTStopWordOption</td>
720    <td>static</td>
721    <td>no stop words</td>
722  </tr>
723  <tr bgcolor="lightcyan">
724    <td>W3C XQuery and XPath Full Text 1.0</td>
725    <td>Statically known stop word lists</td>
726    <td>static</td>
727    <td>Zorba uses the publicly available lists found here http://snowball.tartarus.org.</td>
728  </tr>
729  <tr bgcolor="lightcyan">
730    <td>W3C XQuery and XPath Full Text 1.0</td>
731    <td>FTLanguageOption</td>
732    <td>static</td>
733    <td>Whatever the host's language is.</td>
734  </tr>
735  <tr bgcolor="lightcyan">
736    <td>W3C XQuery and XPath Full Text 1.0</td>
737    <td>Statically known languages</td>
738    <td>static</td>
739    <td>The ISO 639-1 codes are: da, de, en, es, fi, hu, it, nl, no, pt, sv, ru.</td>
740  </tr>
741  <tr bgcolor="lightcyan">
742    <td>W3C XQuery and XPath Full Text 1.0</td>
743    <td>FTWildcardOption</td>
744    <td>static</td>
745    <td>no wildcards </td>
746  </tr>
747</table>*/
748