← Back to team overview

zorba-coders team mailing list archive

[Merge] lp:~nbrinza/zorba/parse-fragment into lp:zorba

 

Nicolae Brinza has proposed merging lp:~nbrinza/zorba/parse-fragment into lp:zorba.

Requested reviews:
  William Candillon (wcandillon)
  David Graf (davidagraf)
  Matthias Brantner (matthias-brantner)

For more details, see:
https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/94419

Fully streaming parse-xml module. 
-- 
https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/94419
Your team Zorba Coders is subscribed to branch lp:zorba.
=== modified file 'CMakeLists.txt'
--- CMakeLists.txt	2012-02-15 10:25:02 +0000
+++ CMakeLists.txt	2012-02-23 17:28:26 +0000
@@ -237,11 +237,21 @@
 MESSAGE(STATUS "Looking for LibXml2")
 FIND_PACKAGE(LibXml2)
 IF(LIBXML2_FOUND)
-  MESSAGE(STATUS "Found LIBXML2 library -- " ${LIBXML2_LIBRARIES})
-    
-  INCLUDE_DIRECTORIES(${LIBXML2_INCLUDE_DIR})
-  SET(requiredlibs-store ${requiredlibs-store} ${LIBXML2_LIBRARIES})
-  SET(CXXFLAGS ${CXXFLAGS} ${LIBXML2_DEFINITONS})
+  # Now check LibXml2's version
+  FILE(STRINGS ${LIBXML2_INCLUDE_DIR}/libxml/xmlversion.h LIBXML2_VERSION_TMP REGEX 
+       "^#define[ \t]+LIBXML_DOTTED_VERSION[ \t]+\".*\"")
+  STRING(REGEX REPLACE "^#define[ \t]+LIBXML_DOTTED_VERSION[ \t]+\"(.*)\"" "\\1" 
+         LIBXML2_VERSION ${LIBXML2_VERSION_TMP})
+         
+  IF(LIBXML2_VERSION VERSION_EQUAL "2.7.0" OR LIBXML2_VERSION VERSION_GREATER "2.7.0")
+    MESSAGE(STATUS "Found LIBXML2 library -- " ${LIBXML2_LIBRARIES})
+    INCLUDE_DIRECTORIES(${LIBXML2_INCLUDE_DIR})
+    SET(requiredlibs-store ${requiredlibs-store} ${LIBXML2_LIBRARIES})
+    SET(CXXFLAGS ${CXXFLAGS} ${LIBXML2_DEFINITONS})
+  ELSE(LIBXML2_VERSION VERSION_EQUAL "2.7.0" OR LIBXML2_VERSION VERSION_GREATER "2.7.0")
+    MESSAGE(FATAL_ERROR "The libxml2 library version 2.7.0 or higher is required in order to build Zorba.")
+  ENDIF(LIBXML2_VERSION VERSION_EQUAL "2.7.0" OR LIBXML2_VERSION VERSION_GREATER "2.7.0")
+
 ELSE(LIBXML2_FOUND)
   MESSAGE(FATAL_ERROR "The libxml2 library and headers are required in order to build simple store.")
 ENDIF(LIBXML2_FOUND)

=== modified file 'ChangeLog'
--- ChangeLog	2012-02-21 19:20:00 +0000
+++ ChangeLog	2012-02-23 17:28:26 +0000
@@ -2,6 +2,8 @@
 
 version 2.2
 
+  * The core parse-xml module is now able to parse input files in a streaming mode. A number of new options have also been added.
+  * LibXml2 version 2.7.0 or higher is now required in order to build Zorba.
   * Add XQuery 3.0 concat operator (http://www.w3.org/TR/xquery-30/#id-string-concat-expr) 
   * Fixed bug 923015 (clone() not implemented for full-text expressions)
   * No-copy optimization: avoids copying nodes during node-constructor expressions.

=== modified file 'modules/com/zorba-xquery/www/modules/CMakeLists.txt'
--- modules/com/zorba-xquery/www/modules/CMakeLists.txt	2012-02-16 14:11:02 +0000
+++ modules/com/zorba-xquery/www/modules/CMakeLists.txt	2012-02-23 17:28:26 +0000
@@ -63,6 +63,7 @@
   URI "http://www.zorba-xquery.com/modules/schema";)
 DECLARE_ZORBA_MODULE(FILE string.xq VERSION 2.1
   URI "http://www.zorba-xquery.com/modules/string";)
+DECLARE_ZORBA_SCHEMA(FILE xml-options.xsd URI "http://www.zorba-xquery.com/modules/xml-options";) 
 DECLARE_ZORBA_MODULE(FILE xml.xq VERSION 2.0
   URI "http://www.zorba-xquery.com/modules/xml";)
 DECLARE_ZORBA_MODULE(FILE xqdoc.xq VERSION 2.0

=== added file 'modules/com/zorba-xquery/www/modules/xml-options.xsd'
--- modules/com/zorba-xquery/www/modules/xml-options.xsd	1970-01-01 00:00:00 +0000
+++ modules/com/zorba-xquery/www/modules/xml-options.xsd	2012-02-23 17:28:26 +0000
@@ -0,0 +1,89 @@
+<?xml version="1.0"?>
+<!--
+ - Copyright 2006-2012 The FLWOR Foundation.
+ -
+ - Licensed under the Apache License, Version 2.0 (the "License");
+ - you may not use this file except in compliance with the License.
+ - You may obtain a copy of the License at
+ -
+ - http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing, software
+ - distributed under the License is distributed on an "AS IS" BASIS,
+ - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ - See the License for the specific language governing permissions and
+ - limitations under the License.
+-->
+<schema xmlns="http://www.w3.org/2001/XMLSchema";
+           targetNamespace="http://www.zorba-xquery.com/modules/xml-options";
+           elementFormDefault="qualified" attributeFormDefault="qualified">
+           
+  <element name="options">
+    <complexType>
+      <all>
+      
+        <element name="base-uri" minOccurs="0" maxOccurs="1">
+          <complexType>            
+            <attribute name="value" type="anyURI" use="required"/>
+          </complexType>
+        </element>
+        <element name="no-error" minOccurs="0" maxOccurs="1">
+          <complexType/>
+        </element>
+        <element name="strip-boundary-space" minOccurs="0" maxOccurs="1">
+          <complexType/>
+        </element>        
+        <element name="schema-validate" minOccurs="0" maxOccurs="1">
+          <complexType>
+            <attribute name="mode" default="strict">
+              <simpleType>
+                <restriction base="string">
+                  <enumeration value="strict"/>
+                  <enumeration value="lax"/>
+                </restriction>
+              </simpleType>           
+            </attribute>
+          </complexType>
+        </element>      
+        <element name="DTD-validate" minOccurs="0" maxOccurs="1">
+          <complexType/>
+        </element>
+        <element name="DTD-load" minOccurs="0" maxOccurs="1">
+          <complexType/>
+        </element>
+        <element name="default-DTD-attributes" minOccurs="0" maxOccurs="1">
+          <complexType/>
+        </element>
+        <element name="parse-external-parsed-entity" minOccurs="0" maxOccurs="1">
+          <complexType>
+            <attribute name="skip-root-nodes" use="optional">
+              <simpleType>
+                <restriction base="int">
+                  <minInclusive value="0"/>
+                </restriction>
+              </simpleType>
+            </attribute>            
+            <attribute name="skip-top-level-text-nodes" type="boolean" use="optional"/>
+          </complexType>
+        </element>
+        <element name="substitute-entities" minOccurs="0" maxOccurs="1">
+          <complexType/>
+        </element>
+        <element name="xinclude-substitutions" minOccurs="0" maxOccurs="1">
+          <complexType/>
+        </element>
+        <element name="remove-redundant-ns" minOccurs="0" maxOccurs="1">
+          <complexType/>
+        </element>
+        <element name="no-CDATA" minOccurs="0" maxOccurs="1">
+          <complexType/>
+        </element>
+        <element name="no-xinclude-nodes" minOccurs="0" maxOccurs="1">
+          <complexType/>
+        </element>
+
+      </all>
+    </complexType>
+  </element>
+
+</schema>

=== modified file 'modules/com/zorba-xquery/www/modules/xml.xq' (properties changed: +x to -x)
--- modules/com/zorba-xquery/www/modules/xml.xq	2011-08-10 02:50:23 +0000
+++ modules/com/zorba-xquery/www/modules/xml.xq	2012-02-23 17:28:26 +0000
@@ -1,4 +1,4 @@
-xquery version "1.0";
+xquery version "3.0";
 
 (:
  : Copyright 2006-2010 The FLWOR Foundation.
@@ -23,13 +23,14 @@
  : external parsed entities, described by 
  : <a href="http://www.w3.org/TR/xml/#wf-entities";>XML 1.0 Well-Formed 
  : Parsed Entities</a>. The functions can also perform Schema and DTD 
- : validation of the input documents.
+ : validation of the input documents. 
  : </p>
  :
  : @see <a href="http://www.w3.org/TR/xml/#wf-entities";>XML 1.0 Well-Formed 
  : Parsed Entities</a>
  : @see <a href="http://www.w3.org/TR/xpath-functions-30/#func-parse-xml";>
  : fn:parse-xml() function in XPath and XQuery Functions and Operators 3.0</a>
+ : @see <a href="http://xmlsoft.org/html/libxml-parser.html";>LibXml2 parser</a>
  :
  : @author Nicolae Brinza
  : @project data processing/data converters
@@ -37,6 +38,8 @@
  :)
 module namespace parse-xml = "http://www.zorba-xquery.com/modules/xml";;
 
+import schema namespace parse-xml-options = "http://www.zorba-xquery.com/modules/xml-options";;
+
 declare namespace zerr = "http://www.zorba-xquery.com/errors";;
 declare namespace err = "http://www.w3.org/xqt-errors";;
 
@@ -48,21 +51,65 @@
  : A function to parse XML files and fragments (i.e. 
  : <a href="http://www.w3.org/TR/xml/#wf-entities";>external general parsed 
  : entities</a>). The functions takes two arguments: the first one is the 
- : string to be parsed and the second argument is a flags string 
- : (eEdDsSlLwWfF]*(;[\p{L}]*)?) selecting the options described below.
- : <br/>
- : <br/>
- : 
- : The convention for the flags is that a lower-case letter enables 
- : an option and the corresponding upper-case letter disables it; specifying 
- : both is an error; specifying neither leaves it implementation-defined 
- : whether the option is enabled or disabled. Specifying the same option twice 
- : is not an error, but specifying inconsistent options (for example "eE") is 
- : a dynamic error. The options are:
- : 
+ : string to be parsed and the second argument is an &lt;options/&gt; element that
+ : passes a list of options to the parsing function. They are described below.
+ : The options element must conform to the xml-options.xsd schema. Some of these
+ : will be passed to the underlying library (LibXml2) and further documentation 
+ : for them can be found at <a href="http://xmlsoft.org/html/libxml-parser.html";>
+ : LibXml2 parser</a>.
+ :
+ : The list of available options:
+ :
  : <ul>
  : <li>
- : eE - enables or disables processing of XML external entities. If the option 
+ : &lt;base-uri/&gt; - the element must have a "value" attribute, which will provide
+ : the baseURI that will be used as the baseURI for every node returned by this 
+ : function.
+ : </li>
+ :
+ : <li>
+ : &lt;no-error/&gt; - if present, the option will disable fatal error processing. Any
+ : failure to parse or validate the input in the requested manner will result
+ : in the function returning an empty sequence and no error will raised.
+ : </li>
+ :
+ : <li>
+ : &lt;strip-boundary-space/&gt; - if present, it will enable the removal of blank nodes from the input.
+ : </li>
+ :
+ : <li>
+ : &lt;schema-validate/&gt; - if present, it will request that the input string be Schema 
+ : validated. The element accepts an attribute named "mode" which can have two 
+ : values: "strict and "lax". Enabling the option will produce a result that is 
+ : equivalent to processing the input with the option disabled, and then copying 
+ : the result using the XQuery "validate strict|lax" expression. This option can not
+ : be used together with either the &lt;DTD-validate/&gt; or the &lt;parse-external-parsed-entity/&gt;
+ : option. Doing so will raise a zerr:ZXQD0003 error.
+ : </li>
+ :
+ : <li>
+ : &lt;DTD-validate/&gt; - the option will enable the DTD-based validation. If this 
+ : option is enabled and the input references a DTD, then the input must be a 
+ : well-formed and DTD-valid XML document. The &lt;DTD-load/&gt; option must be used for
+ : external DTD files to be loaded. If the option is enabled and the input does 
+ : not reference a DTD then the option is ignored. If the option is disabled, the 
+ : input is not required to reference a DTD and if it does reference a DTD then
+ : the DTD is ignored for validation purposes. This option can not
+ : be used together with either the &lt;schema-validate/&gt; or the &lt;parse-external-parsed-entity&gt;
+ : option. Doing so will raise a zerr:ZXQD0003 error.
+ : </li>
+ :
+ : <li> 
+ : &lt;DTD-load/&gt; - if present, it will enable loading of external DTD files.
+ : </li>
+ :
+ : <li>
+ : &lt;default-DTD-attributes/&gt; - if present, it will enable the default DTD attributes.
+ : </li>
+ :
+ : <li>
+ : &lt;parse-external-parsed-entity/&gt; - if present, it will enable the processing of XML 
+ : external entities. If the option 
  : is enabled, the input must conform to the syntax extParsedEnt (production 
  : [78] in XML 1.0, see <a href="http://www.w3.org/TR/xml/#wf-entities";>
  : Well-Formed Parsed Entities</a>). The result of the function call is a list 
@@ -70,52 +117,45 @@
  : external entity: that is, elements, processing instructions, comments, and 
  : text nodes. CDATA sections and character references are expanded, and 
  : adjacent characters are merged so the result contains no adjacent text 
- : nodes. If this option is enabled, none of the options d, s, or l may be 
- : enabled. If the option is disabled, the input must be a well-formed XML 
+ : nodes. If the option is disabled, the input must be a well-formed XML 
  : document conforming to the Document production 
  : (<a href="http://www.w3.org/TR/xml/#sec-well-formed";>production [1] in XML 1.0</a>).
- : </li>
- :
- : <li>
- : dD - enables or disables DTD-based validation. If this option is enabled and
- : the input references a DTD, then the input must be a well-formed and 
- : DTD-valid XML document. If the option is enabled and the input does not 
- : reference a DTD then the option is ignored. If the option is disabled, the 
- : input is not required to reference a DTD and if it does reference a DTD then 
- : the DTD is ignored for validation purposes (though it will still be read for 
- : purposes such as expanding entity references and identifying ID attributes).
- : </li>
- :
- : <li>
- : sS - enables or disables strict XSD-based validation. If this option is 
- : enabled, the result is equivalent to processing the input with the option 
- : disabled, and then copying the result using the XQuery "validate strict" 
- : expression.
- : </li>
- :
- : <li>
- : lL - enables or disables lax XSD-based validation. If this option is enabled, 
- : the result is equivalent to processing the input with the option disabled, 
- : and then copying the result using the XQuery "validate lax " expression.
- : </li>
- :
- : <li>
- : wW - enables or disables whitespace stripping. If the option is enabled, 
- : any whitespace-only text nodes that remain after any DTD-based or XSD-based 
- : processing are stripped from the input; if it is disabled, such 
- : whitespace-only text nodes are retained. 
- : </li>
- :
- : <li>
- : fF - enables or disables fatal error processing. If fatal error processing 
- : is enabled, then any failure to parse the input in the manner requested 
- : results in a dynamic error. If fatal error processing is disabled, then any 
- : failure to parse the input (and also, in the case of fn:doc, a failure to 
- : obtain the input by dereferencing the supplied URI) results in the function 
- : returning an empty sequence and raising no error. 
- : </li>
+ : This option can not be used together with either the &lt;schema-validate/&gt; or the &lt;DTD-validate/&gt;
+ : option. Doing so will raise a zerr:ZXQD0003 error.
+ : The &lt;parse-external-parsed-entity/&gt; option has two parameters, given by attributes. The first
+ : attribute is "skip-root-nodes" and it can have a non-negative value. Specifying the paramter
+ : tells the parser to skip the given number of root nodes and return only their children. E.g.
+ : skip-root-nodes="1" is equivalent to parse-xml($xml-string)/node()/node() . skip-root-nodes="2" is equivalent
+ : to parse-xml($xml-string)/node()/node()/node() , etc. The second attribute is "skip-top-level-text-nodes" with a 
+ : boolean value. Specifying "true" will tell the parser to skip top level text nodes, returning
+ : only the top level elements, comments, PIs, etc. This parameter works in combination with
+ : the "skip-root-nodes" paramter, thus top level text nodes are skipped after "skip-root-nodes" has 
+ : been applied. 
+ : </li>
+ :
+ : <li>
+ : &lt;substitute-entities/&gt; - if present, it will enable the XML entities substitutions.
+ : </li>
+ :
+ : <li>
+ : &lt;remove-redundant-ns/&gt; - if present, the parser will remove redundant namespaces declarations.
+ : </li>
+ :
+ : <li>
+ : &lt;no-CDATA/&gt; - if present, the parser will merge CDATA nodes as text nodes.
+ : </li>
+ :
+ : <li>
+ : &lt;xinclude-substitutions/&gt; - if present, it will enable the XInclude substitutions.
+ : </li>
+ :
+ : <li>
+ : &lt;no-xinclude-nodes/&gt; - if present, the parser will not generate XInclude START/END nodes.
+ : </li>
+ :      
  : </ul>
  :
+ :
  : @param $xml-string The string that holds the XML to be parsed. If empty,
  :                    the function will return an empty sequence
  : @param $options The options for the parsing
@@ -131,42 +171,16 @@
  :                     document has not passed it.
  :
  : @error err:XQDY0027 The error will be raised if schema validation was enabled
- :                     and the input document has not passed it.
- :
- :)
-declare function parse-xml:parse-xml-fragment(
-  $xml-string as xs:string?,
-  $options as xs:string) as node()* external;
-
-
-(:~
- : A function to parse XML files and fragments. The behavior is the
- : same as the parse-xml-fragment with two arguments.
- :
- : @param $xml-string The string that holds the XML to be parsed. If empty,
- :                    the function will return an empty sequence
- : @param $base-uri The baseURI that will be used as the baseURI for every
- :                    node returned by this function.
- : @param $options The options for the parsing (see parse-xml-fragment#2)
- : @return The parsed XML as a document node or a list of nodes, or an empty
- :         sequence.
- :
- : @error zerr:ZXQD0003 The error will be raised if the options to the function
- :                     are inconsistent.
- :
- : @error err:FODC0006 The error will be raised if the input string is not a
- :                     valid XML document or fragment (external general parsed
- :                     entity) or if DTD validation was enabled and the 
- :                     document has not passed it.
- :
- : @error err:XQDY0027 The error will be raised if schema validation was enabled
- :                     and the input document has not passed it.
- :
- : @error err:FODC0007 This error will be raised if $base-uri parameter passed
- :                     to the function is not a valid absolute URI.
- :
- :)
-declare function parse-xml:parse-xml-fragment(
-  $xml-string as xs:string?,
-  $base-uri as xs:string,
-  $options as xs:string) as node()* external;
+ :                     and the input document has not passed it or if the parsing options are not
+ :                     conformant to the xml-options.xsd schema.
+ :
+ : @example test/rbkt/Queries/zorba/parsing_and_serializing/parse-xml-fragment-03.xq
+ : @example test/rbkt/Queries/zorba/parsing_and_serializing/parse-xml-fragment-01.xq
+ : @example test/rbkt/Queries/zorba/parsing_and_serializing/parse-xml-fragment-07.xq
+ :
+ :)
+ 
+declare function parse-xml:parse(
+  $xml-string as xs:string?,
+  $options as element()?) as node()* external;
+

=== modified file 'src/api/annotationimpl.cpp' (properties changed: +x to -x)
=== modified file 'src/api/xmldatamanagerimpl.cpp'
--- src/api/xmldatamanagerimpl.cpp	2012-01-23 10:06:24 +0000
+++ src/api/xmldatamanagerimpl.cpp	2012-02-23 17:28:26 +0000
@@ -75,7 +75,7 @@
 
 ********************************************************************************/
 XmlDataManagerImpl::XmlDataManagerImpl()
-  : 
+  :
   theDocManager(0),
   theColManager(0),
   theW3CColManager(0)
@@ -151,7 +151,7 @@
 DocumentManager*
 XmlDataManagerImpl::getDocumentManager() const
 {
-  if (!theDocManager) 
+  if (!theDocManager)
   {
     theDocManager = new DocumentManagerImpl(theContext, theFactory);
     theDocManager->registerDiagnosticHandler(theDiagnosticHandler);
@@ -166,7 +166,7 @@
 CollectionManager*
 XmlDataManagerImpl::getCollectionManager() const
 {
-  if (!theColManager) 
+  if (!theColManager)
   {
     theColManager = new CollectionManagerImpl(
         theContext,
@@ -185,7 +185,7 @@
 CollectionManager*
 XmlDataManagerImpl::getW3CCollectionManager() const
 {
-  if (!theW3CColManager) 
+  if (!theW3CColManager)
   {
     theW3CColManager = new CollectionManagerImpl(
         theContext,
@@ -280,7 +280,7 @@
   ZORBA_DM_TRY
   {
     Item lQName = theFactory->createQName(static_context::ZORBA_XML_FN_NS,
-                                          "parse-xml-fragment");
+                                          "parse");
 
     // create a streamable string item
     std::vector<ItemSequence_t> lArgs;
@@ -315,7 +315,7 @@
   ZORBA_DM_TRY
   {
     Item lQName = theFactory->createQName(static_context::ZORBA_XML_FN_NS,
-                                          "parse-xml-fragment");
+                                          "parse");
 
     // create a streamable string item
     std::vector<ItemSequence_t> lArgs;
@@ -382,15 +382,15 @@
   theDiagnosticHandler = aDiagnosticHandler;
   theUserDiagnosticHandler = true;
 
-  if (theColManager) 
+  if (theColManager)
   {
     theColManager->registerDiagnosticHandler(theDiagnosticHandler);
   }
-  if (theDocManager) 
+  if (theDocManager)
   {
     theDocManager->registerDiagnosticHandler(theDiagnosticHandler);
   }
-  if (theW3CColManager) 
+  if (theW3CColManager)
   {
     theW3CColManager->registerDiagnosticHandler(theDiagnosticHandler);
   }
@@ -400,17 +400,17 @@
 /*******************************************************************************
 
 ********************************************************************************/
-void XmlDataManagerImpl::registerStemmerProvider(StemmerProvider const *p) 
+void XmlDataManagerImpl::registerStemmerProvider(StemmerProvider const *p)
 {
   SYNC_CODE(AutoLatch lock(theLatch, Latch::WRITE);)
-  if ( theStemmerProviderWrapper ) 
+  if ( theStemmerProviderWrapper )
   {
     if ( theStemmerProviderWrapper->get_provider() == p )
       return;
     delete theStemmerProviderWrapper;
     theStemmerProviderWrapper = nullptr;
   }
-  if ( p ) 
+  if ( p )
   {
     theStemmerProviderWrapper = new internal::StemmerProviderWrapper( p );
     theStore->setStemmerProvider( theStemmerProviderWrapper );
@@ -421,7 +421,7 @@
 /*******************************************************************************
 
 ********************************************************************************/
-void XmlDataManagerImpl::registerTokenizerProvider(TokenizerProvider const *p) 
+void XmlDataManagerImpl::registerTokenizerProvider(TokenizerProvider const *p)
 {
   SYNC_CODE(AutoLatch lock(theLatch, Latch::WRITE);)
   theStore->setTokenizerProvider( p );

=== modified file 'src/diagnostics/diagnostic_en.xml'
--- src/diagnostics/diagnostic_en.xml	2012-02-21 19:20:00 +0000
+++ src/diagnostics/diagnostic_en.xml	2012-02-23 17:28:26 +0000
@@ -1714,7 +1714,7 @@
     </diagnostic>
 
     <diagnostic code="ZXQD0003" name="INCONSISTENT_PARSE_FRAGMENT_OPTIONS">
-      <value>inconsistent options to the parse-xml-fragment() function: $1</value>
+      <value>inconsistent options to the parse-xml() function: $1</value>
     </diagnostic>
 
     <diagnostic code="ZXQD0004" name="INVALID_PARAMETER">
@@ -2569,6 +2569,10 @@
     <entry key="BadXMLDocument_2o">
       <value>malformed XML document${ at "2"}</value>
     </entry>
+    
+    <entry key="BadXMLNoOpeningTag">
+      <value>closing tag without matching opening tag</value>
+    </entry>
 
     <entry key="BadXMLForXQDoc_3">
       <value>can not parse as XML for xqdoc: $3</value>
@@ -3490,12 +3494,8 @@
       <value>xqueryx content is empty</value>
     </entry>
 
-    <entry key="ParseFragmentOptionDSLNotAllowed">
-      <value>if the e option is specified, none of the options d, s, or l may be enabled</value>
-    </entry>
-
     <entry key="ParseFragmentOptionCombinationNotAllowed">
-      <value>specifying both $2 and $3 is an error</value>
+      <value>only one of the &lt;schemaValidate/&gt;, &lt;DTDValidate/&gt; or &lt;parseExternalParsedEntity/&gt; options can be specified</value>
     </entry>
 
   </subvalues>

=== modified file 'src/diagnostics/pregenerated/dict_en.cpp'
--- src/diagnostics/pregenerated/dict_en.cpp	2012-02-21 19:20:00 +0000
+++ src/diagnostics/pregenerated/dict_en.cpp	2012-02-23 17:28:26 +0000
@@ -383,7 +383,7 @@
   { "ZWST0006", "\"$1\": function caching might not give the intended result because the function is declared as $2" },
   { "ZXQD0001", "\"$1\": prefix not declared when calling function \"$2\" from $3" },
   { "ZXQD0002", "\"$1\": $2" },
-  { "ZXQD0003", "inconsistent options to the parse-xml-fragment() function: $1" },
+  { "ZXQD0003", "inconsistent options to the parse-xml() function: $1" },
   { "ZXQD0004", "invalid parameter: $1" },
   { "ZXQD0005", "key with type $1 not subtype or castable to target type $2 of map ($3)" },
   { "ZXQD0006", "\"$1\": invalid UTF-8 byte sequence" },
@@ -461,6 +461,7 @@
   { "~BadWordNetPtr_2", "\"$2\": invalid pointer type" },
   { "~BadXMLDocument_2o", "malformed XML document${ at \"2\"}" },
   { "~BadXMLForXQDoc_3", "can not parse as XML for xqdoc: $3" },
+  { "~BadXMLNoOpeningTag", "closing tag without matching opening tag" },
   { "~BadXQueryVersion", "unsupported XQuery version" },
   { "~Base64BadChar", "invalid Base64 character" },
   { "~Base64Equals", "in Base64, '=' must be at the end and followed by one of [AEIMQUYcgkosw048]" },
@@ -581,8 +582,7 @@
   { "~OperationNotDef_23", "$2 not defined for type \"$3\"" },
   { "~OperationNotPossibleWithTypes_234", "\"$2\": operation not possible with parameters of type \"$3\" and \"$4\"" },
   { "~OuterForClause11", "\"outer-for\" clause only available in XQuery 1.1 or later" },
-  { "~ParseFragmentOptionCombinationNotAllowed", "specifying both $2 and $3 is an error" },
-  { "~ParseFragmentOptionDSLNotAllowed", "if the e option is specified, none of the options d, s, or l may be enabled" },
+  { "~ParseFragmentOptionCombinationNotAllowed", "only one of the <schemaValidate/>, <DTDValidate/> or <parseExternalParsedEntity/> options can be specified" },
   { "~ParserInitFailed", "parser initialization failed" },
   { "~ParserNoCreateTree", "XML tree creation failed" },
   { "~PromotionImpossible", "promotion not possible" },

=== modified file 'src/functions/pregenerated/func_parse_fragment.cpp'
--- src/functions/pregenerated/func_parse_fragment.cpp	2012-02-16 12:48:17 +0000
+++ src/functions/pregenerated/func_parse_fragment.cpp	2012-02-23 17:28:26 +0000
@@ -31,7 +31,7 @@
 
 
 
-PlanIter_t fn_zorba_xml_parse_xml_fragment::codegen(
+PlanIter_t fn_zorba_xml_parse::codegen(
   CompilerCB*,
   static_context* sctx,
   const QueryLoc& loc,
@@ -46,26 +46,12 @@
   {
     
 
-    DECL_WITH_KIND(sctx, fn_zorba_xml_parse_xml_fragment,
-        (createQName("http://www.zorba-xquery.com/modules/xml","","parse-xml-fragment";), 
-        GENV_TYPESYSTEM.STRING_TYPE_QUESTION, 
-        GENV_TYPESYSTEM.STRING_TYPE_ONE, 
-        GENV_TYPESYSTEM.ANY_NODE_TYPE_STAR),
-        FunctionConsts::FN_ZORBA_XML_PARSE_XML_FRAGMENT_2);
-
-  }
-
-
-  {
-    
-
-    DECL_WITH_KIND(sctx, fn_zorba_xml_parse_xml_fragment,
-        (createQName("http://www.zorba-xquery.com/modules/xml","","parse-xml-fragment";), 
-        GENV_TYPESYSTEM.STRING_TYPE_QUESTION, 
-        GENV_TYPESYSTEM.STRING_TYPE_ONE, 
-        GENV_TYPESYSTEM.STRING_TYPE_ONE, 
-        GENV_TYPESYSTEM.ANY_NODE_TYPE_STAR),
-        FunctionConsts::FN_ZORBA_XML_PARSE_XML_FRAGMENT_3);
+    DECL_WITH_KIND(sctx, fn_zorba_xml_parse,
+        (createQName("http://www.zorba-xquery.com/modules/xml","","parse";), 
+        GENV_TYPESYSTEM.STRING_TYPE_QUESTION, 
+        GENV_TYPESYSTEM.ELEMENT_TYPE_QUESTION, 
+        GENV_TYPESYSTEM.ANY_NODE_TYPE_STAR),
+        FunctionConsts::FN_ZORBA_XML_PARSE_2);
 
   }
 

=== modified file 'src/functions/pregenerated/func_parse_fragment.h'
--- src/functions/pregenerated/func_parse_fragment.h	2012-01-11 17:30:25 +0000
+++ src/functions/pregenerated/func_parse_fragment.h	2012-02-23 17:28:26 +0000
@@ -38,11 +38,11 @@
 
 
 
-//fn-zorba-xml:parse-xml-fragment
-class fn_zorba_xml_parse_xml_fragment : public function
+//fn-zorba-xml:parse
+class fn_zorba_xml_parse : public function
 {
 public:
-  fn_zorba_xml_parse_xml_fragment(const signature& sig, FunctionConsts::FunctionKind kind)
+  fn_zorba_xml_parse(const signature& sig, FunctionConsts::FunctionKind kind)
     : 
     function(sig, kind)
   {

=== modified file 'src/functions/pregenerated/function_enum.h'
--- src/functions/pregenerated/function_enum.h	2012-02-16 14:11:02 +0000
+++ src/functions/pregenerated/function_enum.h	2012-02-23 17:28:26 +0000
@@ -254,8 +254,7 @@
   FN_FORMAT_NUMBER_3,
   FN_FORMAT_INTEGER_2,
   FN_FORMAT_INTEGER_3,
-  FN_ZORBA_XML_PARSE_XML_FRAGMENT_2,
-  FN_ZORBA_XML_PARSE_XML_FRAGMENT_3,
+  FN_ZORBA_XML_PARSE_2,
   FN_PARSE_XML_1,
   FN_PARSE_XML_2,
   FN_SERIALIZE_1,

=== modified file 'src/runtime/parsing_and_serializing/fragment_istream.h' (properties changed: +x to -x)
--- src/runtime/parsing_and_serializing/fragment_istream.h	2011-07-16 13:33:13 +0000
+++ src/runtime/parsing_and_serializing/fragment_istream.h	2012-02-23 17:28:26 +0000
@@ -18,55 +18,99 @@
 #define ZORBA_RUNTIME_PARSING_AND_SERIALIZING_FRAGMENT_ISTREAM_H
 
 #include <iostream>
+#include <libxml/parser.h>
+#include <store/api/iterator.h>
 
 namespace zorba {
 
 /**
- * A class to hold an input stream for the parse-xml-fragment function
- * Author: Zorba Team
+ * A class to hold an input stream for the parse-xml:parse() function
+ * Author: Nicolae Brinza
  */
 class FragmentIStream : public std::istream
 {
 public:
+  static const unsigned int BUFFER_SIZE = 4096;
+  static const unsigned int LOOKAHEAD_BYTES = 3; // lookahead fetching is implemented, but currently not used
+  static const unsigned int PARSED_NODES_BATCH_SIZE = 1024;
+
+public:
   FragmentIStream()
     :
     std::istream(NULL),
     theIss(NULL),
     theStream(NULL),
     theBuffer(NULL),
-    buffer_size(0),
-    current_offset(0)
+    bytes_in_buffer(0),
+    current_offset(0),
+    current_element_depth(0),
+    root_elements_to_skip(0),
+    ctxt(NULL),
+    first_start_doc(true),
+    forced_parser_stop(false),
+    reached_eof(false),
+    parsed_nodes_count(0),
+    children(NULL)
   {
   };
 
+  bool stream_is_consumed()
+  {
+    return reached_eof && current_offset >= bytes_in_buffer;
+  }
+
   void reset()
   {
     if (theBuffer)
+    {
       delete[] theBuffer;
+    }
+
     if (theIss)
+    {
       delete theIss;
+    }
+
+    if (ctxt)
+    {
+      xmlCtxtReset(ctxt);
+      xmlFreeParserCtxt(ctxt);
+    }
 
     theIss = NULL;
     theStream = NULL;
     theBuffer = NULL;
-    buffer_size = 0;
+    bytes_in_buffer = 0;
     current_offset = 0;
+    current_element_depth = 0;
+    root_elements_to_skip = 0;
+    ctxt = NULL;
+    first_start_doc = true;
+    forced_parser_stop = false;
+    reached_eof = false;
+    parsed_nodes_count = 0;
+    children = NULL;
   }
 
   virtual ~FragmentIStream()
   {
-    if (theBuffer)
-      delete[] theBuffer;
-    if (theIss)
-      delete theIss;
+    reset();
   }
 
 public:
   std::istringstream* theIss;
   std::istream* theStream;
   char* theBuffer;
-  unsigned long buffer_size;
+  unsigned long bytes_in_buffer;
   unsigned long current_offset;
+  int current_element_depth;
+  int root_elements_to_skip;
+  xmlParserCtxtPtr ctxt;
+  bool first_start_doc;
+  bool forced_parser_stop;
+  bool reached_eof;
+  unsigned int parsed_nodes_count;
+  store::Iterator_t children;
 };
 
 }

=== modified file 'src/runtime/parsing_and_serializing/parse_fragment_impl.cpp' (properties changed: +x to -x)
--- src/runtime/parsing_and_serializing/parse_fragment_impl.cpp	2011-08-10 02:50:23 +0000
+++ src/runtime/parsing_and_serializing/parse_fragment_impl.cpp	2012-02-23 17:28:26 +0000
@@ -25,117 +25,137 @@
 #include "store/api/store.h"
 #include "store/api/item.h"
 #include "store/api/item_factory.h"
+#include "store/api/load_properties.h"
 
 #include "system/globalenv.h"
 
 #include "types/schema/schema.h"
 #include "types/schema/validate.h"
 
+
 namespace zorba
 {
 
 /*******************************************************************************
-  14.9.1 fn-zorba-xml:parse-xml-fragment
+  14.9.1 fn-zorba-xml:parse
 ********************************************************************************/
 
-class ParseXmlFragmentOptions
-{
-public:
-  // all options are false by default, except for enableFatelErrorProcessing which is true
-  bool enableExternalEntitiesProcessing;
-  bool enableDTDValidation;
-  bool enableStrictSchemaValidation;
-  bool enableLaxSchemaValidation;
-  bool enableWhitespaceStripping;
-  bool enableFatelErrorProcessing;
-
-public:
-  ParseXmlFragmentOptions() :
-    enableExternalEntitiesProcessing(false),
-    enableDTDValidation(false),
-    enableStrictSchemaValidation(false),
-    enableLaxSchemaValidation(false),
-    enableWhitespaceStripping(false),
-    enableFatelErrorProcessing(true)   // only enableFatelErrorProcessing is set to true
-  {
-  }
-
-  void reset()
-  {
-    enableExternalEntitiesProcessing = false;
-    enableDTDValidation = false;
-    enableStrictSchemaValidation = false;
-    enableLaxSchemaValidation = false;
-    enableWhitespaceStripping = false;
-    enableFatelErrorProcessing = true;    // only enableFatelErrorProcessing is set to true
-  }
-
-  static ParseXmlFragmentOptions parseOptions(const zstring& options, const QueryLoc& loc)
-  {
-    ParseXmlFragmentOptions opt;
-
-    if (options.find("e") != zstring::npos && options.find("E") != zstring::npos)
-      throw XQUERY_EXCEPTION(zerr::ZXQD0003_INCONSISTENT_PARSE_FRAGMENT_OPTIONS,
-                ERROR_PARAMS(ZED(ParseFragmentOptionCombinationNotAllowed), "e", "E"), ERROR_LOC( loc ));
-
-    if (options.find("d") != zstring::npos && options.find("D") != zstring::npos)
-      throw XQUERY_EXCEPTION(zerr::ZXQD0003_INCONSISTENT_PARSE_FRAGMENT_OPTIONS,
-                ERROR_PARAMS(ZED(ParseFragmentOptionCombinationNotAllowed), "d", "D"), ERROR_LOC( loc ));
-
-    if (options.find("s") != zstring::npos && options.find("S") != zstring::npos)
-      throw XQUERY_EXCEPTION(zerr::ZXQD0003_INCONSISTENT_PARSE_FRAGMENT_OPTIONS,
-                ERROR_PARAMS(ZED(ParseFragmentOptionCombinationNotAllowed), "s", "S"), ERROR_LOC( loc ));
-
-    if (options.find("l") != zstring::npos && options.find("L") != zstring::npos)
-      throw XQUERY_EXCEPTION(zerr::ZXQD0003_INCONSISTENT_PARSE_FRAGMENT_OPTIONS,
-                ERROR_PARAMS(ZED(ParseFragmentOptionCombinationNotAllowed), "l", "L"), ERROR_LOC( loc ));
-
-    if (options.find("w") != zstring::npos && options.find("W") != zstring::npos)
-      throw XQUERY_EXCEPTION(zerr::ZXQD0003_INCONSISTENT_PARSE_FRAGMENT_OPTIONS,
-                ERROR_PARAMS(ZED(ParseFragmentOptionCombinationNotAllowed), "w", "W"), ERROR_LOC( loc ));
-
-    if (options.find("f") != zstring::npos && options.find("F") != zstring::npos)
-      throw XQUERY_EXCEPTION(zerr::ZXQD0003_INCONSISTENT_PARSE_FRAGMENT_OPTIONS,
-                ERROR_PARAMS(ZED(ParseFragmentOptionCombinationNotAllowed), "f", "F"), ERROR_LOC( loc ));
-
-    if (options.find("e") != zstring::npos)
-      opt.enableExternalEntitiesProcessing = true;
-    if (options.find("d") != zstring::npos)
-      opt.enableDTDValidation = true;
-    if (options.find("s") != zstring::npos)
-      opt.enableStrictSchemaValidation = true;
-    if (options.find("l") != zstring::npos)
-      opt.enableLaxSchemaValidation = true;
-    if (options.find("w") != zstring::npos)
-      opt.enableWhitespaceStripping = true;
-    if (options.find("f") != zstring::npos)
-      opt.enableFatelErrorProcessing = true;
-
-    if (options.find("E") != zstring::npos)
-      opt.enableExternalEntitiesProcessing = false;
-    if (options.find("D") != zstring::npos)
-      opt.enableDTDValidation = false;
-    if (options.find("S") != zstring::npos)
-      opt.enableStrictSchemaValidation = false;
-    if (options.find("L") != zstring::npos)
-      opt.enableLaxSchemaValidation = false;
-    if (options.find("W") != zstring::npos)
-      opt.enableWhitespaceStripping = false;
-    if (options.find("F") != zstring::npos)
-      opt.enableFatelErrorProcessing = false;
-
-    if (opt.enableExternalEntitiesProcessing
-        &&
-        (opt.enableDTDValidation || opt.enableStrictSchemaValidation || opt.enableLaxSchemaValidation))
-    {
-      throw XQUERY_EXCEPTION(zerr::ZXQD0003_INCONSISTENT_PARSE_FRAGMENT_OPTIONS,
-                ERROR_PARAMS(ZED(ParseFragmentOptionDSLNotAllowed)), ERROR_LOC( loc ));
-    }
-
-    return opt;
-  }
-};
-
+store::Item_t getFirstAttribute(store::Item_t node)
+{
+  store::Item_t attr;
+  store::Iterator_t attributes = node->getAttributes();
+  attributes->open();
+  attributes->next(attr);
+  attributes->close();
+  return attr;
+}
+
+void processOptions(store::Item_t item, store::LoadProperties& props, static_context* theSctx, const QueryLoc& loc)
+{
+  URI lValidatedBaseUri;
+  store::Item_t child, tempItem;
+
+  if (item.getp() == NULL)
+    return;
+
+#ifndef ZORBA_NO_XMLSCHEMA
+  tempItem = NULL; // used as the effectiveValidationValue()'s typeName
+  Validator::effectiveValidationValue(
+      item,
+      item,
+      tempItem,
+      theSctx->get_typemanager(),
+      ParseConstants::val_strict,
+      theSctx,
+      loc);
+#endif      
+
+  store::Iterator_t children = item->getChildren();
+  children->open();
+
+  while (children->next(child))
+  {
+    if (child->getNodeKind() != store::StoreConsts::elementNode)
+      continue;
+
+    if (child->getNodeName()->getLocalName() == "base-uri")
+    {
+      store::Item_t attr = getFirstAttribute(child);
+
+      try {
+        lValidatedBaseUri = URI(attr->getStringValue());
+      } catch (ZorbaException const& /* e */) {
+        throw XQUERY_EXCEPTION(
+          err::FODC0007,
+          ERROR_PARAMS( attr->getStringValue() ),
+          ERROR_LOC( loc )
+        );
+      }
+
+      if (!lValidatedBaseUri.is_absolute()) {
+        throw XQUERY_EXCEPTION(
+          err::FODC0007,
+          ERROR_PARAMS( lValidatedBaseUri.toString() ),
+          ERROR_LOC( loc )
+        );
+      }
+
+      props.setBaseUri(attr->getStringValue());
+    }
+    else if (child->getNodeName()->getLocalName() == "no-error")
+      props.setNoError(true);
+    else if (child->getNodeName()->getLocalName() == "strip-boundary-space")
+      props.setStripWhitespace(true);
+    else if (child->getNodeName()->getLocalName() == "schema-validate")
+    {
+      store::Item_t attr = getFirstAttribute(child);
+      if (attr->getStringValue() == "strict")
+        props.setSchemaStrictValidate(true);
+      else
+        props.setSchemaLaxValidate(true);
+    }
+    else if (child->getNodeName()->getLocalName() == "DTD-validate")
+      props.setDTDValidate(true);
+    else if (child->getNodeName()->getLocalName() == "DTD-load")
+      props.setDTDLoad(true);
+    else if (child->getNodeName()->getLocalName() == "default-DTD-attributes")
+      props.setDefaultDTDAttributes(true);
+    else if (child->getNodeName()->getLocalName() == "parse-external-parsed-entity")
+    {
+      props.setParseExternalParsedEntity(true);
+      store::Item_t attr;
+      store::Iterator_t attribs = child->getAttributes();
+      attribs->open();
+      while (attribs->next(attr))
+      {
+        if (attr->getNodeName()->getLocalName() == "skip-root-nodes")
+          props.setSkipRootNodes(ztd::aton<xs_int>(attr->getStringValue().c_str()));
+        else if (attr->getNodeName()->getLocalName() == "skip-top-level-text-nodes")
+          props.setSkipTopLevelTextNodes(true);
+      }
+      attribs->close();
+    }
+    else if (child->getNodeName()->getLocalName() == "substitute-entities")
+      props.setSubstituteEntities(true);
+    else if (child->getNodeName()->getLocalName() == "xinclude-substitutions")
+      props.setXincludeSubstitutions(true);
+    else if (child->getNodeName()->getLocalName() == "remove-redundant-ns")
+      props.setRemoveRedundantNS(true);
+    else if (child->getNodeName()->getLocalName() == "no-CDATA")
+      props.setNoCDATA(true);
+    else if (child->getNodeName()->getLocalName() == "no-xinclude-nodes")
+      props.setNoXIncludeNodes(true);
+  }
+
+  children->close();
+
+  if (props.getSchemaLaxValidate() + props.getSchemaStrictValidate() +
+      props.getDTDValidate() + props.getParseExternalParsedEntity() > 1)
+  {
+    throw XQUERY_EXCEPTION(zerr::ZXQD0003_INCONSISTENT_PARSE_FRAGMENT_OPTIONS,
+                           ERROR_PARAMS(ZED(ParseFragmentOptionCombinationNotAllowed)), ERROR_LOC( loc ));
+  }
+}
 
 /*******************************************************************************
 
@@ -145,8 +165,7 @@
 {
   PlanIteratorState::reset(planState);
   theFragmentStream.reset();
-  theProperties.setEnableDtd(false);
-  theProperties.setEnableExtParsedEntity(false);
+  theProperties.reset();
   theProperties.setStoreDocument(false);
   baseUri = "";
   docUri = "";
@@ -161,9 +180,7 @@
 {
   store::Store& lStore = GENV.getStore();
   zstring docString;
-  URI lValidatedBaseUri;
   store::Item_t tempItem;
-  ParseXmlFragmentOptions parseOptions;
   bool validated = true;
 
   FnParseXmlFragmentIteratorState* state;
@@ -182,87 +199,61 @@
       state->theFragmentStream.theStream = state->theFragmentStream.theIss;
     }
 
-    // optional base URI argument
-    if (theChildren.size() == 3)
-    {
-      consumeNext(result, theChildren[1].getp(), planState);
-      ZORBA_ASSERT(result);
-
-      try {
-        lValidatedBaseUri = URI(result->getStringValue());
-      } catch (ZorbaException const& /* e */) {
-        throw XQUERY_EXCEPTION(
-          err::FODC0007,
-          ERROR_PARAMS( result->getStringValue() ),
-          ERROR_LOC( loc )
-        );
-      }
-
-      if (!lValidatedBaseUri.is_absolute()) {
-        throw XQUERY_EXCEPTION(
-          err::FODC0007,
-          ERROR_PARAMS( lValidatedBaseUri.toString() ),
-          ERROR_LOC( loc )
-        );
-      }
-
-      result->getStringValue2(state->baseUri);
-
-      // read options
-      consumeNext(tempItem, theChildren[2].getp(), planState);
-      parseOptions = ParseXmlFragmentOptions::parseOptions(tempItem->getStringValue(), loc);
-
-    } else {
-      // read options
-      consumeNext(tempItem, theChildren[1].getp(), planState);
-      parseOptions = ParseXmlFragmentOptions::parseOptions(tempItem->getStringValue(), loc);
-
-      state->baseUri = theSctx->get_base_uri();
-    }
+    // read options
+    consumeNext(tempItem, theChildren[1].getp(), planState);
+    state->theProperties.setBaseUri(theSctx->get_base_uri());
+    state->theProperties.setStoreDocument(false);
+    processOptions(tempItem, state->theProperties, theSctx, loc);
 
     // baseURI serves both as the base URI used by the XML parser
     // to resolve relative entity references within the document,
     // and as the base URI of the document node that is returned.
-    state->docUri = state->baseUri;
-
-    // The DTD and ExternalEntitiesProcessing options/props cannot both be true at the same time
-    if (parseOptions.enableDTDValidation)
-      state->theProperties.setEnableDtd(true);
-    if (parseOptions.enableExternalEntitiesProcessing)
-      state->theProperties.setEnableExtParsedEntity(true);
-    state->theProperties.setStoreDocument(false);
-
-    if (state->theProperties.getEnableExtParsedEntity())
+    state->baseUri = state->theProperties.getBaseUri();
+    state->docUri = state->theProperties.getBaseUri();
+
+
+    ////////////////////////////////////////////////////////////////////////
+    // External parsed entity processing
+    ////////////////////////////////////////////////////////////////////////
+    if (state->theProperties.getParseExternalParsedEntity())
     {
-      // state->theFragmentStream.root_elements_to_skip = 0;
+      state->theFragmentStream.root_elements_to_skip = state->theProperties.getSkipRootNodes();
 
-      while (state->theFragmentStream.theBuffer == NULL
-             ||
-             state->theFragmentStream.current_offset < state->theFragmentStream.buffer_size)
+      while ( ! state->theFragmentStream.stream_is_consumed())
       {
         try {
           result = lStore.loadDocument(state->baseUri, state->docUri, state->theFragmentStream, state->theProperties);
         } catch (ZorbaException const& e) {
-          if (parseOptions.enableFatelErrorProcessing)
-            throw XQUERY_EXCEPTION( err::FODC0006, ERROR_PARAMS("parse-xml:parse-xml-fragment()", e.what()), ERROR_LOC( loc ));
+          if ( ! state->theProperties.getNoError())
+            throw XQUERY_EXCEPTION( err::FODC0006, ERROR_PARAMS("parse-xml:parse()", e.what()), ERROR_LOC( loc ));
           else
             result = NULL;
         }
 
-        if (result != NULL)
+        if (result == NULL)
+          continue;
+
+        // Return the children of document node
+        state->theFragmentStream.children = result->getChildren();
+        while (state->theFragmentStream.children->next(result) && result != NULL)
         {
-          result->getChildren()->next(result);
+          if (state->theProperties.getSkipTopLevelTextNodes() && result->getNodeKind() == store::StoreConsts::textNode)
+            continue;
+
           STACK_PUSH(true, state);
         }
       }
     }
+    ////////////////////////////////////////////////////////////////////////
+    // XML document processing
+    ////////////////////////////////////////////////////////////////////////
     else  // if (!state->theProperties.getEnableExtParsedEntity())
     {
       try {
         result = lStore.loadDocument(state->baseUri, state->docUri, *state->theFragmentStream.theStream, state->theProperties);
       } catch (ZorbaException const& e) {
-        if (parseOptions.enableFatelErrorProcessing)
-          throw XQUERY_EXCEPTION( err::FODC0006, ERROR_PARAMS("parse-xml:parse-xml-fragment()", e.what()), ERROR_LOC( loc ));
+        if ( ! state->theProperties.getNoError())
+          throw XQUERY_EXCEPTION( err::FODC0006, ERROR_PARAMS("parse-xml:parse()", e.what()), ERROR_LOC( loc ));
         else
           result = NULL;
       }
@@ -270,7 +261,7 @@
       if (result != NULL)
       {
 #ifndef ZORBA_NO_XMLSCHEMA
-        if (parseOptions.enableStrictSchemaValidation || parseOptions.enableLaxSchemaValidation)
+        if (state->theProperties.getSchemaLaxValidate() || state->theProperties.getSchemaStrictValidate())
         {
           try
           {
@@ -280,13 +271,13 @@
                           result,
                           tempItem,
                           theSctx->get_typemanager(),
-                          parseOptions.enableLaxSchemaValidation ? ParseConstants::val_lax : ParseConstants::val_strict,
+                          state->theProperties.getSchemaLaxValidate() ? ParseConstants::val_lax : ParseConstants::val_strict,
                           theSctx,
                           this->loc);
           }
           catch (ZorbaException& /*e*/)
           {
-            if (parseOptions.enableFatelErrorProcessing)
+            if ( ! state->theProperties.getNoError())
               throw;
             else
             {
@@ -298,11 +289,6 @@
 #endif
         // Ignore the schema validation options if Zorba is built without schema support
 
-        if (result != NULL && validated && parseOptions.enableWhitespaceStripping)
-        {
-          // TODO: whitespace stripping
-        }
-
         STACK_PUSH(validated, state);
       } // if (result != NULL)
     } // if (state->theProperties.getEnableExtParsedEntity())

=== modified file 'src/runtime/parsing_and_serializing/pregenerated/parse_fragment.cpp' (properties changed: +x to -x)
=== modified file 'src/runtime/parsing_and_serializing/pregenerated/parse_fragment.h' (properties changed: +x to -x)
--- src/runtime/parsing_and_serializing/pregenerated/parse_fragment.h	2011-10-19 15:28:51 +0000
+++ src/runtime/parsing_and_serializing/pregenerated/parse_fragment.h	2012-02-23 17:28:26 +0000
@@ -36,7 +36,7 @@
 namespace zorba {
 
 /**
- * fn-zorba-xml:parse-xml-fragment
+ * fn-zorba-xml:parse
  * Author: Zorba Team
  */
 class FnParseXmlFragmentIteratorState : public PlanIteratorState

=== modified file 'src/runtime/sequences/sequences_impl.cpp'
--- src/runtime/sequences/sequences_impl.cpp	2012-02-15 10:25:02 +0000
+++ src/runtime/sequences/sequences_impl.cpp	2012-02-23 17:28:26 +0000
@@ -464,13 +464,13 @@
   state->theIsChildReset = false;
 
   CONSUME(startPosItem, 1);
-  startPos = 
+  startPos =
   static_cast<xs_long>(startPosItem->getDoubleValue().round().getNumber()) - 1;
 
   if (theChildren.size() == 3)
   {
     CONSUME(lengthItem, 2);
-    state->theRemaining = 
+    state->theRemaining =
     static_cast<xs_long>(lengthItem->getDoubleValue().round().getNumber());
   }
 
@@ -1033,7 +1033,7 @@
 }
 
 bool FnDeepEqualIterator::nextImpl(
-    store::Item_t& result, 
+    store::Item_t& result,
     PlanState& planState) const
 {
   PlanIteratorState* state;
@@ -1061,7 +1061,7 @@
       break;
     }
 
-    if (arg1->isFunction() || arg2->isFunction()) 
+    if (arg1->isFunction() || arg2->isFunction())
     {
 			throw XQUERY_EXCEPTION(
           err::FOTY0015,
@@ -1161,12 +1161,12 @@
   DEFAULT_STACK_INIT(PlanIteratorState, state, planState);
 
 
-  for (;;) 
+  for (;;)
   {
     // load items
-    for (i = 0; i < 2; i++) 
+    for (i = 0; i < 2; i++)
     {
-      if (item [i] == NULL) 
+      if (item [i] == NULL)
       {
         if (!CONSUME (item[i], i))
         {
@@ -1178,7 +1178,7 @@
 
     // advance, output
     order = GENV_STORE.compareNodes(item[0].getp(), item[1].getp());
-    if ( order == 0 ) 
+    if ( order == 0 )
     {
       result = item[0];
       STACK_PUSH (true, state);
@@ -1739,7 +1739,7 @@
   planState.theGlobalDynCtx->theDocLoadingUserTime +=
     zorbatm::get_cputime_elapsed(t0user, t1user);
 
-  planState.theGlobalDynCtx->theDocLoadingTime += 
+  planState.theGlobalDynCtx->theDocLoadingTime +=
     zorbatm::get_walltime_elapsed(t0, t1);
 }
 
@@ -1833,7 +1833,7 @@
   // Prepare a LoadProperties for loading the stream into the store
   store::LoadProperties lLoadProperties;
   lLoadProperties.setStoreDocument(true);
-  lLoadProperties.setEnableDtd( aSctx->is_feature_set( feature::dtd ) );
+  lLoadProperties.setDTDValidate( aSctx->is_feature_set( feature::dtd ) );
 
   // Resolve URI to a stream
   zstring lErrorMessage;

=== modified file 'src/runtime/spec/parsing_and_serializing/parse_fragment.xml'
--- src/runtime/spec/parsing_and_serializing/parse_fragment.xml	2011-07-15 16:39:51 +0000
+++ src/runtime/spec/parsing_and_serializing/parse_fragment.xml	2012-02-23 17:28:26 +0000
@@ -19,27 +19,20 @@
 
 <!--
 /*******************************************************************************
- * 14.9.1 fn:parse-xml-fragment
+ * 14.9.1 parse-xml:parse
 ********************************************************************************/
 -->
   <zorba:iterator name="FnParseXmlFragmentIterator">
       
-    <zorba:description author="Zorba Team">fn-zorba-xml:parse-xml-fragment</zorba:description>
+    <zorba:description author="Zorba Team">fn-zorba-xml:parse</zorba:description>
     
     <zorba:function>
-      <zorba:signature localname="parse-xml-fragment" prefix="fn-zorba-xml">
-        <zorba:param>xs:string?</zorba:param> <!-- string to parse -->
-        <zorba:param>xs:string</zorba:param>  <!-- parse-xml options -->
+      <zorba:signature localname="parse" prefix="fn-zorba-xml">
+        <zorba:param>xs:string?</zorba:param>  <!-- string to parse -->
+        <zorba:param>element()?</zorba:param>  <!-- parse() options -->
         <zorba:output>node()*</zorba:output>
       </zorba:signature>
 
-      <zorba:signature localname="parse-xml-fragment" prefix="fn-zorba-xml">
-        <zorba:param>xs:string?</zorba:param> <!-- string to parse -->
-        <zorba:param>xs:string</zorba:param>  <!-- baseURI -->
-        <zorba:param>xs:string</zorba:param>  <!-- parse-xml options -->
-        <zorba:output>node()*</zorba:output>
-      </zorba:signature>
-                     
       <zorba:methods>
         <zorba:accessesDynCtx returnValue="true"/>
       </zorba:methods>

=== modified file 'src/store/api/load_properties.h'
--- src/store/api/load_properties.h	2011-06-29 15:03:41 +0000
+++ src/store/api/load_properties.h	2012-02-23 17:28:26 +0000
@@ -35,12 +35,70 @@
 {
 private:
   bool theStoreDocument;
-  bool theEnableDtdLoader;
-  bool theEnableExtParsedEntityLoader;
+  zstring theBaseUri;
+  bool theNoError;
+  bool theStripWhitespace;
+  bool theSchemaLaxValidate;
+  bool theSchemaStrictValidate;
+  bool theDTDValidate;
+  bool theDTDLoad;
+  bool theDefaultDTDAttributes;
+  bool theParseExternalParsedEntity;
+  unsigned int theSkipRootNodes;
+  bool theSkipTopLevelTextNodes;
+  bool theSubstituteEntities;
+  bool theXincludeSubstitutions;
+  bool theRemoveRedundantNS;
+  bool theNoCDATA;
+  bool theNoXIncludeNodes;
 
 public:
-  LoadProperties() : theStoreDocument(true), theEnableDtdLoader(false), theEnableExtParsedEntityLoader(false) {}
-  virtual ~LoadProperties() {}
+  LoadProperties()
+    :
+    theStoreDocument(true),
+    theBaseUri(""),
+    theNoError(false),
+    theStripWhitespace(false),
+    theSchemaLaxValidate(false),
+    theSchemaStrictValidate(false),
+    theDTDValidate(false),
+    theDTDLoad(false),
+    theDefaultDTDAttributes(false),
+    theParseExternalParsedEntity(false),
+    theSkipRootNodes(0),
+    theSkipTopLevelTextNodes(false),
+    theSubstituteEntities(false),
+    theXincludeSubstitutions(false),
+    theRemoveRedundantNS(false),
+    theNoCDATA(false),
+    theNoXIncludeNodes(false)
+  {
+  }
+
+  virtual ~LoadProperties()
+  {
+  }
+
+  void reset()
+  {
+    theStoreDocument = true;
+    theBaseUri = "";
+    theNoError = false;
+    theStripWhitespace = false;
+    theSchemaLaxValidate = false;
+    theSchemaStrictValidate = false;
+    theDTDValidate = false;
+    theDTDLoad = false;
+    theDefaultDTDAttributes = false;
+    theParseExternalParsedEntity = false;
+    theSkipRootNodes = 0;
+    theSkipTopLevelTextNodes = false;
+    theSubstituteEntities = false;
+    theXincludeSubstitutions = false;
+    theRemoveRedundantNS = false;
+    theNoCDATA = false;
+    theNoXIncludeNodes = false;
+  }
 
   /**
    * Set the property storeDocument, it specifies whether the document
@@ -60,40 +118,168 @@
     return theStoreDocument;
   }
 
-  /**
-   * Set the property enableDtd, it specifies whether the document's
-   * dtd should be enabled when loading
-   */
-  void setEnableDtd(bool aEnableDtdLoader)
-  {
-    theEnableDtdLoader = aEnableDtdLoader;
-  }
-
-  /**
-   * Get the property enableDtd, it specifies whether the document's
-   * dtd should be enabled when loading
-   */
-  bool getEnableDtd() const
-  {
-    return theEnableDtdLoader;
-  }
-
-  /**
-   * Set the property enableExtParsedEntity, it specifies whether the document
-   * should be parsed as an enxternal general parsed entity
-   */
-  void setEnableExtParsedEntity(bool aEnableExtParsedEntityLoader)
-  {
-    theEnableExtParsedEntityLoader = aEnableExtParsedEntityLoader;
-  }
-
-  /**
-   * Get the property enableDtd, it specifies whether the document
-   * should be parsed as an enxternal general parsed entity
-   */
-  bool getEnableExtParsedEntity() const
-  {
-    return theEnableExtParsedEntityLoader;
+  // theBaseUri
+  void setBaseUri(const zstring& aBaseUri)
+  {
+    theBaseUri = aBaseUri;
+  }
+  zstring getBaseUri() const
+  {
+    return theBaseUri;
+  }
+
+  // theNoError
+  void setNoError(bool aNoError)
+  {
+    theNoError = aNoError;
+  }
+  bool getNoError() const
+  {
+    return theNoError;
+  }
+
+  // theStripWhitespace
+  void setStripWhitespace(bool aStripWhitespace)
+  {
+    theStripWhitespace = aStripWhitespace;
+  }
+  bool getStripWhitespace() const
+  {
+    return theStripWhitespace;
+  }
+
+  // theSchemaLaxValidate
+  void setSchemaLaxValidate(bool aSchemaLaxValidate)
+  {
+    theSchemaLaxValidate = aSchemaLaxValidate;
+    if (theSchemaLaxValidate)
+      theSchemaStrictValidate = false;
+  }
+  bool getSchemaLaxValidate() const
+  {
+    return theSchemaLaxValidate;
+  }
+
+  // theSchemaStrictValidate
+  void setSchemaStrictValidate(bool aSchemaStrictValidate)
+  {
+    theSchemaStrictValidate = aSchemaStrictValidate;
+    if (theSchemaStrictValidate)
+      theSchemaLaxValidate = false;
+  }
+  bool getSchemaStrictValidate() const
+  {
+    return theSchemaStrictValidate;
+  }
+
+  // theDTDValidate
+  void setDTDValidate(bool aDTDValidate)
+  {
+    theDTDValidate = aDTDValidate;
+  }
+  bool getDTDValidate() const
+  {
+    return theDTDValidate;
+  }
+
+  // theDTDLoad
+  void setDTDLoad(bool aDTDLoad)
+  {
+    theDTDLoad = aDTDLoad;
+  }
+  bool getDTDLoad() const
+  {
+    return theDTDLoad;
+  }
+
+  // theDefaultDTDAttributes
+  void setDefaultDTDAttributes(bool aDefaultDTDAttributes)
+  {
+    theDefaultDTDAttributes = aDefaultDTDAttributes;
+  }
+  bool getDefaultDTDAttributes() const
+  {
+    return theDefaultDTDAttributes;
+  }
+
+  // theParseExternalParsedEntity
+  void setParseExternalParsedEntity(bool aParseExternalParsedEntity)
+  {
+    theParseExternalParsedEntity = aParseExternalParsedEntity;
+  }
+  bool getParseExternalParsedEntity() const
+  {
+    return theParseExternalParsedEntity;
+  }
+
+  // theSkipRootNodes
+  void setSkipRootNodes(unsigned int aSkipRootNodes)
+  {
+    theSkipRootNodes = aSkipRootNodes;
+  }
+  unsigned int getSkipRootNodes() const
+  {
+    return theSkipRootNodes;
+  }
+
+  // theSkipTopLevelTextNodes
+  void setSkipTopLevelTextNodes(bool aSkipTopLevelTextNodes)
+  {
+    theSkipTopLevelTextNodes = aSkipTopLevelTextNodes;
+  }
+  bool getSkipTopLevelTextNodes() const
+  {
+    return theSkipTopLevelTextNodes;
+  }
+
+  // theSubstituteEntities
+  void setSubstituteEntities(bool aSubstituteEntities)
+  {
+    theSubstituteEntities = aSubstituteEntities;
+  }
+  bool getSubstituteEntities() const
+  {
+    return theSubstituteEntities;
+  }
+
+  // theXincludeSubstitutions
+  void setXincludeSubstitutions(bool aXincludeSubstitutions)
+  {
+    theXincludeSubstitutions = aXincludeSubstitutions;
+  }
+  bool getXincludeSubstitutions() const
+  {
+    return theXincludeSubstitutions;
+  }
+
+  // theRemoveRedundantNS
+  void setRemoveRedundantNS(bool aRemoveRedundantNS)
+  {
+    theRemoveRedundantNS = aRemoveRedundantNS;
+  }
+  bool getRemoveRedundantNS() const
+  {
+    return theRemoveRedundantNS;
+  }
+
+  // theNoCDATA
+  void setNoCDATA(bool aNoCDATA)
+  {
+    theNoCDATA = aNoCDATA;
+  }
+  bool getNoCDATA() const
+  {
+    return theNoCDATA;
+  }
+
+  // theNoXIncludeNodes
+  void setNoXIncludeNodes(bool aNoXIncludeNodes)
+  {
+    theNoXIncludeNodes = aNoXIncludeNodes;
+  }
+  bool getNoXIncludeNodes() const
+  {
+    return theNoXIncludeNodes;
   }
 };
 

=== modified file 'src/store/naive/loader.h'
--- src/store/naive/loader.h	2011-07-15 16:39:51 +0000
+++ src/store/naive/loader.h	2012-02-23 17:28:26 +0000
@@ -21,6 +21,7 @@
 #include <libxml/xmlstring.h>
 
 #include "store/api/item.h"
+#include "store/api/load_properties.h"
 
 #include "store/naive/ordpath.h"
 
@@ -74,6 +75,8 @@
   static const ulong INPUT_CHUNK_SIZE = 8192;
 
 protected:
+  const store::LoadProperties    & theLoadProperties;
+
   xmlParserCtxtPtr                 ctxt;
 
   xmlSAXHandler                    theSaxHandler;
@@ -89,12 +92,19 @@
 
   bool                             theBuildDataGuide;
 
+
+protected:
+  void applyLoadOptions(const store::LoadProperties& props, xmlParserCtxtPtr ctxt);
+
+
 public:
   XmlLoader(
         BasicItemFactory* factory,
         XQueryDiagnostics* xqueryDiagnostics,
+        const store::LoadProperties& loadProperties,
         bool dataguide)
     :
+    theLoadProperties(loadProperties),
     ctxt(NULL),
     theFactory(factory),
     theXQueryDiagnostics(xqueryDiagnostics),
@@ -156,6 +166,7 @@
   FastXmlLoader(
         BasicItemFactory* factory,
         XQueryDiagnostics* xqueryDiagnostics,
+        const store::LoadProperties& loadProperties,
         bool dataguide);
 
   ~FastXmlLoader();
@@ -245,6 +256,7 @@
   FragmentXmlLoader(
         BasicItemFactory* factory,
         XQueryDiagnostics* xqueryDiagnostics,
+        const store::LoadProperties& loadProperties,
         bool dataguide);
 
   ~FragmentXmlLoader();
@@ -255,7 +267,15 @@
         std::istream& xmlStream);
 
 protected:
-  static void checkStopParsing(void* ctx);
+  bool fillBuffer(FragmentIStream* theFragmentStream);
+
+  unsigned long getCurrentInputOffset() const;
+
+  static void checkStopParsing(void* ctx, bool force = false);
+
+  static void startDocument(void * ctx);
+
+  static void endDocument(void * ctx);
 
   static void startElement(
         void * ctx,
@@ -295,7 +315,6 @@
 
 protected:
   FragmentIStream* theFragmentStream;
-  int element_depth;
 };
 
 /*******************************************************************************
@@ -331,8 +350,6 @@
   zorba::Stack<PathStepInfo>       thePathStack;
   std::stack<NsBindingsContext*>   theBindingsStack;
 
-  bool                             theParseExtParsedEntity;
-
 #ifdef DATAGUIDE
   zorba::Stack<ElementGuideNode*>  theGuideStack;
 #endif
@@ -341,8 +358,8 @@
   DtdXmlLoader(
         BasicItemFactory* factory,
         XQueryDiagnostics* xqueryDiagnostics,
-        bool dataguide,
-        bool parseExtParsedEntity);
+        const store::LoadProperties& loadProperties,
+        bool dataguide);
 
   ~DtdXmlLoader();
 

=== modified file 'src/store/naive/loader_dtd.cpp'
--- src/store/naive/loader_dtd.cpp	2012-02-15 10:25:02 +0000
+++ src/store/naive/loader_dtd.cpp	2012-02-23 17:28:26 +0000
@@ -76,12 +76,51 @@
 /*******************************************************************************
 
 ********************************************************************************/
+void XmlLoader::applyLoadOptions(const store::LoadProperties& props, xmlParserCtxtPtr ctxt)
+{
+  int options = 0;
+
+  if (props.getStripWhitespace())
+    options |= XML_PARSE_NOBLANKS;
+
+  if (props.getDTDValidate())
+    options |= XML_PARSE_DTDVALID;
+
+  if (props.getDTDLoad())
+    options |= XML_PARSE_DTDLOAD;
+
+  if (props.getDefaultDTDAttributes())
+    options |= XML_PARSE_DTDATTR;
+
+  if (props.getSubstituteEntities())
+    options |= XML_PARSE_NOENT;
+
+  if (props.getXincludeSubstitutions())
+    options |= XML_PARSE_XINCLUDE;
+
+  if (props.getRemoveRedundantNS())
+    options |= XML_PARSE_NSCLEAN;
+
+  if (props.getNoCDATA())
+    options |= XML_PARSE_NOCDATA;
+
+  if (props.getNoXIncludeNodes())
+    options |= XML_PARSE_NOXINCNODE;
+
+  xmlCtxtUseOptions(ctxt, options);
+}
+
+
+/*******************************************************************************
+
+********************************************************************************/
 FragmentXmlLoader::FragmentXmlLoader(
     BasicItemFactory* factory,
     XQueryDiagnostics* xqueryDiagnostics,
+    const store::LoadProperties& loadProperties,
     bool dataguide)
   :
-  FastXmlLoader(factory, xqueryDiagnostics, dataguide)
+  FastXmlLoader(factory, xqueryDiagnostics, loadProperties, dataguide)
 {
   theOrdPath.init();
 
@@ -109,6 +148,39 @@
 {
 }
 
+bool FragmentXmlLoader::fillBuffer(FragmentIStream* theFragmentStream)
+{
+  if (theFragmentStream->ctxt->input->length > 0 && theFragmentStream->current_offset < theFragmentStream->bytes_in_buffer)
+  {
+    memmove(theFragmentStream->theBuffer, theFragmentStream->theBuffer + theFragmentStream->current_offset,
+            theFragmentStream->bytes_in_buffer - theFragmentStream->current_offset);
+  }
+  theFragmentStream->bytes_in_buffer -= theFragmentStream->current_offset;
+
+  std::streamsize numChars = readPacket(*theFragmentStream->theStream, theFragmentStream->theBuffer + theFragmentStream->bytes_in_buffer,
+                                         FragmentIStream::BUFFER_SIZE+FragmentIStream::LOOKAHEAD_BYTES - theFragmentStream->bytes_in_buffer);
+  if (numChars < 0)
+  {
+    theXQueryDiagnostics->add_error(NEW_ZORBA_EXCEPTION(zerr::ZSTR0020_LOADER_IO_ERROR));
+    throw 0; // the argument to throw is not used by the catch clause
+  }
+
+  if (theFragmentStream->theStream->eof())
+    theFragmentStream->reached_eof = true;
+
+  theFragmentStream->bytes_in_buffer += numChars;
+  theFragmentStream->current_offset = 0;
+  theFragmentStream->ctxt->input->base = (xmlChar*)(theFragmentStream->theBuffer);
+  theFragmentStream->ctxt->input->length = (theFragmentStream->bytes_in_buffer < FragmentIStream::BUFFER_SIZE? theFragmentStream->bytes_in_buffer : FragmentIStream::BUFFER_SIZE);
+  theFragmentStream->ctxt->input->cur = theFragmentStream->ctxt->input->base;
+  theFragmentStream->ctxt->input->end = theFragmentStream->ctxt->input->base + theFragmentStream->ctxt->input->length;
+  theFragmentStream->ctxt->checkIndex = 0;
+
+  if (theFragmentStream->bytes_in_buffer < FragmentIStream::BUFFER_SIZE+FragmentIStream::LOOKAHEAD_BYTES)
+    theFragmentStream->theBuffer[theFragmentStream->bytes_in_buffer] = 0;
+
+  return !theFragmentStream->stream_is_consumed();
+}
 
 store::Item_t FragmentXmlLoader::loadXml(
     const zstring& baseUri,
@@ -138,88 +210,105 @@
   {
     theFragmentStream = static_cast<FragmentIStream*>(&stream);
 
-    // Prepare the input buffer
+    // Prepare the input buffer and the parser context
     if (theFragmentStream->theBuffer == NULL)
     {
-      theFragmentStream->theStream->seekg(0, std::ios::end);
-      std::streamoff fileSize = theFragmentStream->theStream->tellg();
-      theFragmentStream->theStream->seekg(0, std::ios::beg);
-
-      theFragmentStream->theBuffer = new char[static_cast<unsigned int>(fileSize+1)];
-      theFragmentStream->theBuffer[fileSize] = 0;
-
-      std::streamsize numChars = readPacket(*theFragmentStream->theStream,
-                                            theFragmentStream->theBuffer,
-                                            fileSize);
-      theFragmentStream->buffer_size = numChars;
-      if (numChars < 0)
-      {
-        theXQueryDiagnostics->
-        add_error(NEW_ZORBA_EXCEPTION(zerr::ZSTR0020_LOADER_IO_ERROR));
-
-        abortload();
-        return NULL;
-      }
-      else if (numChars == 0)
-      {
-        theXQueryDiagnostics->
-        add_error(NEW_ZORBA_EXCEPTION(zerr::ZSTR0020_LOADER_IO_ERROR, 
-                  ERROR_PARAMS(ZED(NoInputData))));
-
-        abortload();
-        return NULL;
-      }
-    }
-
-    // Create the LibXml parser context
-    ctxt = xmlCreatePushParserCtxt(&theSaxHandler, this, NULL, 0, 0);
-    // ctxt = xmlCreate
-    if (ctxt == NULL)
-    {
-      theXQueryDiagnostics->
-      add_error(NEW_ZORBA_EXCEPTION(zerr::ZSTR0021_LOADER_PARSING_ERROR, 
-                ERROR_PARAMS(ZED(ParserInitFailed))));
-
-      abortload();
-      return NULL;
-    }
-
-    // Delete the initial empty input stream
-    xmlFreeInputStream(inputPop(ctxt));
-
-    // Create the LibXml parser input
-    xmlParserInputPtr input = xmlNewInputStream(ctxt);
-    if (input == NULL)
-    {
-      theXQueryDiagnostics->
-      add_error(NEW_ZORBA_EXCEPTION(zerr::ZSTR0021_LOADER_PARSING_ERROR,
-                ERROR_PARAMS(ZED(ParserInitFailed))));
-
-      abortload();
-      return NULL;
-    }
-
-    // Initialize the parser input
-    input->filename = (const char*)(xmlCanonicPath((const xmlChar*)theDocUri.c_str()));
-    input->base = (xmlChar*)(theFragmentStream->theBuffer + theFragmentStream->current_offset);
-    input->cur = (xmlChar*)(theFragmentStream->theBuffer + theFragmentStream->current_offset);
-    input->length = theFragmentStream->buffer_size - theFragmentStream->current_offset;
-    input->end = input->base + input->length;
-    xmlPushInput(ctxt, input);
-
-    // Reset element_depth
-    element_depth = 0;
-
-    // Finally call the parser
-    if (xmlParseExtParsedEnt(ctxt)==-1)
-    {
-      theXQueryDiagnostics->
-      add_error(NEW_ZORBA_EXCEPTION(zerr::ZSTR0021_LOADER_PARSING_ERROR,
-                ERROR_PARAMS(ZED(ParserNoCreateTree))));
-
-      abortload();
-      return NULL;
-    }
+      // Allocate input buffer
+      theFragmentStream->theBuffer = new char[FragmentIStream::BUFFER_SIZE + FragmentIStream::LOOKAHEAD_BYTES+1];
+      theFragmentStream->theBuffer[FragmentIStream::BUFFER_SIZE + FragmentIStream::LOOKAHEAD_BYTES] = 0;
+
+      // Create the LibXml parser context
+      theFragmentStream->ctxt = xmlCreatePushParserCtxt(&theSaxHandler, this, NULL, 0, 0);
+      if (theFragmentStream->ctxt == NULL)
+      {
+        theXQueryDiagnostics->add_error(NEW_ZORBA_EXCEPTION(zerr::ZSTR0021_LOADER_PARSING_ERROR, ERROR_PARAMS( ZED( ParserInitFailed ) )));
+        throw 0; // the argument to throw is not used by the catch clause
+      }
+
+      // Apply parser options
+      applyLoadOptions(theLoadProperties, theFragmentStream->ctxt);
+
+      // Delete the initial empty input stream
+      xmlFreeInputStream(inputPop(theFragmentStream->ctxt));
+
+      // Create the LibXml parser input
+      xmlParserInputPtr input = xmlNewInputStream(theFragmentStream->ctxt);
+      if (input == NULL)
+      {
+        theXQueryDiagnostics->add_error(NEW_ZORBA_EXCEPTION(zerr::ZSTR0021_LOADER_PARSING_ERROR, ERROR_PARAMS( ZED( ParserInitFailed ) )));
+        throw 0; // the argument to throw is not used by the catch clause
+      }
+
+      // Initialize the parser input (only filename and the pointer to the current char)
+      theFragmentStream->theBuffer[0] = ' '; // This assignment is needed for LibXml2-2.7.6, which tries to read the buffer when xmlPushInput() is called
+      input->cur = (xmlChar*)(theFragmentStream->theBuffer);
+      input->filename = (const char*)(xmlCanonicPath((const xmlChar*)theDocUri.c_str()));
+      xmlPushInput(theFragmentStream->ctxt, input);
+    }
+
+    theFragmentStream->ctxt->userData = this;    // the loader has changed, update the address
+    theFragmentStream->ctxt->disableSAX = false; // xmlStopParser() sets disableSAX to true
+    theFragmentStream->parsed_nodes_count = 0;
+    theFragmentStream->forced_parser_stop = false;
+
+    if ( ! theFragmentStream->first_start_doc)
+    {
+      theFragmentStream->ctxt->instate = XML_PARSER_CONTENT;
+      FragmentXmlLoader::startDocument(theFragmentStream->ctxt->userData);
+    }
+
+    while ( ! theFragmentStream->forced_parser_stop && fillBuffer(theFragmentStream))
+    {
+      // std::cerr << "\n==================\n--> skip_root: " << theFragmentStream->root_elements_to_skip << " current_depth: " << theFragmentStream->current_element_depth << " about to parse: [" << theFragmentStream->ctxt->input->cur << "] " << std::endl;
+
+      // This case needs to be handled here, otherwise LibXml2 will segfault
+      if (theFragmentStream->ctxt->input->cur[0] == '<' &&
+          theFragmentStream->ctxt->input->cur[1] == '/' &&
+          theFragmentStream->current_element_depth == 0)
+      {
+        theXQueryDiagnostics->add_error(theDocUri.empty() ?
+              NEW_ZORBA_EXCEPTION(zerr::ZSTR0021_LOADER_PARSING_ERROR, ERROR_PARAMS( ZED( BadXMLNoOpeningTag ))) :
+              NEW_ZORBA_EXCEPTION(zerr::ZSTR0021_LOADER_PARSING_ERROR, ERROR_PARAMS( ZED( BadXMLNoOpeningTag ), theDocUri))
+            );
+        throw 0; // the argument to throw is not used by the catch clause
+      }
+
+      xmlParseChunk(theFragmentStream->ctxt, (const char*)theFragmentStream->ctxt->input->cur,
+                    theFragmentStream->ctxt->input->length, 0);
+
+      if (theFragmentStream->ctxt->input->base == (xmlChar*)(theFragmentStream->theBuffer)
+          &&
+          theFragmentStream->current_offset < getCurrentInputOffset())
+        theFragmentStream->current_offset = getCurrentInputOffset();
+
+      // If we didn't get an error and we haven't moved, we might have some freestanding text. Parse it as element character data.
+      if (theXQueryDiagnostics->errors().empty()
+          &&
+          theFragmentStream->current_offset == 0)
+      {
+        // The input has been reset by xmlStopParser()
+        theFragmentStream->ctxt->input->base = (xmlChar*)(theFragmentStream->theBuffer);
+        theFragmentStream->ctxt->input->cur = theFragmentStream->ctxt->input->base;
+        xmlParseCharData(theFragmentStream->ctxt, 0);
+      }
+
+      if ( ! theXQueryDiagnostics->errors().empty())
+        throw 0; // the argument to throw is not used by the catch clause
+    }
+
+    // this happens when there are tags that have not been closed
+    if (theFragmentStream->stream_is_consumed()
+        &&
+        theFragmentStream->current_element_depth > 0)
+    {
+      theXQueryDiagnostics->add_error(theDocUri.empty() ?
+          NEW_ZORBA_EXCEPTION(zerr::ZSTR0021_LOADER_PARSING_ERROR, ERROR_PARAMS( ZED( BadXMLDocument_2o ))) :
+          NEW_ZORBA_EXCEPTION(zerr::ZSTR0021_LOADER_PARSING_ERROR, ERROR_PARAMS( ZED( BadXMLDocument_2o ), theDocUri))
+        );
+      throw 0;
+    }
+
+    FragmentXmlLoader::endDocument(theFragmentStream->ctxt->userData); // this would not be called otherwise
   }
   catch (...)
   {
@@ -228,49 +317,36 @@
     return NULL;
   }
 
-  bool ok = ctxt->wellFormed != 0;
-
   // The doc may be well formed, but it may have other kinds of errors, e.g., unresolved ns prefixes.
   if (!theXQueryDiagnostics->errors().empty())
   {
     abortload();
     return NULL;
   }
-  else if (!ok )
+  else if ( ! theFragmentStream->ctxt->wellFormed)
   {
-    if (!theDocUri.empty())
-    {
-      theXQueryDiagnostics->
-      add_error(NEW_ZORBA_EXCEPTION(zerr::ZSTR0021_LOADER_PARSING_ERROR, 
-                ERROR_PARAMS(ZED(BadXMLDocument_2o), theDocUri)));
-    }
-    else
-    {
-      theXQueryDiagnostics->
-      add_error(NEW_ZORBA_EXCEPTION(zerr::ZSTR0021_LOADER_PARSING_ERROR, 
-                ERROR_PARAMS(ZED(BadXMLDocument_2o))));
-    }
+    theXQueryDiagnostics->add_error(theDocUri.empty() ?
+          NEW_ZORBA_EXCEPTION(zerr::ZSTR0021_LOADER_PARSING_ERROR, ERROR_PARAMS( ZED( BadXMLDocument_2o ))) :
+          NEW_ZORBA_EXCEPTION(zerr::ZSTR0021_LOADER_PARSING_ERROR, ERROR_PARAMS( ZED( BadXMLDocument_2o ), theDocUri))
+        );
     abortload();
     return NULL;
   }
-  else if ( ctxt->lastError.code != XML_ERR_OK )
+  else if (theFragmentStream->ctxt->lastError.code != XML_ERR_OK)
   {
-    if ( ctxt->lastError.code == XML_NS_ERR_UNDEFINED_NAMESPACE ||
-        ctxt->lastError.code != XML_ERR_NO_DTD )
+    if (theFragmentStream->ctxt->lastError.code == XML_NS_ERR_UNDEFINED_NAMESPACE
+        ||
+        theFragmentStream->ctxt->lastError.code != XML_ERR_NO_DTD )
     {
-      theXQueryDiagnostics->
-      add_error(NEW_ZORBA_EXCEPTION(zerr::ZSTR0021_LOADER_PARSING_ERROR, 
-                ERROR_PARAMS(ZED(BadXMLDocument_2o))));
-
+      theXQueryDiagnostics->add_error(theDocUri.empty() ?
+          NEW_ZORBA_EXCEPTION(zerr::ZSTR0021_LOADER_PARSING_ERROR, ERROR_PARAMS( ZED( BadXMLDocument_2o ))) :
+          NEW_ZORBA_EXCEPTION(zerr::ZSTR0021_LOADER_PARSING_ERROR, ERROR_PARAMS( ZED( BadXMLDocument_2o ), theDocUri))
+        );
       abortload();
       return NULL;
     }
   }
 
-  xmlCtxtReset(ctxt);
-  xmlFreeParserCtxt(ctxt);
-  ctxt = NULL;
-
   thePathStack.pop();
   assert(thePathStack.empty());
 
@@ -280,23 +356,59 @@
   return resultNode;
 }
 
-
-void FragmentXmlLoader::checkStopParsing(void* ctx)
-{
-  FragmentXmlLoader& loader = *(static_cast<FragmentXmlLoader*>(ctx));
-  ZORBA_LOADER_CHECK_ERROR(loader);
-
-  if (loader.element_depth == 0)
-  {
-    /* if (loader.ctxt->inputNr <= 1)
-      loader.theFragmentStream->current_offset = loader.theFragmentStream->buffer_size;
-    else */
-      loader.theFragmentStream->current_offset += (loader.ctxt->input->cur - loader.ctxt->input->base)
-          + loader.ctxt->input->consumed;
-    xmlStopParser(loader.ctxt);
-  }
-}
-
+unsigned long FragmentXmlLoader::getCurrentInputOffset() const
+{
+  unsigned long offset = theFragmentStream->ctxt->input->cur
+      - theFragmentStream->ctxt->input->base
+      + theFragmentStream->ctxt->input->consumed;
+
+  return offset;
+}
+
+void FragmentXmlLoader::checkStopParsing(void* ctx, bool force)
+{
+  FragmentXmlLoader& loader = *(static_cast<FragmentXmlLoader*>(ctx));
+  ZORBA_LOADER_CHECK_ERROR(loader);
+
+  unsigned long offset = loader.getCurrentInputOffset();
+
+  if (force
+      ||
+      loader.theFragmentStream->current_element_depth == 0
+      ||
+      (offset >= loader.theFragmentStream->bytes_in_buffer
+          &&
+          loader.theFragmentStream->reached_eof)
+      ||
+      (loader.theFragmentStream->current_element_depth <= loader.theFragmentStream->root_elements_to_skip
+          &&
+          loader.theFragmentStream->parsed_nodes_count >= FragmentIStream::PARSED_NODES_BATCH_SIZE))
+  {
+    loader.theFragmentStream->current_offset = offset;
+    xmlStopParser(loader.theFragmentStream->ctxt);
+    loader.theFragmentStream->ctxt->errNo = XML_SCHEMAV_MISC; // fake error to force stopping
+    loader.theFragmentStream->forced_parser_stop = true;
+  }
+
+  loader.theFragmentStream->parsed_nodes_count++;
+}
+
+void FragmentXmlLoader::startDocument(void * ctx)
+{
+  FragmentXmlLoader& loader = *(static_cast<FragmentXmlLoader*>(ctx));
+  ZORBA_LOADER_CHECK_ERROR(loader);
+  FastXmlLoader::startDocument(ctx);
+  if (loader.theFragmentStream->first_start_doc)
+  {
+    loader.theFragmentStream->first_start_doc = false;
+    FragmentXmlLoader::checkStopParsing(ctx, true);
+  }
+}
+
+void FragmentXmlLoader::endDocument(void * ctx)
+{
+  FastXmlLoader::endDocument(ctx);
+}
 
 void FragmentXmlLoader::startElement(
     void * ctx,
@@ -309,27 +421,34 @@
     int nb_defaulted,
     const xmlChar ** attributes)
 {
-  FastXmlLoader::startElement(ctx, localname, prefix, URI, nb_namespaces, namespaces, nb_attributes, nb_defaulted, attributes);
-
   FragmentXmlLoader& loader = *(static_cast<FragmentXmlLoader*>(ctx));
   ZORBA_LOADER_CHECK_ERROR(loader);
-  loader.element_depth++;
+  loader.theFragmentStream->current_element_depth++;
+  if (loader.theFragmentStream->current_element_depth > loader.theFragmentStream->root_elements_to_skip)
+  {
+    const xmlChar** nsTab = namespaces;
+
+    if (loader.theFragmentStream->current_element_depth == loader.theFragmentStream->root_elements_to_skip + 1)
+    {
+      nsTab = loader.theFragmentStream->ctxt->nsTab;
+      nb_namespaces = loader.theFragmentStream->ctxt->nsNr/2;
+    }
+
+    FastXmlLoader::startElement(ctx, localname, prefix, URI, nb_namespaces, nsTab, nb_attributes, nb_defaulted, attributes);
+  }
 }
 
-
 void FragmentXmlLoader::endElement(
     void * ctx,
     const xmlChar * localname,
     const xmlChar * prefix,
     const xmlChar * URI)
 {
-  FastXmlLoader::endElement(ctx, localname, prefix, URI);
-
   FragmentXmlLoader& loader = *(static_cast<FragmentXmlLoader*>(ctx));
   ZORBA_LOADER_CHECK_ERROR(loader);
-
-  loader.element_depth--;
-
+  if (loader.theFragmentStream->current_element_depth > loader.theFragmentStream->root_elements_to_skip)
+    FastXmlLoader::endElement(ctx, localname, prefix, URI);
+  loader.theFragmentStream->current_element_depth--;
   checkStopParsing(ctx);
 }
 
@@ -338,7 +457,10 @@
     const xmlChar * ch,
     int len)
 {
-  FastXmlLoader::characters(ctx, ch, len);
+  FragmentXmlLoader& loader = *(static_cast<FragmentXmlLoader*>(ctx));
+  ZORBA_LOADER_CHECK_ERROR(loader);
+  if (loader.theFragmentStream->current_element_depth >= loader.theFragmentStream->root_elements_to_skip)
+    FastXmlLoader::characters(ctx, ch, len);
   checkStopParsing(ctx);
 }
 
@@ -347,7 +469,10 @@
     void * ctx,
     const xmlChar * value)
 {
-  FastXmlLoader::comment(ctx, value);
+  FragmentXmlLoader& loader = *(static_cast<FragmentXmlLoader*>(ctx));
+  ZORBA_LOADER_CHECK_ERROR(loader);
+  if (loader.theFragmentStream->current_element_depth >= loader.theFragmentStream->root_elements_to_skip)
+    FastXmlLoader::comment(ctx, value);
   checkStopParsing(ctx);
 }
 
@@ -357,7 +482,10 @@
     const xmlChar * value,
     int len)
 {
-  FastXmlLoader::cdataBlock(ctx, value, len);
+  FragmentXmlLoader& loader = *(static_cast<FragmentXmlLoader*>(ctx));
+  ZORBA_LOADER_CHECK_ERROR(loader);
+  if (loader.theFragmentStream->current_element_depth >= loader.theFragmentStream->root_elements_to_skip)
+    FastXmlLoader::cdataBlock(ctx, value, len);
   checkStopParsing(ctx);
 }
 
@@ -367,7 +495,10 @@
     const xmlChar * target,
     const xmlChar * data)
 {
-  FastXmlLoader::processingInstruction(ctx, target, data);
+  FragmentXmlLoader& loader = *(static_cast<FragmentXmlLoader*>(ctx));
+  ZORBA_LOADER_CHECK_ERROR(loader);
+  if (loader.theFragmentStream->current_element_depth >= loader.theFragmentStream->root_elements_to_skip)
+    FastXmlLoader::processingInstruction(ctx, target, data);
   checkStopParsing(ctx);
 }
 
@@ -378,14 +509,13 @@
 DtdXmlLoader::DtdXmlLoader(
     BasicItemFactory* factory,
     XQueryDiagnostics* xqueryDiagnostics,
-    bool dataguide,
-    bool parseExtParsedEntity)
+    const store::LoadProperties& loadProperties,
+    bool dataguide)
   :
-  XmlLoader(factory, xqueryDiagnostics, dataguide),
+  XmlLoader(factory, xqueryDiagnostics, loadProperties, dataguide),
   theTree(NULL),
   theRootNode(NULL),
-  theNodeStack(2048),
-  theParseExtParsedEntity(parseExtParsedEntity)
+  theNodeStack(2048)
 {
   theOrdPath.init();
 
@@ -511,10 +641,7 @@
   Return the number of bytes actually read, throw an exception if any I/O
   error occured.
 ********************************************************************************/
-std::streamsize DtdXmlLoader::readPacket(
-    std::istream& stream,
-    char* buf,
-    std::streamoff size)
+std::streamsize DtdXmlLoader::readPacket(std::istream& stream, char* buf, std::streamoff size)
 {
   try
   {
@@ -626,23 +753,26 @@
     }
 
     // Set the LibXml DTD validation options
+    /*
     int options = XML_PARSE_COMPACT;
     options |= XML_PARSE_DTDVALID;
     options |= XML_PARSE_DTDLOAD;
+    */
     //options |= XML_PARSE_SAX1;
     //xmlSAXDefaultVersion(1);
 
+    // xmlCtxtUseOptions(ctxt, options);
+
     xmlLoadExtDtdDefaultValue |= XML_DETECT_IDS;
     xmlLoadExtDtdDefaultValue |= XML_COMPLETE_ATTRS;
 
-    xmlCtxtUseOptions(ctxt, options);
+    // Apply loader options
+    applyLoadOptions(theLoadProperties, ctxt);
 
     if ( xmlParseDocument(ctxt)==-1 )
     {
       // std::cout << "  xmlParseDocument: Error: Unable to create tree: " << ctxt->lastError.message << std::endl;
-      theXQueryDiagnostics->
-      add_error(NEW_ZORBA_EXCEPTION(zerr::ZSTR0021_LOADER_PARSING_ERROR,
-                ERROR_PARAMS(ZED(ParserNoCreateTree))));
+      theXQueryDiagnostics->add_error(NEW_ZORBA_EXCEPTION(zerr::ZSTR0021_LOADER_PARSING_ERROR,ERROR_PARAMS( ZED( ParserNoCreateTree ) )));
       abortload();
       return NULL;
     }
@@ -667,15 +797,21 @@
   {
     if (!theDocUri.empty())
     {
-      theXQueryDiagnostics->
-      add_error(NEW_ZORBA_EXCEPTION(zerr::ZSTR0021_LOADER_PARSING_ERROR,
-                ERROR_PARAMS(ZED(BadXMLDocument_2o), theDocUri)));
+      theXQueryDiagnostics->add_error(
+        NEW_ZORBA_EXCEPTION(
+          zerr::ZSTR0021_LOADER_PARSING_ERROR,
+          ERROR_PARAMS( ZED( BadXMLDocument_2o ), theDocUri )
+        )
+      );
     }
     else
     {
-      theXQueryDiagnostics->
-      add_error(NEW_ZORBA_EXCEPTION(zerr::ZSTR0021_LOADER_PARSING_ERROR,
-                ERROR_PARAMS(ZED(BadXMLDocument_2o))));
+      theXQueryDiagnostics->add_error(
+        NEW_ZORBA_EXCEPTION(
+          zerr::ZSTR0021_LOADER_PARSING_ERROR,
+          ERROR_PARAMS( ZED( BadXMLDocument_2o ) )
+        )
+      );
     }
 
     abortload();
@@ -691,9 +827,12 @@
     if ( ctxt->lastError.code == XML_NS_ERR_UNDEFINED_NAMESPACE ||
         ctxt->lastError.code != XML_ERR_NO_DTD )
     {
-      theXQueryDiagnostics->
-      add_error(NEW_ZORBA_EXCEPTION(zerr::ZSTR0021_LOADER_PARSING_ERROR,
-                ERROR_PARAMS(ZED(BadXMLDocument_2o))));
+      theXQueryDiagnostics->add_error(
+        NEW_ZORBA_EXCEPTION(
+          zerr::ZSTR0021_LOADER_PARSING_ERROR,
+          ERROR_PARAMS( ZED( BadXMLDocument_2o ) )
+        )
+      );
       abortload();
       return NULL;
 
@@ -704,10 +843,12 @@
   xmlDoc *doc = ctxt->myDoc;
   if (doc == NULL)
   {
-    theXQueryDiagnostics->
-    add_error(NEW_ZORBA_EXCEPTION(zerr::ZSTR0021_LOADER_PARSING_ERROR,
-              ERROR_PARAMS(ZED(ParserNoCreateTree))));
-
+    theXQueryDiagnostics->add_error(
+      NEW_ZORBA_EXCEPTION(
+        zerr::ZSTR0021_LOADER_PARSING_ERROR,
+        ERROR_PARAMS( ZED( ParserNoCreateTree ) )
+      )
+    );
     abortload();
     return NULL;
   }
@@ -859,8 +1000,9 @@
   }
   catch (...)
   {
-    loader.theXQueryDiagnostics->
-    add_error(NEW_ZORBA_EXCEPTION(zerr::ZXQP0003_INTERNAL_ERROR));
+    loader.theXQueryDiagnostics->add_error(
+      NEW_ZORBA_EXCEPTION( zerr::ZXQP0003_INTERNAL_ERROR )
+    );
   }
 }
 

=== modified file 'src/store/naive/loader_fast.cpp'
--- src/store/naive/loader_fast.cpp	2012-02-15 10:25:02 +0000
+++ src/store/naive/loader_fast.cpp	2012-02-23 17:28:26 +0000
@@ -76,9 +76,10 @@
 FastXmlLoader::FastXmlLoader(
     BasicItemFactory* factory,
     XQueryDiagnostics* xqueryDiagnostics,
+    const store::LoadProperties& loadProperties,
     bool dataguide)
   :
-  XmlLoader(factory, xqueryDiagnostics, dataguide),
+  XmlLoader(factory, xqueryDiagnostics, loadProperties, dataguide),
   theTree(NULL),
   theRootNode(NULL),
   theNodeStack(2048)
@@ -298,6 +299,9 @@
                                    static_cast<int>(numChars),
                                    docUri.c_str());
 
+    // Apply loader options
+    applyLoadOptions(theLoadProperties, ctxt);
+
     if (ctxt == NULL)
     {
       theXQueryDiagnostics->

=== modified file 'src/store/naive/simple_store.cpp'
--- src/store/naive/simple_store.cpp	2012-02-15 10:25:02 +0000
+++ src/store/naive/simple_store.cpp	2012-02-23 17:28:26 +0000
@@ -350,7 +350,7 @@
         std::cerr << "Reference: " << (*iter).second
                   << "is still in the nodes to references map" << std::endl;
       }
-      ZORBA_FATAL(0, theNodeToReferencesMap.size() + 
+      ZORBA_FATAL(0, theNodeToReferencesMap.size() +
                      " node references still in the nodes to references map");
     }
 
@@ -360,7 +360,7 @@
       RefNodeMap::iterator end = theReferencesToNodeMap.end();
       for (; iter != end; ++iter)
       {
-        std::cerr << "Reference: " << (*iter).first 
+        std::cerr << "Reference: " << (*iter).first
                   << "is still in the references to nodes map" << std::endl;
       }
       ZORBA_FATAL(0, theReferencesToNodeMap.size() +
@@ -486,18 +486,20 @@
 XmlLoader* SimpleStore::getXmlLoader(XQueryDiagnostics* aXQueryDiagnostics,
     const store::LoadProperties& loadProperties)
 {
-  if (loadProperties.getEnableExtParsedEntity())
+  if (loadProperties.getParseExternalParsedEntity())
     return new FragmentXmlLoader(theItemFactory,
                                  aXQueryDiagnostics,
+                                 loadProperties,
                                  store::Properties::instance()->buildDataguide());
-  else if (loadProperties.getEnableDtd())
+  else if (loadProperties.getDTDValidate())
     return new DtdXmlLoader(theItemFactory,
                             aXQueryDiagnostics,
-                            store::Properties::instance()->buildDataguide(),
-                            loadProperties.getEnableExtParsedEntity());
+                            loadProperties,
+                            store::Properties::instance()->buildDataguide());
   else
     return new FastXmlLoader(theItemFactory,
                              aXQueryDiagnostics,
+                             loadProperties,
                              store::Properties::instance()->buildDataguide());
 }
 
@@ -983,7 +985,7 @@
     return NULL;
 
   store::Collection_t collection;
-  if (theCollections->get(aName, collection, aDynamicCollection)) 
+  if (theCollections->get(aName, collection, aDynamicCollection))
   {
     return collection;
   }
@@ -1311,7 +1313,7 @@
   Computes the Structural Reference for the given node.
 ********************************************************************************/
 bool SimpleStore::getStructuralInformation(
-    store::Item_t& result, 
+    store::Item_t& result,
     const store::Item* node)
 {
 #ifdef TEXT_ORDPATH
@@ -1351,7 +1353,7 @@
 
 /*******************************************************************************
  Computes the reference of the given node.
- 
+
  @param node XDM node
  @return the identifier as an item of type xs:anyURI
 ********************************************************************************/
@@ -1384,7 +1386,7 @@
 
 /*******************************************************************************
   Returns the node which is identified by the given reference.
- 
+
   @param reference an xs:anyURI item
   @result the node identified by the reference, or NULL if no node with the given
           reference exists
@@ -1413,7 +1415,7 @@
 
 /*******************************************************************************
   Returns whether a reference has already been generated for the given node.
- 
+
   @param item XDM node
   @return whether a reference has already been generated for the given node.
 ********************************************************************************/
@@ -1425,7 +1427,7 @@
 
 /*******************************************************************************
   Removes a node from the reference-to-nodes and nodes-to-references maps.
- 
+
   @param node XDM node
   @return whether the node was registered or not.
 ********************************************************************************/

=== modified file 'src/types/typeimpl.cpp'
--- src/types/typeimpl.cpp	2012-01-10 10:52:15 +0000
+++ src/types/typeimpl.cpp	2012-02-23 17:28:26 +0000
@@ -361,7 +361,7 @@
 
 
 bool NodeXQType::is_subtype(
-    const TypeManager* tm, 
+    const TypeManager* tm,
     const NodeXQType& supertype,
     const QueryLoc& loc) const
 {
@@ -443,7 +443,7 @@
 
 
 bool NodeXQType::is_supertype(
-    const TypeManager* tm, 
+    const TypeManager* tm,
     const store::Item* subitem,
     const QueryLoc& loc) const
 {
@@ -488,14 +488,30 @@
     }
   }
 
-  if (m_node_kind != store::StoreConsts::elementNode && 
-      m_node_kind != store::StoreConsts::attributeNode)
+  // document-node( E ) matches any document node that contains exactly one element
+  // node, optionally accompanied by one or more comment and processing instruction
+  // nodes, if E is an ElementTest or SchemaElementTest that matches the element node.
+  bool is_element_test = (
+      m_node_kind == store::StoreConsts::documentNode &&
+      m_content_type != NULL &&
+      m_content_type->type_kind() == XQType::NODE_TYPE_KIND &&
+      dynamic_cast<const NodeXQType*>(m_content_type.getp())->m_schema_test == false);
+
+  if (m_node_kind != store::StoreConsts::elementNode &&
+      m_node_kind != store::StoreConsts::attributeNode &&
+      !is_element_test)
     return true;
 
   if (m_content_type == NULL ||
       m_content_type->type_kind() == XQType::ANY_TYPE_KIND)
     return true;
 
+  if (is_element_test)
+  {
+    xqtref_t documentNodeType = tm->create_value_type(subitem, loc);
+    return TypeOps::is_subtype(tm, *documentNodeType, *this);
+  }
+
   xqtref_t subContentType = tm->create_named_type(subitem->getType(),
                                                   TypeConstants::QUANT_ONE,
                                                   loc,

=== added file 'test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-01.xml.res'
--- test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-01.xml.res	1970-01-01 00:00:00 +0000
+++ test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-01.xml.res	2012-02-23 17:28:26 +0000
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<from1>Jani</from1>
\ No newline at end of file

=== added file 'test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-02.xml.res'
--- test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-02.xml.res	1970-01-01 00:00:00 +0000
+++ test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-02.xml.res	2012-02-23 17:28:26 +0000
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+  <from1>Jani1</from1>
+  <from2>Jani2</from2>
+  <from3>Jani3</from3>
+

=== added file 'test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-03.xml.res'
--- test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-03.xml.res	1970-01-01 00:00:00 +0000
+++ test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-03.xml.res	2012-02-23 17:28:26 +0000
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+Jani1Jani2Jani3

=== added file 'test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-04.xml.res'
--- test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-04.xml.res	1970-01-01 00:00:00 +0000
+++ test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-04.xml.res	2012-02-23 17:28:26 +0000
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<root>
+  <root2>
+    <from1>Jani1</from1>
+  </root2>
+  <root2>
+    <from2>Jani2</from2>
+  </root2>
+  <root2>
+    <from3>Jani3</from3>
+  </root2>
+</root>

=== added file 'test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-05.xml.res'
--- test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-05.xml.res	1970-01-01 00:00:00 +0000
+++ test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-05.xml.res	2012-02-23 17:28:26 +0000
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+  <root2>
+    <from1>Jani1</from1>
+  </root2>
+  <root2>
+    <from2>Jani2</from2>
+  </root2>
+  <root2>
+    <from3>Jani3</from3>
+  </root2>
+

=== added file 'test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-06.xml.res'
--- test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-06.xml.res	1970-01-01 00:00:00 +0000
+++ test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-06.xml.res	2012-02-23 17:28:26 +0000
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+    <from1>Jani1</from1>
+  
+    <from2>Jani2</from2>
+  
+    <from3>Jani3</from3>
+  

=== added file 'test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-07.xml.res'
--- test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-07.xml.res	1970-01-01 00:00:00 +0000
+++ test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-07.xml.res	2012-02-23 17:28:26 +0000
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+Jani1Jani2Jani3

=== added file 'test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-08.xml.res'
--- test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-08.xml.res	1970-01-01 00:00:00 +0000
+++ test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-08.xml.res	2012-02-23 17:28:26 +0000
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<root><from1>Jani1</from1></root>

=== added file 'test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-09.xml.res'
--- test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-09.xml.res	1970-01-01 00:00:00 +0000
+++ test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-09.xml.res	2012-02-23 17:28:26 +0000
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<from1>Jani1</from1>

=== added file 'test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-10.xml.res'
--- test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-10.xml.res	1970-01-01 00:00:00 +0000
+++ test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-10.xml.res	2012-02-23 17:28:26 +0000
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+Jani1

=== added file 'test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-11.xml.res'
--- test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-11.xml.res	1970-01-01 00:00:00 +0000
+++ test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-11.xml.res	2012-02-23 17:28:26 +0000
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+

=== added file 'test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-12.xml.res'
--- test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-12.xml.res	1970-01-01 00:00:00 +0000
+++ test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-12.xml.res	2012-02-23 17:28:26 +0000
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+Jani1

=== added file 'test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-13.xml.res'
--- test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-13.xml.res	1970-01-01 00:00:00 +0000
+++ test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-13.xml.res	2012-02-23 17:28:26 +0000
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<from1>Jani1</from1>

=== added file 'test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-14.xml.res'
--- test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-14.xml.res	1970-01-01 00:00:00 +0000
+++ test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-14.xml.res	2012-02-23 17:28:26 +0000
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+Jani1

=== added file 'test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-15.xml.res'
--- test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-15.xml.res	1970-01-01 00:00:00 +0000
+++ test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-15.xml.res	2012-02-23 17:28:26 +0000
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+Jani1

=== added file 'test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-16.xml.res'
--- test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-16.xml.res	1970-01-01 00:00:00 +0000
+++ test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-16.xml.res	2012-02-23 17:28:26 +0000
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+Jani1

=== added file 'test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-17.xml.res'
--- test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-17.xml.res	1970-01-01 00:00:00 +0000
+++ test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-17.xml.res	2012-02-23 17:28:26 +0000
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+root3 text<from1>Jani1</from1>

=== added file 'test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-18.xml.res'
--- test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-18.xml.res	1970-01-01 00:00:00 +0000
+++ test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-18.xml.res	2012-02-23 17:28:26 +0000
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+Jani1

=== added file 'test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-19.xml.res'
--- test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-19.xml.res	1970-01-01 00:00:00 +0000
+++ test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-19.xml.res	2012-02-23 17:28:26 +0000
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<level1>
+  <level2>
+    <level3>
+      <level4>level4 text</level4>
+    </level3>
+  </level2>
+</level1>

=== added file 'test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-20.xml.res'
--- test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-20.xml.res	1970-01-01 00:00:00 +0000
+++ test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-20.xml.res	2012-02-23 17:28:26 +0000
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+  <level2>
+    <level3>
+      <level4>level4 text</level4>
+    </level3>
+  </level2>
+

=== added file 'test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-21.xml.res'
--- test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-21.xml.res	1970-01-01 00:00:00 +0000
+++ test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-21.xml.res	2012-02-23 17:28:26 +0000
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+    <level3>
+      <level4>level4 text</level4>
+    </level3>
+  

=== added file 'test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-22.xml.res'
--- test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-22.xml.res	1970-01-01 00:00:00 +0000
+++ test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-22.xml.res	2012-02-23 17:28:26 +0000
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+      <level4>level4 text</level4>
+    

=== added file 'test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-23.xml.res'
--- test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-23.xml.res	1970-01-01 00:00:00 +0000
+++ test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-23.xml.res	2012-02-23 17:28:26 +0000
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+level4 text

=== added file 'test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-24.xml.res'
--- test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-24.xml.res	1970-01-01 00:00:00 +0000
+++ test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-24.xml.res	2012-02-23 17:28:26 +0000
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+      <level4>level4 text</level4>
+      level3 end
+    

=== added file 'test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-25.xml.res'
--- test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-25.xml.res	1970-01-01 00:00:00 +0000
+++ test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-25.xml.res	2012-02-23 17:28:26 +0000
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<level1>
+  level1 text start
+  <level2>
+    level2 text start
+    <level3>
+      level3 text start
+      <level4>level4 text</level4>
+      level3 text end
+    </level3>
+    level2 text end
+  </level2>
+  level1 text end
+</level1>

=== added file 'test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-26.xml.res'
--- test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-26.xml.res	1970-01-01 00:00:00 +0000
+++ test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-26.xml.res	2012-02-23 17:28:26 +0000
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+  level1 text start
+  <level2>
+    level2 text start
+    <level3>
+      level3 text start
+      <level4>level4 text</level4>
+      level3 text end
+    </level3>
+    level2 text end
+  </level2>
+  level1 text end
+

=== added file 'test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-27.xml.res'
--- test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-27.xml.res	1970-01-01 00:00:00 +0000
+++ test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-27.xml.res	2012-02-23 17:28:26 +0000
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+    level2 text start
+    <level3>
+      level3 text start
+      <level4>level4 text</level4>
+      level3 text end
+    </level3>
+    level2 text end
+  

=== added file 'test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-28.xml.res'
--- test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-28.xml.res	1970-01-01 00:00:00 +0000
+++ test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-28.xml.res	2012-02-23 17:28:26 +0000
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+      level3 text start
+      <level4>level4 text</level4>
+      level3 text end
+    

=== added file 'test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-29.xml.res'
--- test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-29.xml.res	1970-01-01 00:00:00 +0000
+++ test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-29.xml.res	2012-02-23 17:28:26 +0000
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+level4 text

=== added file 'test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-30.xml.res'
--- test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-30.xml.res	1970-01-01 00:00:00 +0000
+++ test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-30.xml.res	2012-02-23 17:28:26 +0000
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+

=== added file 'test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-31.xml.res'
--- test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-31.xml.res	1970-01-01 00:00:00 +0000
+++ test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-31.xml.res	2012-02-23 17:28:26 +0000
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+level0 text
+<level1>
+  level1 text start
+  <level2>
+    level2 text start
+    <level3>
+      level3 text start
+      <level4>level4 text</level4>
+      level3 text end
+    </level3>
+    level2 text end
+  </level2>
+  level1 text end
+</level1>
+level0 text
+<level1>
+  level1 text start
+  <level2>
+    level2 text start
+    <level3>
+      level3 text start
+      <level4>level4 text</level4>
+      level3 text end
+    </level3>
+    level2 text end
+  </level2>
+  level1 text end
+</level1>
+level0 text
+<level1>
+  level1 text start
+  <level2>
+    level2 text start
+    <level3>
+      level3 text start
+      <level4>level4 text</level4>
+      level3 text end
+    </level3>
+    level2 text end
+  </level2>
+  level1 text end
+</level1>
+level0 text
+<level1>
+  level1 text start
+  <level2>
+    level2 text start
+    <level3>
+      level3 text start
+      <level4>level4 text</level4>
+      level3 text end
+    </level3>
+    level2 text end
+  </level2>
+  level1 text end
+</level1>
+level0 text

=== added file 'test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-32.xml.res'
--- test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-32.xml.res	1970-01-01 00:00:00 +0000
+++ test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-32.xml.res	2012-02-23 17:28:26 +0000
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+  level1 text start
+  <level2>
+    level2 text start
+    <level3>
+      level3 text start
+      <level4>level4 text</level4>
+      level3 text end
+    </level3>
+    level2 text end
+  </level2>
+  level1 text end
+
+  level1 text start
+  <level2>
+    level2 text start
+    <level3>
+      level3 text start
+      <level4>level4 text</level4>
+      level3 text end
+    </level3>
+    level2 text end
+  </level2>
+  level1 text end
+
+  level1 text start
+  <level2>
+    level2 text start
+    <level3>
+      level3 text start
+      <level4>level4 text</level4>
+      level3 text end
+    </level3>
+    level2 text end
+  </level2>
+  level1 text end
+
+  level1 text start
+  <level2>
+    level2 text start
+    <level3>
+      level3 text start
+      <level4>level4 text</level4>
+      level3 text end
+    </level3>
+    level2 text end
+  </level2>
+  level1 text end
+

=== added file 'test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-33.xml.res'
--- test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-33.xml.res	1970-01-01 00:00:00 +0000
+++ test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-33.xml.res	2012-02-23 17:28:26 +0000
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+    level2 text start
+    <level3>
+      level3 text start
+      <level4>level4 text</level4>
+      level3 text end
+    </level3>
+    level2 text end
+  
+    level2 text start
+    <level3>
+      level3 text start
+      <level4>level4 text</level4>
+      level3 text end
+    </level3>
+    level2 text end
+  
+    level2 text start
+    <level3>
+      level3 text start
+      <level4>level4 text</level4>
+      level3 text end
+    </level3>
+    level2 text end
+  
+    level2 text start
+    <level3>
+      level3 text start
+      <level4>level4 text</level4>
+      level3 text end
+    </level3>
+    level2 text end
+  

=== added file 'test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-34.xml.res'
--- test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-34.xml.res	1970-01-01 00:00:00 +0000
+++ test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-34.xml.res	2012-02-23 17:28:26 +0000
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+      level3 text start
+      <level4>level4 text</level4>
+      level3 text end
+    
+      level3 text start
+      <level4>level4 text</level4>
+      level3 text end
+    
+      level3 text start
+      <level4>level4 text</level4>
+      level3 text end
+    
+      level3 text start
+      <level4>level4 text</level4>
+      level3 text end
+    

=== added file 'test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-35.xml.res'
--- test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-35.xml.res	1970-01-01 00:00:00 +0000
+++ test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-35.xml.res	2012-02-23 17:28:26 +0000
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+level4 textlevel4 textlevel4 textlevel4 text

=== added file 'test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-36.xml.res'
--- test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-36.xml.res	1970-01-01 00:00:00 +0000
+++ test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-36.xml.res	2012-02-23 17:28:26 +0000
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+

=== added file 'test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-37.xml.res'
--- test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-37.xml.res	1970-01-01 00:00:00 +0000
+++ test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-37.xml.res	2012-02-23 17:28:26 +0000
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<doc>
+  <foo>0</foo>
+  <foo>1</foo>
+  <foo>2</foo>
+  <foo>3</foo>
+  <foo>4</foo>
+  <foo>5</foo>
+  <foo>6</foo>
+  <foo>7</foo>
+  <foo>8</foo>
+  <foo>9</foo>
+  <foo>10</foo>
+</doc>

=== added file 'test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-38.xml.res'
--- test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-38.xml.res	1970-01-01 00:00:00 +0000
+++ test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-38.xml.res	2012-02-23 17:28:26 +0000
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+  <foo>0</foo>
+  <foo>1</foo>
+  <foo>2</foo>
+  <foo>3</foo>
+  <foo>4</foo>
+  <foo>5</foo>
+  <foo>6</foo>
+  <foo>7</foo>
+  <foo>8</foo>
+  <foo>9</foo>
+  <foo>10</foo>
+

=== added file 'test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-39.xml.res'
--- test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-39.xml.res	1970-01-01 00:00:00 +0000
+++ test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-39.xml.res	2012-02-23 17:28:26 +0000
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+012345678910

=== added file 'test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-40.xml.res'
--- test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-40.xml.res	1970-01-01 00:00:00 +0000
+++ test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-40.xml.res	2012-02-23 17:28:26 +0000
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<n1:root xmlns:n1="ns" xmlns:m1="ms"><n2:root2 xmlns:n2="ns2" xmlns:m2="ms2"><n1:from1 xmlns:n3="ns3"><from2>Text from2</from2></n1:from1></n2:root2></n1:root>

=== added file 'test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-41.xml.res'
--- test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-41.xml.res	1970-01-01 00:00:00 +0000
+++ test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-41.xml.res	2012-02-23 17:28:26 +0000
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<n2:root2 xmlns:n1="ns" xmlns:m1="ms" xmlns:n2="ns2" xmlns:m2="ms2"><n1:from1 xmlns:n3="ns3"><from2>Text from2</from2></n1:from1></n2:root2>

=== added file 'test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-42.xml.res'
--- test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-42.xml.res	1970-01-01 00:00:00 +0000
+++ test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-42.xml.res	2012-02-23 17:28:26 +0000
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<n1:from1 xmlns:n1="ns" xmlns:m1="ms" xmlns:n2="ns2" xmlns:m2="ms2" xmlns:n3="ns3"><from2>Text from2</from2></n1:from1>
\ No newline at end of file

=== added file 'test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-43.xml.res'
--- test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-43.xml.res	1970-01-01 00:00:00 +0000
+++ test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-43.xml.res	2012-02-23 17:28:26 +0000
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<from2 xmlns:n1="ns" xmlns:m1="ms" xmlns:n2="ns2" xmlns:m2="ms2" xmlns:n3="ns3">Text from2</from2>
\ No newline at end of file

=== added file 'test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-44.xml.res'
--- test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-44.xml.res	1970-01-01 00:00:00 +0000
+++ test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-44.xml.res	2012-02-23 17:28:26 +0000
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+Text from2
\ No newline at end of file

=== added file 'test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-45.xml.res'
--- test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-45.xml.res	1970-01-01 00:00:00 +0000
+++ test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-45.xml.res	2012-02-23 17:28:26 +0000
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+

=== added file 'test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-46.xml.res'
--- test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-46.xml.res	1970-01-01 00:00:00 +0000
+++ test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-46.xml.res	2012-02-23 17:28:26 +0000
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+level0 text
+<level1/>
+level0 text
+<level1/>
+level0 text
+<level1/>
+level0 text
+<level1/>
+level0 text
+<level1/>
+level0 text
+<level1/>
+level0 text
+<level1/>
+level0 text
+<level1/>
+level0 text
+<level1/>
+level0 text
+<level1/>
+level0 text
+<level1/>
+level0 text
+<level1/>
+level0 text
+<level1/>
+level0 text
+<level1/>
+level0 text
\ No newline at end of file

=== added file 'test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-53.xml.res'
--- test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-53.xml.res	1970-01-01 00:00:00 +0000
+++ test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-53.xml.res	2012-02-23 17:28:26 +0000
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<mediawiki>
+  <page>
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+
+  </page>
+</mediawiki>
+

=== added file 'test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-54.xml.res'
--- test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-54.xml.res	1970-01-01 00:00:00 +0000
+++ test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-54.xml.res	2012-02-23 17:28:26 +0000
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+  <page>
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+
+  </page>
+

=== added file 'test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-55.xml.res'
--- test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-55.xml.res	1970-01-01 00:00:00 +0000
+++ test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-55.xml.res	2012-02-23 17:28:26 +0000
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<mediawiki>
+  <page>
+abababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
+
+  </page>
+</mediawiki>
+

=== added file 'test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-56.xml.res'
--- test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-56.xml.res	1970-01-01 00:00:00 +0000
+++ test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-56.xml.res	2012-02-23 17:28:26 +0000
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+  <page>
+abababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
+
+  </page>
+

=== modified file 'test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-xml-fragment-01.xml.res' (properties changed: +x to -x)
=== modified file 'test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-xml-fragment-03.xml.res' (properties changed: +x to -x)
=== modified file 'test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-xml-fragment-04.xml.res' (properties changed: +x to -x)
=== modified file 'test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-xml-fragment-05.xml.res' (properties changed: +x to -x)
=== modified file 'test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-xml-fragment-07.xml.res' (properties changed: +x to -x)
=== modified file 'test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-xml-fragment-10.xml.res' (properties changed: +x to -x)
=== modified file 'test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-xml-fragment-11.xml.res' (properties changed: +x to -x)
=== modified file 'test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-xml-fragment-12.xml.res' (properties changed: +x to -x)
--- test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-xml-fragment-12.xml.res	2011-07-15 16:39:51 +0000
+++ test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-xml-fragment-12.xml.res	2012-02-23 17:28:26 +0000
@@ -1,4 +1,4 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <fragment><from1>Jani</from1>
 <from2>Jani</from2>
-<from3>Jani</from3><count>5</count></fragment>
\ No newline at end of file
+<from3>Jani</from3><count>6</count></fragment>
\ No newline at end of file

=== modified file 'test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-xml-fragment-14.xml.res' (properties changed: +x to -x)
=== modified file 'test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-xml-fragment-15.xml.res' (properties changed: +x to -x)
=== renamed file 'test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-xml-fragment-18.xml.res' => 'test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-xml-fragment-16.xml.res'
=== added file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-01.xq'
--- test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-01.xq	1970-01-01 00:00:00 +0000
+++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-01.xq	2012-02-23 17:28:26 +0000
@@ -0,0 +1,8 @@
+import module namespace z = "http://www.zorba-xquery.com/modules/xml";;
+import schema namespace opt = "http://www.zorba-xquery.com/modules/xml-options";;
+
+z:parse("<?xml version='1.0'?><root><from1>Jani</from1></root>", 
+  <opt:options>
+    <opt:parse-external-parsed-entity opt:skip-root-nodes="1"/>
+  </opt:options>
+)

=== added file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-02.xq'
--- test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-02.xq	1970-01-01 00:00:00 +0000
+++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-02.xq	2012-02-23 17:28:26 +0000
@@ -0,0 +1,13 @@
+import module namespace z = "http://www.zorba-xquery.com/modules/xml";;
+import schema namespace opt = "http://www.zorba-xquery.com/modules/xml-options";; 
+
+z:parse("<?xml version='1.0'?>
+<root>
+  <from1>Jani1</from1>
+  <from2>Jani2</from2>
+  <from3>Jani3</from3>
+</root>", 
+  <opt:options>
+    <opt:parse-external-parsed-entity opt:skip-root-nodes="1"/>
+  </opt:options>
+)

=== added file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-03.xq'
--- test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-03.xq	1970-01-01 00:00:00 +0000
+++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-03.xq	2012-02-23 17:28:26 +0000
@@ -0,0 +1,13 @@
+import module namespace z = "http://www.zorba-xquery.com/modules/xml";;
+import schema namespace opt = "http://www.zorba-xquery.com/modules/xml-options";; 
+
+z:parse("<?xml version='1.0'?>
+<root>
+  <from1>Jani1</from1>
+  <from2>Jani2</from2>
+  <from3>Jani3</from3>
+</root>", 
+  <opt:options>
+    <opt:parse-external-parsed-entity opt:skip-root-nodes="2"/>
+  </opt:options>
+)

=== added file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-04.xq'
--- test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-04.xq	1970-01-01 00:00:00 +0000
+++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-04.xq	2012-02-23 17:28:26 +0000
@@ -0,0 +1,19 @@
+import module namespace z = "http://www.zorba-xquery.com/modules/xml";;
+import schema namespace opt = "http://www.zorba-xquery.com/modules/xml-options";; 
+
+z:parse("<?xml version='1.0'?>
+<root>
+  <root2>
+    <from1>Jani1</from1>
+  </root2>
+  <root2>
+    <from2>Jani2</from2>
+  </root2>
+  <root2>
+    <from3>Jani3</from3>
+  </root2>
+</root>", 
+  <opt:options>
+    <opt:parse-external-parsed-entity opt:skip-root-nodes="0"/>
+  </opt:options>
+)

=== added file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-05.xq'
--- test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-05.xq	1970-01-01 00:00:00 +0000
+++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-05.xq	2012-02-23 17:28:26 +0000
@@ -0,0 +1,19 @@
+import module namespace z = "http://www.zorba-xquery.com/modules/xml";;
+import schema namespace opt = "http://www.zorba-xquery.com/modules/xml-options";; 
+
+z:parse("<?xml version='1.0'?>
+<root>
+  <root2>
+    <from1>Jani1</from1>
+  </root2>
+  <root2>
+    <from2>Jani2</from2>
+  </root2>
+  <root2>
+    <from3>Jani3</from3>
+  </root2>
+</root>", 
+  <opt:options>
+    <opt:parse-external-parsed-entity opt:skip-root-nodes="1"/>
+  </opt:options>
+)

=== added file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-06.xq'
--- test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-06.xq	1970-01-01 00:00:00 +0000
+++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-06.xq	2012-02-23 17:28:26 +0000
@@ -0,0 +1,19 @@
+import module namespace z = "http://www.zorba-xquery.com/modules/xml";;
+import schema namespace opt = "http://www.zorba-xquery.com/modules/xml-options";; 
+
+z:parse("<?xml version='1.0'?>
+<root>
+  <root2>
+    <from1>Jani1</from1>
+  </root2>
+  <root2>
+    <from2>Jani2</from2>
+  </root2>
+  <root2>
+    <from3>Jani3</from3>
+  </root2>
+</root>", 
+  <opt:options>
+    <opt:parse-external-parsed-entity opt:skip-root-nodes="2"/>
+  </opt:options>
+)

=== added file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-07.xq'
--- test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-07.xq	1970-01-01 00:00:00 +0000
+++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-07.xq	2012-02-23 17:28:26 +0000
@@ -0,0 +1,19 @@
+import module namespace z = "http://www.zorba-xquery.com/modules/xml";;
+import schema namespace opt = "http://www.zorba-xquery.com/modules/xml-options";; 
+
+z:parse("<?xml version='1.0'?>
+<root>
+  <root2>
+    <from1>Jani1</from1>
+  </root2>
+  <root2>
+    <from2>Jani2</from2>
+  </root2>
+  <root2>
+    <from3>Jani3</from3>
+  </root2>
+</root>", 
+  <opt:options>
+    <opt:parse-external-parsed-entity opt:skip-root-nodes="3"/>
+  </opt:options>
+)

=== added file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-08.xq'
--- test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-08.xq	1970-01-01 00:00:00 +0000
+++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-08.xq	2012-02-23 17:28:26 +0000
@@ -0,0 +1,9 @@
+import module namespace z = "http://www.zorba-xquery.com/modules/xml";;
+import schema namespace opt = "http://www.zorba-xquery.com/modules/xml-options";; 
+
+z:parse("<?xml version='1.0'?>
+<root><from1>Jani1</from1></root>", 
+  <opt:options>
+    <opt:parse-external-parsed-entity opt:skip-root-nodes="0"/>
+  </opt:options>
+)

=== added file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-09.xq'
--- test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-09.xq	1970-01-01 00:00:00 +0000
+++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-09.xq	2012-02-23 17:28:26 +0000
@@ -0,0 +1,9 @@
+import module namespace z = "http://www.zorba-xquery.com/modules/xml";;
+import schema namespace opt = "http://www.zorba-xquery.com/modules/xml-options";; 
+
+z:parse("<?xml version='1.0'?>
+<root><from1>Jani1</from1></root>", 
+  <opt:options>
+    <opt:parse-external-parsed-entity opt:skip-root-nodes="1"/>
+  </opt:options>
+)

=== added file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-10.xq'
--- test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-10.xq	1970-01-01 00:00:00 +0000
+++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-10.xq	2012-02-23 17:28:26 +0000
@@ -0,0 +1,9 @@
+import module namespace z = "http://www.zorba-xquery.com/modules/xml";;
+import schema namespace opt = "http://www.zorba-xquery.com/modules/xml-options";; 
+
+z:parse("<?xml version='1.0'?>
+<root><from1>Jani1</from1></root>", 
+  <opt:options>
+    <opt:parse-external-parsed-entity opt:skip-root-nodes="2"/>
+  </opt:options>
+)

=== added file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-11.xq'
--- test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-11.xq	1970-01-01 00:00:00 +0000
+++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-11.xq	2012-02-23 17:28:26 +0000
@@ -0,0 +1,9 @@
+import module namespace z = "http://www.zorba-xquery.com/modules/xml";;
+import schema namespace opt = "http://www.zorba-xquery.com/modules/xml-options";; 
+
+z:parse("<?xml version='1.0'?>
+<root><from1>Jani1</from1></root>", 
+  <opt:options>
+    <opt:parse-external-parsed-entity opt:skip-root-nodes="3"/>
+  </opt:options>
+)

=== added file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-12.xq'
--- test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-12.xq	1970-01-01 00:00:00 +0000
+++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-12.xq	2012-02-23 17:28:26 +0000
@@ -0,0 +1,9 @@
+import module namespace z = "http://www.zorba-xquery.com/modules/xml";;
+import schema namespace opt = "http://www.zorba-xquery.com/modules/xml-options";; 
+
+z:parse("<?xml version='1.0'?>
+<root><root2><from1>Jani1</from1></root2></root>", 
+  <opt:options>
+    <opt:parse-external-parsed-entity opt:skip-root-nodes="3"/>
+  </opt:options>
+)

=== added file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-13.xq'
--- test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-13.xq	1970-01-01 00:00:00 +0000
+++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-13.xq	2012-02-23 17:28:26 +0000
@@ -0,0 +1,9 @@
+import module namespace z = "http://www.zorba-xquery.com/modules/xml";;
+import schema namespace opt = "http://www.zorba-xquery.com/modules/xml-options";; 
+
+z:parse("<?xml version='1.0'?>
+<root><root2><root3><from1>Jani1</from1></root3></root2></root>", 
+  <opt:options>
+    <opt:parse-external-parsed-entity opt:skip-root-nodes="3"/>
+  </opt:options>
+)

=== added file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-14.xq'
--- test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-14.xq	1970-01-01 00:00:00 +0000
+++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-14.xq	2012-02-23 17:28:26 +0000
@@ -0,0 +1,9 @@
+import module namespace z = "http://www.zorba-xquery.com/modules/xml";;
+import schema namespace opt = "http://www.zorba-xquery.com/modules/xml-options";; 
+
+z:parse("<?xml version='1.0'?>
+<root><root2><root3><from1>Jani1</from1></root3></root2></root>", 
+  <opt:options>
+    <opt:parse-external-parsed-entity opt:skip-root-nodes="4"/>
+  </opt:options>
+)

=== added file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-15.xq'
--- test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-15.xq	1970-01-01 00:00:00 +0000
+++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-15.xq	2012-02-23 17:28:26 +0000
@@ -0,0 +1,8 @@
+import module namespace z = "http://www.zorba-xquery.com/modules/xml";;
+import schema namespace opt = "http://www.zorba-xquery.com/modules/xml-options";; 
+
+z:parse("<?xml version='1.0'?><root>root1 text<root2>root2 text<root3>root3 text<from1>Jani1</from1></root3></root2></root>", 
+  <opt:options>
+    <opt:parse-external-parsed-entity opt:skip-root-nodes="4"/>
+  </opt:options>
+)

=== added file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-16.xq'
--- test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-16.xq	1970-01-01 00:00:00 +0000
+++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-16.xq	2012-02-23 17:28:26 +0000
@@ -0,0 +1,8 @@
+import module namespace z = "http://www.zorba-xquery.com/modules/xml";;
+import schema namespace opt = "http://www.zorba-xquery.com/modules/xml-options";; 
+
+z:parse("<?xml version='1.0'?><root>root1 text<root15>root15 text</root15><root2>root2 text<root3>root3 text<from1>Jani1</from1></root3></root2></root>", 
+  <opt:options>
+    <opt:parse-external-parsed-entity opt:skip-root-nodes="4"/>
+  </opt:options>
+)

=== added file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-17.xq'
--- test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-17.xq	1970-01-01 00:00:00 +0000
+++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-17.xq	2012-02-23 17:28:26 +0000
@@ -0,0 +1,8 @@
+import module namespace z = "http://www.zorba-xquery.com/modules/xml";;
+import schema namespace opt = "http://www.zorba-xquery.com/modules/xml-options";; 
+
+z:parse("<?xml version='1.0'?><root>root1 text<root15>root15 text</root15><root2>root2 text<root3>root3 text<from1>Jani1</from1></root3></root2></root>", 
+  <opt:options>
+    <opt:parse-external-parsed-entity opt:skip-root-nodes="3"/>
+  </opt:options>
+)

=== added file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-18.xq'
--- test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-18.xq	1970-01-01 00:00:00 +0000
+++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-18.xq	2012-02-23 17:28:26 +0000
@@ -0,0 +1,9 @@
+import module namespace z = "http://www.zorba-xquery.com/modules/xml";;
+import schema namespace opt = "http://www.zorba-xquery.com/modules/xml-options";; 
+
+z:parse("<?xml version='1.0'?>
+<root>Jani0<from1>Jani1</from1></root>", 
+  <opt:options>
+    <opt:parse-external-parsed-entity opt:skip-root-nodes="2"/>
+  </opt:options>
+)

=== added file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-19.xq'
--- test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-19.xq	1970-01-01 00:00:00 +0000
+++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-19.xq	2012-02-23 17:28:26 +0000
@@ -0,0 +1,15 @@
+import module namespace z = "http://www.zorba-xquery.com/modules/xml";;
+import schema namespace opt = "http://www.zorba-xquery.com/modules/xml-options";; 
+
+z:parse("<?xml version='1.0'?>
+<level1>
+  <level2>
+    <level3>
+      <level4>level4 text</level4>
+    </level3>
+  </level2>
+</level1>",
+  <opt:options>
+    <opt:parse-external-parsed-entity opt:skip-root-nodes="0"/>
+  </opt:options>
+)

=== added file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-20.xq'
--- test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-20.xq	1970-01-01 00:00:00 +0000
+++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-20.xq	2012-02-23 17:28:26 +0000
@@ -0,0 +1,15 @@
+import module namespace z = "http://www.zorba-xquery.com/modules/xml";;
+import schema namespace opt = "http://www.zorba-xquery.com/modules/xml-options";; 
+
+z:parse("<?xml version='1.0'?>
+<level1>
+  <level2>
+    <level3>
+      <level4>level4 text</level4>
+    </level3>
+  </level2>
+</level1>",
+  <opt:options>
+    <opt:parse-external-parsed-entity opt:skip-root-nodes="1"/>
+  </opt:options>
+)

=== added file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-21.xq'
--- test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-21.xq	1970-01-01 00:00:00 +0000
+++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-21.xq	2012-02-23 17:28:26 +0000
@@ -0,0 +1,15 @@
+import module namespace z = "http://www.zorba-xquery.com/modules/xml";;
+import schema namespace opt = "http://www.zorba-xquery.com/modules/xml-options";; 
+
+z:parse("<?xml version='1.0'?>
+<level1>
+  <level2>
+    <level3>
+      <level4>level4 text</level4>
+    </level3>
+  </level2>
+</level1>",
+  <opt:options>
+    <opt:parse-external-parsed-entity opt:skip-root-nodes="2"/>
+  </opt:options>
+)

=== added file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-22.xq'
--- test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-22.xq	1970-01-01 00:00:00 +0000
+++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-22.xq	2012-02-23 17:28:26 +0000
@@ -0,0 +1,15 @@
+import module namespace z = "http://www.zorba-xquery.com/modules/xml";;
+import schema namespace opt = "http://www.zorba-xquery.com/modules/xml-options";; 
+
+z:parse("<?xml version='1.0'?>
+<level1>
+  <level2>
+    <level3>
+      <level4>level4 text</level4>
+    </level3>
+  </level2>
+</level1>",
+  <opt:options>
+    <opt:parse-external-parsed-entity opt:skip-root-nodes="3"/>
+  </opt:options>
+)

=== added file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-23.xq'
--- test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-23.xq	1970-01-01 00:00:00 +0000
+++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-23.xq	2012-02-23 17:28:26 +0000
@@ -0,0 +1,15 @@
+import module namespace z = "http://www.zorba-xquery.com/modules/xml";;
+import schema namespace opt = "http://www.zorba-xquery.com/modules/xml-options";; 
+
+z:parse("<?xml version='1.0'?>
+<level1>
+  <level2>
+    <level3>
+      <level4>level4 text</level4>
+    </level3>
+  </level2>
+</level1>",
+  <opt:options>
+    <opt:parse-external-parsed-entity opt:skip-root-nodes="4"/>
+  </opt:options>
+)

=== added file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-24.xq'
--- test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-24.xq	1970-01-01 00:00:00 +0000
+++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-24.xq	2012-02-23 17:28:26 +0000
@@ -0,0 +1,16 @@
+import module namespace z = "http://www.zorba-xquery.com/modules/xml";;
+import schema namespace opt = "http://www.zorba-xquery.com/modules/xml-options";; 
+
+z:parse("<?xml version='1.0'?>
+<level1>
+  <level2>
+    <level3>
+      <level4>level4 text</level4>
+      level3 end
+    </level3>
+  </level2>
+</level1>",
+  <opt:options>
+    <opt:parse-external-parsed-entity opt:skip-root-nodes="3"/>
+  </opt:options>
+)

=== added file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-25.xq'
--- test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-25.xq	1970-01-01 00:00:00 +0000
+++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-25.xq	2012-02-23 17:28:26 +0000
@@ -0,0 +1,21 @@
+import module namespace z = "http://www.zorba-xquery.com/modules/xml";;
+import schema namespace opt = "http://www.zorba-xquery.com/modules/xml-options";;
+
+z:parse("<?xml version='1.0'?>
+<level1>
+  level1 text start
+  <level2>
+    level2 text start
+    <level3>
+      level3 text start
+      <level4>level4 text</level4>
+      level3 text end
+    </level3>
+    level2 text end
+  </level2>
+  level1 text end
+</level1>",
+  <opt:options>
+    <opt:parse-external-parsed-entity opt:skip-root-nodes="0"/>
+  </opt:options>
+)

=== added file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-26.xq'
--- test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-26.xq	1970-01-01 00:00:00 +0000
+++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-26.xq	2012-02-23 17:28:26 +0000
@@ -0,0 +1,21 @@
+import module namespace z = "http://www.zorba-xquery.com/modules/xml";;
+import schema namespace opt = "http://www.zorba-xquery.com/modules/xml-options";;
+
+z:parse("<?xml version='1.0'?>
+<level1>
+  level1 text start
+  <level2>
+    level2 text start
+    <level3>
+      level3 text start
+      <level4>level4 text</level4>
+      level3 text end
+    </level3>
+    level2 text end
+  </level2>
+  level1 text end
+</level1>",
+  <opt:options>
+    <opt:parse-external-parsed-entity opt:skip-root-nodes="1"/>
+  </opt:options>
+)

=== added file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-27.xq'
--- test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-27.xq	1970-01-01 00:00:00 +0000
+++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-27.xq	2012-02-23 17:28:26 +0000
@@ -0,0 +1,21 @@
+import module namespace z = "http://www.zorba-xquery.com/modules/xml";;
+import schema namespace opt = "http://www.zorba-xquery.com/modules/xml-options";;
+
+z:parse("<?xml version='1.0'?>
+<level1>
+  level1 text start
+  <level2>
+    level2 text start
+    <level3>
+      level3 text start
+      <level4>level4 text</level4>
+      level3 text end
+    </level3>
+    level2 text end
+  </level2>
+  level1 text end
+</level1>",
+  <opt:options>
+    <opt:parse-external-parsed-entity opt:skip-root-nodes="2"/>
+  </opt:options>
+)

=== added file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-28.xq'
--- test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-28.xq	1970-01-01 00:00:00 +0000
+++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-28.xq	2012-02-23 17:28:26 +0000
@@ -0,0 +1,21 @@
+import module namespace z = "http://www.zorba-xquery.com/modules/xml";;
+import schema namespace opt = "http://www.zorba-xquery.com/modules/xml-options";;
+
+z:parse("<?xml version='1.0'?>
+<level1>
+  level1 text start
+  <level2>
+    level2 text start
+    <level3>
+      level3 text start
+      <level4>level4 text</level4>
+      level3 text end
+    </level3>
+    level2 text end
+  </level2>
+  level1 text end
+</level1>",
+  <opt:options>
+    <opt:parse-external-parsed-entity opt:skip-root-nodes="3"/>
+  </opt:options>
+)

=== added file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-29.xq'
--- test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-29.xq	1970-01-01 00:00:00 +0000
+++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-29.xq	2012-02-23 17:28:26 +0000
@@ -0,0 +1,21 @@
+import module namespace z = "http://www.zorba-xquery.com/modules/xml";;
+import schema namespace opt = "http://www.zorba-xquery.com/modules/xml-options";;
+
+z:parse("<?xml version='1.0'?>
+<level1>
+  level1 text start
+  <level2>
+    level2 text start
+    <level3>
+      level3 text start
+      <level4>level4 text</level4>
+      level3 text end
+    </level3>
+    level2 text end
+  </level2>
+  level1 text end
+</level1>",
+  <opt:options>
+    <opt:parse-external-parsed-entity opt:skip-root-nodes="4"/>
+  </opt:options>
+)

=== added file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-30.xq'
--- test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-30.xq	1970-01-01 00:00:00 +0000
+++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-30.xq	2012-02-23 17:28:26 +0000
@@ -0,0 +1,21 @@
+import module namespace z = "http://www.zorba-xquery.com/modules/xml";;
+import schema namespace opt = "http://www.zorba-xquery.com/modules/xml-options";;
+
+z:parse("<?xml version='1.0'?>
+<level1>
+  level1 text start
+  <level2>
+    level2 text start
+    <level3>
+      level3 text start
+      <level4>level4 text</level4>
+      level3 text end
+    </level3>
+    level2 text end
+  </level2>
+  level1 text end
+</level1>",
+  <opt:options>
+    <opt:parse-external-parsed-entity opt:skip-root-nodes="5"/>
+  </opt:options>
+)

=== added file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-31.xq'
--- test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-31.xq	1970-01-01 00:00:00 +0000
+++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-31.xq	2012-02-23 17:28:26 +0000
@@ -0,0 +1,65 @@
+import module namespace z = "http://www.zorba-xquery.com/modules/xml";;
+import schema namespace opt = "http://www.zorba-xquery.com/modules/xml-options";;
+
+z:parse("<?xml version='1.0'?>
+level0 text
+<level1>
+  level1 text start
+  <level2>
+    level2 text start
+    <level3>
+      level3 text start
+      <level4>level4 text</level4>
+      level3 text end
+    </level3>
+    level2 text end
+  </level2>
+  level1 text end
+</level1>
+level0 text
+<level1>
+  level1 text start
+  <level2>
+    level2 text start
+    <level3>
+      level3 text start
+      <level4>level4 text</level4>
+      level3 text end
+    </level3>
+    level2 text end
+  </level2>
+  level1 text end
+</level1>
+level0 text
+<level1>
+  level1 text start
+  <level2>
+    level2 text start
+    <level3>
+      level3 text start
+      <level4>level4 text</level4>
+      level3 text end
+    </level3>
+    level2 text end
+  </level2>
+  level1 text end
+</level1>
+level0 text
+<level1>
+  level1 text start
+  <level2>
+    level2 text start
+    <level3>
+      level3 text start
+      <level4>level4 text</level4>
+      level3 text end
+    </level3>
+    level2 text end
+  </level2>
+  level1 text end
+</level1>
+level0 text",
+  <opt:options>
+    <opt:parse-external-parsed-entity opt:skip-root-nodes="0"/>
+  </opt:options>
+)

=== added file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-32.xq'
--- test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-32.xq	1970-01-01 00:00:00 +0000
+++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-32.xq	2012-02-23 17:28:26 +0000
@@ -0,0 +1,65 @@
+import module namespace z = "http://www.zorba-xquery.com/modules/xml";;
+import schema namespace opt = "http://www.zorba-xquery.com/modules/xml-options";;
+
+z:parse("<?xml version='1.0'?>
+level0 text
+<level1>
+  level1 text start
+  <level2>
+    level2 text start
+    <level3>
+      level3 text start
+      <level4>level4 text</level4>
+      level3 text end
+    </level3>
+    level2 text end
+  </level2>
+  level1 text end
+</level1>
+level0 text
+<level1>
+  level1 text start
+  <level2>
+    level2 text start
+    <level3>
+      level3 text start
+      <level4>level4 text</level4>
+      level3 text end
+    </level3>
+    level2 text end
+  </level2>
+  level1 text end
+</level1>
+level0 text
+<level1>
+  level1 text start
+  <level2>
+    level2 text start
+    <level3>
+      level3 text start
+      <level4>level4 text</level4>
+      level3 text end
+    </level3>
+    level2 text end
+  </level2>
+  level1 text end
+</level1>
+level0 text
+<level1>
+  level1 text start
+  <level2>
+    level2 text start
+    <level3>
+      level3 text start
+      <level4>level4 text</level4>
+      level3 text end
+    </level3>
+    level2 text end
+  </level2>
+  level1 text end
+</level1>
+level0 text",
+  <opt:options>
+    <opt:parse-external-parsed-entity opt:skip-root-nodes="1"/>
+  </opt:options>
+)

=== added file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-33.xq'
--- test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-33.xq	1970-01-01 00:00:00 +0000
+++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-33.xq	2012-02-23 17:28:26 +0000
@@ -0,0 +1,65 @@
+import module namespace z = "http://www.zorba-xquery.com/modules/xml";;
+import schema namespace opt = "http://www.zorba-xquery.com/modules/xml-options";;
+
+z:parse("<?xml version='1.0'?>
+level0 text
+<level1>
+  level1 text start
+  <level2>
+    level2 text start
+    <level3>
+      level3 text start
+      <level4>level4 text</level4>
+      level3 text end
+    </level3>
+    level2 text end
+  </level2>
+  level1 text end
+</level1>
+level0 text
+<level1>
+  level1 text start
+  <level2>
+    level2 text start
+    <level3>
+      level3 text start
+      <level4>level4 text</level4>
+      level3 text end
+    </level3>
+    level2 text end
+  </level2>
+  level1 text end
+</level1>
+level0 text
+<level1>
+  level1 text start
+  <level2>
+    level2 text start
+    <level3>
+      level3 text start
+      <level4>level4 text</level4>
+      level3 text end
+    </level3>
+    level2 text end
+  </level2>
+  level1 text end
+</level1>
+level0 text
+<level1>
+  level1 text start
+  <level2>
+    level2 text start
+    <level3>
+      level3 text start
+      <level4>level4 text</level4>
+      level3 text end
+    </level3>
+    level2 text end
+  </level2>
+  level1 text end
+</level1>
+level0 text",
+  <opt:options>
+    <opt:parse-external-parsed-entity opt:skip-root-nodes="2"/>
+  </opt:options>
+)

=== added file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-34.xq'
--- test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-34.xq	1970-01-01 00:00:00 +0000
+++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-34.xq	2012-02-23 17:28:26 +0000
@@ -0,0 +1,65 @@
+import module namespace z = "http://www.zorba-xquery.com/modules/xml";;
+import schema namespace opt = "http://www.zorba-xquery.com/modules/xml-options";;
+
+z:parse("<?xml version='1.0'?>
+level0 text
+<level1>
+  level1 text start
+  <level2>
+    level2 text start
+    <level3>
+      level3 text start
+      <level4>level4 text</level4>
+      level3 text end
+    </level3>
+    level2 text end
+  </level2>
+  level1 text end
+</level1>
+level0 text
+<level1>
+  level1 text start
+  <level2>
+    level2 text start
+    <level3>
+      level3 text start
+      <level4>level4 text</level4>
+      level3 text end
+    </level3>
+    level2 text end
+  </level2>
+  level1 text end
+</level1>
+level0 text
+<level1>
+  level1 text start
+  <level2>
+    level2 text start
+    <level3>
+      level3 text start
+      <level4>level4 text</level4>
+      level3 text end
+    </level3>
+    level2 text end
+  </level2>
+  level1 text end
+</level1>
+level0 text
+<level1>
+  level1 text start
+  <level2>
+    level2 text start
+    <level3>
+      level3 text start
+      <level4>level4 text</level4>
+      level3 text end
+    </level3>
+    level2 text end
+  </level2>
+  level1 text end
+</level1>
+level0 text",
+  <opt:options>
+    <opt:parse-external-parsed-entity opt:skip-root-nodes="3"/>
+  </opt:options>
+)

=== added file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-35.xq'
--- test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-35.xq	1970-01-01 00:00:00 +0000
+++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-35.xq	2012-02-23 17:28:26 +0000
@@ -0,0 +1,65 @@
+import module namespace z = "http://www.zorba-xquery.com/modules/xml";;
+import schema namespace opt = "http://www.zorba-xquery.com/modules/xml-options";;
+
+z:parse("<?xml version='1.0'?>
+level0 text
+<level1>
+  level1 text start
+  <level2>
+    level2 text start
+    <level3>
+      level3 text start
+      <level4>level4 text</level4>
+      level3 text end
+    </level3>
+    level2 text end
+  </level2>
+  level1 text end
+</level1>
+level0 text
+<level1>
+  level1 text start
+  <level2>
+    level2 text start
+    <level3>
+      level3 text start
+      <level4>level4 text</level4>
+      level3 text end
+    </level3>
+    level2 text end
+  </level2>
+  level1 text end
+</level1>
+level0 text
+<level1>
+  level1 text start
+  <level2>
+    level2 text start
+    <level3>
+      level3 text start
+      <level4>level4 text</level4>
+      level3 text end
+    </level3>
+    level2 text end
+  </level2>
+  level1 text end
+</level1>
+level0 text
+<level1>
+  level1 text start
+  <level2>
+    level2 text start
+    <level3>
+      level3 text start
+      <level4>level4 text</level4>
+      level3 text end
+    </level3>
+    level2 text end
+  </level2>
+  level1 text end
+</level1>
+level0 text",
+  <opt:options>
+    <opt:parse-external-parsed-entity opt:skip-root-nodes="4"/>
+  </opt:options>
+)

=== added file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-36.xq'
--- test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-36.xq	1970-01-01 00:00:00 +0000
+++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-36.xq	2012-02-23 17:28:26 +0000
@@ -0,0 +1,65 @@
+import module namespace z = "http://www.zorba-xquery.com/modules/xml";;
+import schema namespace opt = "http://www.zorba-xquery.com/modules/xml-options";;
+
+z:parse("<?xml version='1.0'?>
+level0 text
+<level1>
+  level1 text start
+  <level2>
+    level2 text start
+    <level3>
+      level3 text start
+      <level4>level4 text</level4>
+      level3 text end
+    </level3>
+    level2 text end
+  </level2>
+  level1 text end
+</level1>
+level0 text
+<level1>
+  level1 text start
+  <level2>
+    level2 text start
+    <level3>
+      level3 text start
+      <level4>level4 text</level4>
+      level3 text end
+    </level3>
+    level2 text end
+  </level2>
+  level1 text end
+</level1>
+level0 text
+<level1>
+  level1 text start
+  <level2>
+    level2 text start
+    <level3>
+      level3 text start
+      <level4>level4 text</level4>
+      level3 text end
+    </level3>
+    level2 text end
+  </level2>
+  level1 text end
+</level1>
+level0 text
+<level1>
+  level1 text start
+  <level2>
+    level2 text start
+    <level3>
+      level3 text start
+      <level4>level4 text</level4>
+      level3 text end
+    </level3>
+    level2 text end
+  </level2>
+  level1 text end
+</level1>
+level0 text",
+  <opt:options>
+    <opt:parse-external-parsed-entity opt:skip-root-nodes="5"/>
+  </opt:options>
+)

=== added file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-37.xq'
--- test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-37.xq	1970-01-01 00:00:00 +0000
+++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-37.xq	2012-02-23 17:28:26 +0000
@@ -0,0 +1,20 @@
+import module namespace z = "http://www.zorba-xquery.com/modules/xml";;
+import schema namespace opt = "http://www.zorba-xquery.com/modules/xml-options";;
+
+z:parse("<doc>
+  <foo>0</foo>
+  <foo>1</foo>
+  <foo>2</foo>
+  <foo>3</foo>
+  <foo>4</foo>
+  <foo>5</foo>
+  <foo>6</foo>
+  <foo>7</foo>
+  <foo>8</foo>
+  <foo>9</foo>
+  <foo>10</foo>
+</doc>", 
+  <opt:options>
+    <opt:parse-external-parsed-entity opt:skip-root-nodes="0"/>
+  </opt:options>
+)

=== added file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-38.xq'
--- test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-38.xq	1970-01-01 00:00:00 +0000
+++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-38.xq	2012-02-23 17:28:26 +0000
@@ -0,0 +1,20 @@
+import module namespace z = "http://www.zorba-xquery.com/modules/xml";;
+import schema namespace opt = "http://www.zorba-xquery.com/modules/xml-options";;
+
+z:parse("<doc>
+  <foo>0</foo>
+  <foo>1</foo>
+  <foo>2</foo>
+  <foo>3</foo>
+  <foo>4</foo>
+  <foo>5</foo>
+  <foo>6</foo>
+  <foo>7</foo>
+  <foo>8</foo>
+  <foo>9</foo>
+  <foo>10</foo>
+</doc>", 
+  <opt:options>
+    <opt:parse-external-parsed-entity opt:skip-root-nodes="1"/>
+  </opt:options>
+)

=== added file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-39.xq'
--- test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-39.xq	1970-01-01 00:00:00 +0000
+++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-39.xq	2012-02-23 17:28:26 +0000
@@ -0,0 +1,20 @@
+import module namespace z = "http://www.zorba-xquery.com/modules/xml";;
+import schema namespace opt = "http://www.zorba-xquery.com/modules/xml-options";;
+
+z:parse("<doc>
+  <foo>0</foo>
+  <foo>1</foo>
+  <foo>2</foo>
+  <foo>3</foo>
+  <foo>4</foo>
+  <foo>5</foo>
+  <foo>6</foo>
+  <foo>7</foo>
+  <foo>8</foo>
+  <foo>9</foo>
+  <foo>10</foo>
+</doc>", 
+  <opt:options>
+    <opt:parse-external-parsed-entity opt:skip-root-nodes="2"/>
+  </opt:options>
+)

=== added file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-40.xq'
--- test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-40.xq	1970-01-01 00:00:00 +0000
+++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-40.xq	2012-02-23 17:28:26 +0000
@@ -0,0 +1,9 @@
+import module namespace z = "http://www.zorba-xquery.com/modules/xml";;
+import schema namespace opt = "http://www.zorba-xquery.com/modules/xml-options";;
+
+z:parse("<?xml version='1.0'?>
+<n1:root xmlns:n1='ns' xmlns:m1='ms'><n2:root2 xmlns:n2='ns2' xmlns:m2='ms2'><n1:from1 xmlns:n3='ns3'><from2>Text from2</from2></n1:from1></n2:root2></n1:root>", 
+  <opt:options>
+    <opt:parse-external-parsed-entity opt:skip-root-nodes="0"/>
+  </opt:options>
+)

=== added file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-41.xq'
--- test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-41.xq	1970-01-01 00:00:00 +0000
+++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-41.xq	2012-02-23 17:28:26 +0000
@@ -0,0 +1,9 @@
+import module namespace z = "http://www.zorba-xquery.com/modules/xml";;
+import schema namespace opt = "http://www.zorba-xquery.com/modules/xml-options";;
+
+z:parse("<?xml version='1.0'?>
+<n1:root xmlns:n1='ns' xmlns:m1='ms'><n2:root2 xmlns:n2='ns2' xmlns:m2='ms2'><n1:from1 xmlns:n3='ns3'><from2>Text from2</from2></n1:from1></n2:root2></n1:root>", 
+  <opt:options>
+    <opt:parse-external-parsed-entity opt:skip-root-nodes="1"/>
+  </opt:options>
+)

=== added file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-42.xq'
--- test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-42.xq	1970-01-01 00:00:00 +0000
+++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-42.xq	2012-02-23 17:28:26 +0000
@@ -0,0 +1,9 @@
+import module namespace z = "http://www.zorba-xquery.com/modules/xml";;
+import schema namespace opt = "http://www.zorba-xquery.com/modules/xml-options";;
+
+z:parse("<?xml version='1.0'?>
+<n1:root xmlns:n1='ns' xmlns:m1='ms'><n2:root2 xmlns:n2='ns2' xmlns:m2='ms2'><n1:from1 xmlns:n3='ns3'><from2>Text from2</from2></n1:from1></n2:root2></n1:root>", 
+  <opt:options>
+    <opt:parse-external-parsed-entity opt:skip-root-nodes="2"/>
+  </opt:options>
+)

=== added file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-43.xq'
--- test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-43.xq	1970-01-01 00:00:00 +0000
+++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-43.xq	2012-02-23 17:28:26 +0000
@@ -0,0 +1,9 @@
+import module namespace z = "http://www.zorba-xquery.com/modules/xml";;
+import schema namespace opt = "http://www.zorba-xquery.com/modules/xml-options";;
+
+z:parse("<?xml version='1.0'?>
+<n1:root xmlns:n1='ns' xmlns:m1='ms'><n2:root2 xmlns:n2='ns2' xmlns:m2='ms2'><n1:from1 xmlns:n3='ns3'><from2>Text from2</from2></n1:from1></n2:root2></n1:root>", 
+  <opt:options>
+    <opt:parse-external-parsed-entity opt:skip-root-nodes="3"/>
+  </opt:options>
+)

=== added file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-44.xq'
--- test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-44.xq	1970-01-01 00:00:00 +0000
+++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-44.xq	2012-02-23 17:28:26 +0000
@@ -0,0 +1,9 @@
+import module namespace z = "http://www.zorba-xquery.com/modules/xml";;
+import schema namespace opt = "http://www.zorba-xquery.com/modules/xml-options";;
+
+z:parse("<?xml version='1.0'?>
+<n1:root xmlns:n1='ns' xmlns:m1='ms'><n2:root2 xmlns:n2='ns2' xmlns:m2='ms2'><n1:from1 xmlns:n3='ns3'><from2>Text from2</from2></n1:from1></n2:root2></n1:root>", 
+  <opt:options>
+    <opt:parse-external-parsed-entity opt:skip-root-nodes="4"/>
+  </opt:options>
+)

=== added file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-45.xq'
--- test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-45.xq	1970-01-01 00:00:00 +0000
+++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-45.xq	2012-02-23 17:28:26 +0000
@@ -0,0 +1,9 @@
+import module namespace z = "http://www.zorba-xquery.com/modules/xml";;
+import schema namespace opt = "http://www.zorba-xquery.com/modules/xml-options";;
+
+z:parse("<?xml version='1.0'?>
+<n1:root xmlns:n1='ns' xmlns:m1='ms'><n2:root2 xmlns:n2='ns2' xmlns:m2='ms2'><n1:from1 xmlns:n3='ns3'><from2>Text from2</from2></n1:from1></n2:root2></n1:root>", 
+  <opt:options>
+    <opt:parse-external-parsed-entity opt:skip-root-nodes="5"/>
+  </opt:options>
+)

=== added file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-46.xq'
--- test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-46.xq	1970-01-01 00:00:00 +0000
+++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-46.xq	2012-02-23 17:28:26 +0000
@@ -0,0 +1,37 @@
+import module namespace z = "http://www.zorba-xquery.com/modules/xml";;
+import schema namespace opt = "http://www.zorba-xquery.com/modules/xml-options";;
+
+z:parse("<?xml version='1.0'?>
+level0 text
+<level1/>
+level0 text
+<level1/>
+level0 text
+<level1/>
+level0 text
+<level1/>
+level0 text
+<level1/>
+level0 text
+<level1/>
+level0 text
+<level1/>
+level0 text
+<level1/>
+level0 text
+<level1/>
+level0 text
+<level1/>
+level0 text
+<level1/>
+level0 text
+<level1/>
+level0 text
+<level1/>
+level0 text
+<level1/>
+level0 text",
+<opt:options>
+  <opt:parse-external-parsed-entity/>
+</opt:options> 
+)

=== added file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-47.spec'
--- test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-47.spec	1970-01-01 00:00:00 +0000
+++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-47.spec	2012-02-23 17:28:26 +0000
@@ -0,0 +1,1 @@
+Error: http://www.w3.org/2005/xqt-errors:FODC0006

=== added file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-47.xq'
--- test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-47.xq	1970-01-01 00:00:00 +0000
+++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-47.xq	2012-02-23 17:28:26 +0000
@@ -0,0 +1,13 @@
+import module namespace z = "http://www.zorba-xquery.com/modules/xml";;
+import schema namespace opt = "http://www.zorba-xquery.com/modules/xml-options";;
+
+z:parse("<root>
+  <test/>
+  <test/>
+  </bad>
+</root>
+",
+  <opt:options>
+    <opt:parse-external-parsed-entity opt:skip-root-nodes="0"/>
+  </opt:options>
+)

=== added file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-48.spec'
--- test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-48.spec	1970-01-01 00:00:00 +0000
+++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-48.spec	2012-02-23 17:28:26 +0000
@@ -0,0 +1,1 @@
+Error: http://www.w3.org/2005/xqt-errors:FODC0006

=== added file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-48.xq'
--- test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-48.xq	1970-01-01 00:00:00 +0000
+++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-48.xq	2012-02-23 17:28:26 +0000
@@ -0,0 +1,13 @@
+import module namespace z = "http://www.zorba-xquery.com/modules/xml";;
+import schema namespace opt = "http://www.zorba-xquery.com/modules/xml-options";;
+
+z:parse("<root>
+  <test/>
+  <test/>
+  </bad>
+</root>
+",
+  <opt:options>
+    <opt:parse-external-parsed-entity opt:skip-root-nodes="1"/>
+  </opt:options>
+)

=== added file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-49.spec'
--- test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-49.spec	1970-01-01 00:00:00 +0000
+++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-49.spec	2012-02-23 17:28:26 +0000
@@ -0,0 +1,1 @@
+Error: http://www.w3.org/2005/xqt-errors:FODC0006

=== added file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-49.xq'
--- test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-49.xq	1970-01-01 00:00:00 +0000
+++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-49.xq	2012-02-23 17:28:26 +0000
@@ -0,0 +1,13 @@
+import module namespace z = "http://www.zorba-xquery.com/modules/xml";;
+import schema namespace opt = "http://www.zorba-xquery.com/modules/xml-options";;
+
+z:parse("<root>
+  <test/>
+  <test/>
+  </bad>
+</root>
+",
+  <opt:options>
+    <opt:parse-external-parsed-entity opt:skip-root-nodes="2"/>
+  </opt:options>
+)

=== added file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-50.spec'
--- test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-50.spec	1970-01-01 00:00:00 +0000
+++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-50.spec	2012-02-23 17:28:26 +0000
@@ -0,0 +1,1 @@
+Error: http://www.w3.org/2005/xqt-errors:FODC0006

=== added file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-50.xq'
--- test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-50.xq	1970-01-01 00:00:00 +0000
+++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-50.xq	2012-02-23 17:28:26 +0000
@@ -0,0 +1,13 @@
+import module namespace z = "http://www.zorba-xquery.com/modules/xml";;
+import schema namespace opt = "http://www.zorba-xquery.com/modules/xml-options";;
+
+z:parse("<root>
+  <test/>
+  <test/>
+</root>
+</bad>
+",
+  <opt:options>
+    <opt:parse-external-parsed-entity opt:skip-root-nodes="1"/>
+  </opt:options>
+)

=== added file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-51.spec'
--- test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-51.spec	1970-01-01 00:00:00 +0000
+++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-51.spec	2012-02-23 17:28:26 +0000
@@ -0,0 +1,1 @@
+Error: http://www.w3.org/2005/xqt-errors:FODC0006

=== added file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-51.xq'
--- test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-51.xq	1970-01-01 00:00:00 +0000
+++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-51.xq	2012-02-23 17:28:26 +0000
@@ -0,0 +1,11 @@
+import module namespace z = "http://www.zorba-xquery.com/modules/xml";;
+import schema namespace opt = "http://www.zorba-xquery.com/modules/xml-options";;
+
+z:parse("<root>
+  <test/>
+  <test/>
+",
+  <opt:options>
+    <opt:parse-external-parsed-entity opt:skip-root-nodes="0"/>
+  </opt:options>
+)

=== added file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-52.spec'
--- test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-52.spec	1970-01-01 00:00:00 +0000
+++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-52.spec	2012-02-23 17:28:26 +0000
@@ -0,0 +1,1 @@
+Error: http://www.w3.org/2005/xqt-errors:FODC0006

=== added file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-52.xq'
--- test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-52.xq	1970-01-01 00:00:00 +0000
+++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-52.xq	2012-02-23 17:28:26 +0000
@@ -0,0 +1,11 @@
+import module namespace z = "http://www.zorba-xquery.com/modules/xml";;
+import schema namespace opt = "http://www.zorba-xquery.com/modules/xml-options";;
+
+z:parse("<root>
+  <test/>
+  <test/>
+",
+  <opt:options>
+    <opt:parse-external-parsed-entity opt:skip-root-nodes="1"/>
+  </opt:options>
+)

=== added file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-53.xq'
--- test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-53.xq	1970-01-01 00:00:00 +0000
+++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-53.xq	2012-02-23 17:28:26 +0000
@@ -0,0 +1,13 @@
+import module namespace x = "http://www.zorba-xquery.com/modules/xml";;
+import schema namespace opt = "http://www.zorba-xquery.com/modules/xml-options";;
+
+x:parse("<mediawiki>
+  <page>
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+
+  </page>
+</mediawiki>",
+  <opt:options>
+    <opt:parse-external-parsed-entity
+      opt:skip-root-nodes="0"/>
+  </opt:options>)

=== added file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-54.xq'
--- test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-54.xq	1970-01-01 00:00:00 +0000
+++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-54.xq	2012-02-23 17:28:26 +0000
@@ -0,0 +1,14 @@
+import module namespace x = "http://www.zorba-xquery.com/modules/xml";;
+import schema namespace opt = "http://www.zorba-xquery.com/modules/xml-options";;
+import module namespace file = "http://expath.org/ns/file";;
+
+x:parse("<mediawiki>
+  <page>
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+
+  </page>
+</mediawiki>",
+  <opt:options>
+    <opt:parse-external-parsed-entity
+      opt:skip-root-nodes="1"/>
+  </opt:options>)

=== added file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-55.xq'
--- test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-55.xq	1970-01-01 00:00:00 +0000
+++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-55.xq	2012-02-23 17:28:26 +0000
@@ -0,0 +1,14 @@
+import module namespace x = "http://www.zorba-xquery.com/modules/xml";;
+import schema namespace opt = "http://www.zorba-xquery.com/modules/xml-options";;
+import module namespace file = "http://expath.org/ns/file";;
+
+x:parse("<mediawiki>
+  <page>
+abababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
+
+  </page>
+</mediawiki>",
+  <opt:options>
+    <opt:parse-external-parsed-entity
+      opt:skip-root-nodes="0"/>
+  </opt:options>)

=== added file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-56.xq'
--- test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-56.xq	1970-01-01 00:00:00 +0000
+++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-56.xq	2012-02-23 17:28:26 +0000
@@ -0,0 +1,14 @@
+import module namespace x = "http://www.zorba-xquery.com/modules/xml";;
+import schema namespace opt = "http://www.zorba-xquery.com/modules/xml-options";;
+import module namespace file = "http://expath.org/ns/file";;
+
+x:parse("<mediawiki>
+  <page>
+abababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
+
+  </page>
+</mediawiki>",
+  <opt:options>
+    <opt:parse-external-parsed-entity
+      opt:skip-root-nodes="1"/>
+  </opt:options>)

=== modified file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-xml-fragment-01.xq' (properties changed: +x to -x)
--- test/rbkt/Queries/zorba/parsing_and_serializing/parse-xml-fragment-01.xq	2011-07-03 13:45:27 +0000
+++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-xml-fragment-01.xq	2012-02-23 17:28:26 +0000
@@ -1,6 +1,7 @@
 import module namespace x = "http://www.zorba-xquery.com/modules/xml";;
+import schema namespace opt = "http://www.zorba-xquery.com/modules/xml-options";;
 
-x:parse-xml-fragment("<?xml version='1.0'?>
+x:parse("<?xml version='1.0'?>
 <!DOCTYPE note [
 <!ELEMENT note (to,from,heading,body)>
 <!ELEMENT to (#PCDATA)>
@@ -15,4 +16,7 @@
 <body>Don't forget me this weekend</body>
 </note>
 ", 
-"d")
+  <opt:options>
+    <opt:DTD-validate/>
+  </opt:options>
+)

=== modified file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-xml-fragment-02.spec' (properties changed: +x to -x)
=== modified file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-xml-fragment-02.xq' (properties changed: +x to -x)
--- test/rbkt/Queries/zorba/parsing_and_serializing/parse-xml-fragment-02.xq	2011-07-03 13:45:27 +0000
+++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-xml-fragment-02.xq	2012-02-23 17:28:26 +0000
@@ -1,6 +1,7 @@
 import module namespace x = "http://www.zorba-xquery.com/modules/xml";;
+import schema namespace opt = "http://www.zorba-xquery.com/modules/xml-options";;
 
-x:parse-xml-fragment("<?xml version='1.0'?>
+x:parse("<?xml version='1.0'?>
 <!DOCTYPE note [
 <!ELEMENT note (to,from,heading,body)>
 <!ELEMENT to (#PCDATA)>
@@ -12,4 +13,7 @@
 <incorrect>Element not in DTD</incorrect>
 </note>
 ", 
-"d")
+  <opt:options>
+    <opt:DTD-validate/>
+  </opt:options>
+)

=== modified file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-xml-fragment-03.xq' (properties changed: +x to -x)
--- test/rbkt/Queries/zorba/parsing_and_serializing/parse-xml-fragment-03.xq	2011-07-03 13:45:27 +0000
+++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-xml-fragment-03.xq	2012-02-23 17:28:26 +0000
@@ -1,8 +1,12 @@
 import module namespace x = "http://www.zorba-xquery.com/modules/xml";;
+import schema namespace opt = "http://www.zorba-xquery.com/modules/xml-options";;
 
-x:parse-xml-fragment("<?xml version='1.0'?>
+x:parse("<?xml version='1.0'?>
 <from1>Jani</from1>
 <from2>Jani</from2>
 <from3>Jani</from3>
 ", 
-"e")
+  <opt:options>
+    <opt:parse-external-parsed-entity/>
+  </opt:options>
+)

=== modified file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-xml-fragment-04.xq' (properties changed: +x to -x)
--- test/rbkt/Queries/zorba/parsing_and_serializing/parse-xml-fragment-04.xq	2011-07-03 13:45:27 +0000
+++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-xml-fragment-04.xq	2012-02-23 17:28:26 +0000
@@ -1,8 +1,12 @@
 import module namespace x = "http://www.zorba-xquery.com/modules/xml";;
+import schema namespace opt = "http://www.zorba-xquery.com/modules/xml-options";;
 
-x:parse-xml-fragment("
+x:parse("
 <from1>Jani</from1>
 <from2>Jani</from2>
 <from3>Jani</from3>
 ", 
-"e")
+  <opt:options>
+    <opt:parse-external-parsed-entity/>
+  </opt:options>
+)

=== modified file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-xml-fragment-05.xq' (properties changed: +x to -x)
--- test/rbkt/Queries/zorba/parsing_and_serializing/parse-xml-fragment-05.xq	2011-07-03 13:45:27 +0000
+++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-xml-fragment-05.xq	2012-02-23 17:28:26 +0000
@@ -1,3 +1,9 @@
 import module namespace x = "http://www.zorba-xquery.com/modules/xml";;
-
-x:parse-xml-fragment("<?xml version='1.0'?><a/>", "e")
+import schema namespace opt = "http://www.zorba-xquery.com/modules/xml-options";;
+
+x:parse("<?xml version='1.0'?><a/>", 
+  <opt:options>
+    <opt:parse-external-parsed-entity/>
+  </opt:options>
+)
+

=== modified file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-xml-fragment-06.spec' (properties changed: +x to -x)
=== modified file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-xml-fragment-06.xq' (properties changed: +x to -x)
--- test/rbkt/Queries/zorba/parsing_and_serializing/parse-xml-fragment-06.xq	2011-07-03 13:45:27 +0000
+++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-xml-fragment-06.xq	2012-02-23 17:28:26 +0000
@@ -1,8 +1,12 @@
 import module namespace x = "http://www.zorba-xquery.com/modules/xml";;
+import schema namespace opt = "http://www.zorba-xquery.com/modules/xml-options";;
 
-x:parse-xml-fragment("<?xml version='1.0'?>
+x:parse("<?xml version='1.0'?>
 <from1>Jani</from1>
 <from2>Jani</from2>
 <from3>Jani</from3>
 ", 
-"d")
+  <opt:options>
+    <opt:DTD-validate/>
+  </opt:options>
+)

=== modified file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-xml-fragment-07.xq' (properties changed: +x to -x)
--- test/rbkt/Queries/zorba/parsing_and_serializing/parse-xml-fragment-07.xq	2011-07-03 13:45:27 +0000
+++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-xml-fragment-07.xq	2012-02-23 17:28:26 +0000
@@ -1,10 +1,14 @@
 import module namespace x = "http://www.zorba-xquery.com/modules/xml";;
+import schema namespace opt = "http://www.zorba-xquery.com/modules/xml-options";;
 import schema namespace weather = "http://www.w3.org/test/weather"; at "weather.xsd";
 
-x:parse-xml-fragment("<?xml version='1.0' encoding = 'UTF-8'?>
+x:parse("<?xml version='1.0' encoding = 'UTF-8'?>
 <weather:weather xmlns:weather='http://www.w3.org/test/weather' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'>
   <weather:temperature>30</weather:temperature>
   <weather:precipitation>20</weather:precipitation>
 </weather:weather>
 ",
-"s")
+  <opt:options>
+    <opt:schema-validate opt:mode="lax"/>
+  </opt:options>
+)

=== modified file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-xml-fragment-08.spec' (properties changed: +x to -x)
=== modified file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-xml-fragment-08.xq' (properties changed: +x to -x)
--- test/rbkt/Queries/zorba/parsing_and_serializing/parse-xml-fragment-08.xq	2011-07-03 13:45:27 +0000
+++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-xml-fragment-08.xq	2012-02-23 17:28:26 +0000
@@ -1,10 +1,15 @@
 import module namespace x = "http://www.zorba-xquery.com/modules/xml";;
+import schema namespace opt = "http://www.zorba-xquery.com/modules/xml-options";;
 import schema namespace weather = "http://www.w3.org/test/weather"; at "weather.xsd";
 
-x:parse-xml-fragment("<?xml version='1.0' encoding = 'UTF-8'?>
+x:parse("<?xml version='1.0' encoding = 'UTF-8'?>
 <weather:weather xmlns:weather='http://www.w3.org/test/weather' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'>
   <weather:incorrect>30</weather:incorrect>
   <weather:precipitation>20</weather:precipitation>
 </weather:weather>
 ",
-"s")
+  <opt:options>
+    <opt:schema-validate opt:mode="strict"/>
+  </opt:options>
+)
+

=== modified file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-xml-fragment-09.spec' (properties changed: +x to -x)
=== modified file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-xml-fragment-09.xq' (properties changed: +x to -x)
--- test/rbkt/Queries/zorba/parsing_and_serializing/parse-xml-fragment-09.xq	2011-07-03 13:45:27 +0000
+++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-xml-fragment-09.xq	2012-02-23 17:28:26 +0000
@@ -1,6 +1,10 @@
 import module namespace x = "http://www.zorba-xquery.com/modules/xml";;
+import schema namespace opt = "http://www.zorba-xquery.com/modules/xml-options";;
 
-x:parse-xml-fragment("<?xml version='1.0' encoding = 'UTF-8'?>
+x:parse("<?xml version='1.0' encoding = 'UTF-8'?>
 <atomic:root xmlns:atomic='http://www.w3.org/XQueryTest'>
 <atomic:duration>P1Y2M3DT10H30M</atomic:duration>",
-"e")
+  <opt:options>
+    <opt:parse-external-parsed-entity/>
+  </opt:options>
+)

=== modified file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-xml-fragment-10.xq' (properties changed: +x to -x)
--- test/rbkt/Queries/zorba/parsing_and_serializing/parse-xml-fragment-10.xq	2011-07-03 13:45:27 +0000
+++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-xml-fragment-10.xq	2012-02-23 17:28:26 +0000
@@ -1,6 +1,6 @@
 import module namespace x = "http://www.zorba-xquery.com/modules/xml";;
 
-x:parse-xml-fragment("<?xml version='1.0'?>
+x:parse("<?xml version='1.0'?>
 <root>
   <from1>Jani</from1>
   
@@ -8,4 +8,4 @@
   
   <from3>Jani</from3>
 </root>", 
-"")
+() )

=== modified file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-xml-fragment-11.xq' (properties changed: +x to -x)
--- test/rbkt/Queries/zorba/parsing_and_serializing/parse-xml-fragment-11.xq	2011-07-03 13:45:27 +0000
+++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-xml-fragment-11.xq	2012-02-23 17:28:26 +0000
@@ -1,6 +1,7 @@
 import module namespace x = "http://www.zorba-xquery.com/modules/xml";;
+import schema namespace opt = "http://www.zorba-xquery.com/modules/xml-options";;
 
-x:parse-xml-fragment("<?xml version='1.0'?>
+x:parse("<?xml version='1.0'?>
 <!DOCTYPE note [
 <!ELEMENT note (to,from,heading,body)>
 <!ELEMENT to (#PCDATA)>
@@ -12,4 +13,8 @@
 <incorrect>Element not in DTD</incorrect>
 </note>
 ", 
-"dF")
+  <opt:options>
+    <opt:DTD-validate/>
+    <opt:no-error/>
+  </opt:options>
+)

=== modified file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-xml-fragment-12.xq' (properties changed: +x to -x)
--- test/rbkt/Queries/zorba/parsing_and_serializing/parse-xml-fragment-12.xq	2011-07-09 15:49:26 +0000
+++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-xml-fragment-12.xq	2012-02-23 17:28:26 +0000
@@ -1,8 +1,12 @@
 import module namespace z = "http://www.zorba-xquery.com/modules/xml";;
+import schema namespace opt = "http://www.zorba-xquery.com/modules/xml-options";;
 
-let $var := z:parse-xml-fragment("<?xml version='1.0'?>
+let $var := z:parse("<?xml version='1.0'?>
 <from1>Jani</from1>
 <from2>Jani</from2>
 <from3>Jani</from3>", 
-"e")
+  <opt:options>
+    <opt:parse-external-parsed-entity/>
+  </opt:options>
+)
 return <fragment>{ $var }<count>{ count($var) }</count></fragment>
\ No newline at end of file

=== modified file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-xml-fragment-13.xq'
--- test/rbkt/Queries/zorba/parsing_and_serializing/parse-xml-fragment-13.xq	2011-07-12 17:24:41 +0000
+++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-xml-fragment-13.xq	2012-02-23 17:28:26 +0000
@@ -1,4 +1,10 @@
 import module namespace z = "http://www.zorba-xquery.com/modules/xml";;
+import schema namespace opt = "http://www.zorba-xquery.com/modules/xml-options";;
 
-for $var in z:parse-xml-fragment("<from1>Jani</from1><from2>Jani</from2><from3>Jani</from3>", "urn:foo", "e")
+for $var in z:parse("<from1>Jani</from1><from2>Jani</from2><from3>Jani</from3>",
+  <opt:options>
+    <opt:base-uri opt:value="urn:foo"/>
+    <opt:parse-external-parsed-entity/>
+  </opt:options>
+)
 return <fragment base="{fn:base-uri($var)}">{ $var }</fragment>

=== modified file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-xml-fragment-14.xq' (properties changed: +x to -x)
--- test/rbkt/Queries/zorba/parsing_and_serializing/parse-xml-fragment-14.xq	2011-07-15 16:39:51 +0000
+++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-xml-fragment-14.xq	2012-02-23 17:28:26 +0000
@@ -1,6 +1,7 @@
 import module namespace x = "http://www.zorba-xquery.com/modules/xml";;
+import schema namespace opt = "http://www.zorba-xquery.com/modules/xml-options";;
 
-x:parse-xml-fragment("<?xml version='1.0' encoding='UTF-8'?>
+x:parse("<?xml version='1.0' encoding='UTF-8'?>
 <!-- Comment-1 -->
 <?a-pi pi-1?>
 <!-- Comment-2 -->
@@ -37,4 +38,7 @@
 <?a-pi pi-6?>
 <!-- Comment-7 -->
 ",
-"e")
+  <opt:options>
+    <opt:parse-external-parsed-entity/>
+  </opt:options>
+)

=== modified file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-xml-fragment-15.xq' (properties changed: +x to -x)
--- test/rbkt/Queries/zorba/parsing_and_serializing/parse-xml-fragment-15.xq	2011-07-15 16:39:51 +0000
+++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-xml-fragment-15.xq	2012-02-23 17:28:26 +0000
@@ -1,3 +1,9 @@
 import module namespace x = "http://www.zorba-xquery.com/modules/xml";;
-
-x:parse-xml-fragment("<a/>", "e")
+import schema namespace opt = "http://www.zorba-xquery.com/modules/xml-options";;
+
+x:parse("<a/>", 
+  <opt:options>
+    <opt:parse-external-parsed-entity/>
+  </opt:options>
+)
+

=== removed file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-xml-fragment-16.spec'
--- test/rbkt/Queries/zorba/parsing_and_serializing/parse-xml-fragment-16.spec	2011-08-10 02:50:23 +0000
+++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-xml-fragment-16.spec	1970-01-01 00:00:00 +0000
@@ -1,1 +0,0 @@
-Error: http://www.zorba-xquery.com/errors:ZXQD0003

=== added file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-xml-fragment-16.xq'
--- test/rbkt/Queries/zorba/parsing_and_serializing/parse-xml-fragment-16.xq	1970-01-01 00:00:00 +0000
+++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-xml-fragment-16.xq	2012-02-23 17:28:26 +0000
@@ -0,0 +1,14 @@
+import module namespace x = "http://www.zorba-xquery.com/modules/xml";;
+import schema namespace opt = "http://www.zorba-xquery.com/modules/xml-options";;
+
+x:parse("<?xml version='1.0'?>
+<!DOCTYPE note [
+<!ELEMENT note (#PCDATA)>
+<!ATTLIST note nmt NMTOKENS #REQUIRED>
+]>
+<note nmt='aaa'/>
+", 
+  <opt:options>
+    <opt:DTD-validate/>
+  </opt:options>
+)

=== removed file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-xml-fragment-16.xq'
--- test/rbkt/Queries/zorba/parsing_and_serializing/parse-xml-fragment-16.xq	2011-08-10 02:50:23 +0000
+++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-xml-fragment-16.xq	1970-01-01 00:00:00 +0000
@@ -1,8 +0,0 @@
-import module namespace x = "http://www.zorba-xquery.com/modules/xml";;
-
-x:parse-xml-fragment("<?xml version='1.0'?>
-<from1>Jani</from1>
-<from2>Jani</from2>
-<from3>Jani</from3>
-", 
-"eEdDsSlLwWfF")

=== added file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-xml-fragment-17.spec'
--- test/rbkt/Queries/zorba/parsing_and_serializing/parse-xml-fragment-17.spec	1970-01-01 00:00:00 +0000
+++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-xml-fragment-17.spec	2012-02-23 17:28:26 +0000
@@ -0,0 +1,1 @@
+Error: http://www.w3.org/2005/xqt-errors:FODC0006

=== removed file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-xml-fragment-17.spec'
--- test/rbkt/Queries/zorba/parsing_and_serializing/parse-xml-fragment-17.spec	2011-08-10 02:50:23 +0000
+++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-xml-fragment-17.spec	1970-01-01 00:00:00 +0000
@@ -1,1 +0,0 @@
-Error: http://www.zorba-xquery.com/errors:ZXQD0003

=== added file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-xml-fragment-17.xq'
--- test/rbkt/Queries/zorba/parsing_and_serializing/parse-xml-fragment-17.xq	1970-01-01 00:00:00 +0000
+++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-xml-fragment-17.xq	2012-02-23 17:28:26 +0000
@@ -0,0 +1,18 @@
+import module namespace z = "http://www.zorba-xquery.com/modules/xml";;
+import schema namespace opt = "http://www.zorba-xquery.com/modules/xml-options";;
+
+z:parse("<root><a id='0'>
+ 0
+ </b>
+</a>
+<a id='1'>
+ 1
+</a>
+<a id='2'>
+ 2
+</a>
+</root>", 
+  <opt:options>
+    <opt:parse-external-parsed-entity/>
+  </opt:options>
+)

=== removed file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-xml-fragment-17.xq'
--- test/rbkt/Queries/zorba/parsing_and_serializing/parse-xml-fragment-17.xq	2011-08-10 02:50:23 +0000
+++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-xml-fragment-17.xq	1970-01-01 00:00:00 +0000
@@ -1,8 +0,0 @@
-import module namespace x = "http://www.zorba-xquery.com/modules/xml";;
-
-x:parse-xml-fragment("<?xml version='1.0'?>
-<from1>Jani</from1>
-<from2>Jani</from2>
-<from3>Jani</from3>
-", 
-"edls")

=== added file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-xml-fragment-18.spec'
--- test/rbkt/Queries/zorba/parsing_and_serializing/parse-xml-fragment-18.spec	1970-01-01 00:00:00 +0000
+++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-xml-fragment-18.spec	2012-02-23 17:28:26 +0000
@@ -0,0 +1,1 @@
+Error: http://www.w3.org/2005/xqt-errors:FODC0006

=== added file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-xml-fragment-18.xq'
--- test/rbkt/Queries/zorba/parsing_and_serializing/parse-xml-fragment-18.xq	1970-01-01 00:00:00 +0000
+++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-xml-fragment-18.xq	2012-02-23 17:28:26 +0000
@@ -0,0 +1,8 @@
+import module namespace z = "http://www.zorba-xquery.com/modules/xml";;
+import schema namespace opt = "http://www.zorba-xquery.com/modules/xml-options";;
+
+z:parse("<root><a id='0'/></root></test>",
+  <opt:options>
+    <opt:parse-external-parsed-entity/>
+  </opt:options>
+)

=== removed file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-xml-fragment-18.xq'
--- test/rbkt/Queries/zorba/parsing_and_serializing/parse-xml-fragment-18.xq	2011-10-12 07:17:05 +0000
+++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-xml-fragment-18.xq	1970-01-01 00:00:00 +0000
@@ -1,10 +0,0 @@
-import module namespace x = "http://www.zorba-xquery.com/modules/xml";;
-
-x:parse-xml-fragment("<?xml version='1.0'?>
-<!DOCTYPE note [
-<!ELEMENT note (#PCDATA)>
-<!ATTLIST note nmt NMTOKENS #REQUIRED>
-]>
-<note nmt='aaa'/>
-", 
-"d")

=== modified file 'test/rbkt/Queries/zorba/parsing_and_serializing/weather.xsd' (properties changed: +x to -x)

Follow ups