Merge lp:~nbrinza/zorba/parse-fragment into lp:zorba
- parse-fragment
- Merge into trunk
Status: | Superseded | ||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Proposed branch: | lp:~nbrinza/zorba/parse-fragment | ||||||||||||||||||||||||||||
Merge into: | lp:zorba | ||||||||||||||||||||||||||||
Diff against target: |
5713 lines (+2962/-639) 158 files modified
CMakeLists.txt (+15/-5) ChangeLog (+2/-0) modules/com/zorba-xquery/www/modules/CMakeLists.txt (+2/-0) modules/com/zorba-xquery/www/modules/xml-options.xsd (+86/-0) modules/com/zorba-xquery/www/modules/xml.xq (+238/-4) src/api/xmldatamanagerimpl.cpp (+72/-38) src/context/static_context.cpp (+74/-69) src/context/static_context.h (+4/-3) src/diagnostics/diagnostic_en.xml (+10/-6) src/diagnostics/pregenerated/dict_en.cpp (+4/-3) src/functions/pregenerated/func_parse_fragment.cpp (+7/-21) src/functions/pregenerated/func_parse_fragment.h (+3/-3) src/functions/pregenerated/function_enum.h (+1/-2) src/runtime/parsing_and_serializing/fragment_istream.h (+54/-10) src/runtime/parsing_and_serializing/parse_fragment_impl.cpp (+167/-168) src/runtime/parsing_and_serializing/pregenerated/parse_fragment.h (+1/-1) src/runtime/sequences/sequences_impl.cpp (+10/-10) src/runtime/spec/parsing_and_serializing/parse_fragment.xml (+5/-12) src/store/api/load_properties.h (+224/-38) src/store/naive/loader.h (+23/-6) src/store/naive/loader_dtd.cpp (+307/-165) src/store/naive/loader_fast.cpp (+9/-1) src/store/naive/simple_store.cpp (+14/-12) src/types/typeimpl.cpp (+20/-4) test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-01.xml.res (+2/-0) test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-02.xml.res (+6/-0) test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-03.xml.res (+2/-0) test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-04.xml.res (+12/-0) test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-05.xml.res (+12/-0) test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-06.xml.res (+8/-0) test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-07.xml.res (+2/-0) test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-08.xml.res (+2/-0) test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-09.xml.res (+2/-0) test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-10.xml.res (+2/-0) test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-11.xml.res (+2/-0) test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-12.xml.res (+2/-0) test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-13.xml.res (+2/-0) test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-14.xml.res (+2/-0) test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-15.xml.res (+2/-0) test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-16.xml.res (+2/-0) test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-17.xml.res (+2/-0) test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-18.xml.res (+2/-0) test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-19.xml.res (+8/-0) test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-20.xml.res (+8/-0) test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-21.xml.res (+6/-0) test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-22.xml.res (+4/-0) test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-23.xml.res (+2/-0) test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-24.xml.res (+5/-0) test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-25.xml.res (+14/-0) test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-26.xml.res (+14/-0) test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-27.xml.res (+10/-0) test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-28.xml.res (+6/-0) test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-29.xml.res (+2/-0) test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-30.xml.res (+2/-0) test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-31.xml.res (+59/-0) test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-32.xml.res (+50/-0) test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-33.xml.res (+34/-0) test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-34.xml.res (+18/-0) test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-35.xml.res (+2/-0) test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-36.xml.res (+2/-0) test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-37.xml.res (+14/-0) test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-38.xml.res (+14/-0) test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-39.xml.res (+2/-0) test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-40.xml.res (+3/-0) test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-41.xml.res (+2/-0) test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-42.xml.res (+2/-0) test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-43.xml.res (+2/-0) test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-44.xml.res (+2/-0) test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-45.xml.res (+2/-0) test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-46.xml.res (+31/-0) test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-53.xml.res (+8/-0) test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-54.xml.res (+7/-0) test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-55.xml.res (+8/-0) test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-56.xml.res (+7/-0) test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-xml-fragment-12.xml.res (+1/-1) test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-01.xq (+8/-0) test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-02.xq (+13/-0) test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-03.xq (+13/-0) test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-04.xq (+19/-0) test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-05.xq (+19/-0) test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-06.xq (+19/-0) test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-07.xq (+19/-0) test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-08.xq (+9/-0) test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-09.xq (+9/-0) test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-10.xq (+9/-0) test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-11.xq (+9/-0) test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-12.xq (+9/-0) test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-13.xq (+9/-0) test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-14.xq (+9/-0) test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-15.xq (+8/-0) test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-16.xq (+8/-0) test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-17.xq (+8/-0) test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-18.xq (+9/-0) test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-19.xq (+15/-0) test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-20.xq (+15/-0) test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-21.xq (+15/-0) test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-22.xq (+15/-0) test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-23.xq (+15/-0) test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-24.xq (+16/-0) test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-25.xq (+21/-0) test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-26.xq (+21/-0) test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-27.xq (+21/-0) test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-28.xq (+21/-0) test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-29.xq (+21/-0) test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-30.xq (+21/-0) test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-31.xq (+65/-0) test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-32.xq (+65/-0) test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-33.xq (+65/-0) test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-34.xq (+65/-0) test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-35.xq (+65/-0) test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-36.xq (+65/-0) test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-37.xq (+20/-0) test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-38.xq (+20/-0) test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-39.xq (+20/-0) test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-40.xq (+9/-0) test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-41.xq (+9/-0) test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-42.xq (+9/-0) test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-43.xq (+9/-0) test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-44.xq (+9/-0) test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-45.xq (+9/-0) test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-46.xq (+37/-0) test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-47.spec (+1/-0) test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-47.xq (+13/-0) test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-48.spec (+1/-0) test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-48.xq (+13/-0) test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-49.spec (+1/-0) test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-49.xq (+13/-0) test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-50.spec (+1/-0) test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-50.xq (+13/-0) test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-51.spec (+1/-0) test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-51.xq (+11/-0) test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-52.spec (+1/-0) test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-52.xq (+11/-0) test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-53.xq (+13/-0) test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-54.xq (+14/-0) test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-55.xq (+14/-0) test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-56.xq (+14/-0) test/rbkt/Queries/zorba/parsing_and_serializing/parse-xml-fragment-01.xq (+6/-2) test/rbkt/Queries/zorba/parsing_and_serializing/parse-xml-fragment-02.xq (+6/-2) test/rbkt/Queries/zorba/parsing_and_serializing/parse-xml-fragment-03.xq (+6/-2) test/rbkt/Queries/zorba/parsing_and_serializing/parse-xml-fragment-04.xq (+6/-2) test/rbkt/Queries/zorba/parsing_and_serializing/parse-xml-fragment-05.xq (+8/-2) test/rbkt/Queries/zorba/parsing_and_serializing/parse-xml-fragment-06.xq (+6/-2) test/rbkt/Queries/zorba/parsing_and_serializing/parse-xml-fragment-07.xq (+6/-2) test/rbkt/Queries/zorba/parsing_and_serializing/parse-xml-fragment-08.xq (+7/-2) test/rbkt/Queries/zorba/parsing_and_serializing/parse-xml-fragment-09.xq (+6/-2) test/rbkt/Queries/zorba/parsing_and_serializing/parse-xml-fragment-10.xq (+2/-2) test/rbkt/Queries/zorba/parsing_and_serializing/parse-xml-fragment-11.xq (+7/-2) test/rbkt/Queries/zorba/parsing_and_serializing/parse-xml-fragment-12.xq (+6/-2) test/rbkt/Queries/zorba/parsing_and_serializing/parse-xml-fragment-13.xq (+7/-1) test/rbkt/Queries/zorba/parsing_and_serializing/parse-xml-fragment-14.xq (+6/-2) test/rbkt/Queries/zorba/parsing_and_serializing/parse-xml-fragment-15.xq (+8/-2) test/rbkt/Queries/zorba/parsing_and_serializing/parse-xml-fragment-16.spec (+0/-1) test/rbkt/Queries/zorba/parsing_and_serializing/parse-xml-fragment-16.xq (+0/-8) test/rbkt/Queries/zorba/parsing_and_serializing/parse-xml-fragment-17.spec (+0/-1) test/rbkt/Queries/zorba/parsing_and_serializing/parse-xml-fragment-17.xq (+0/-8) test/rbkt/Queries/zorba/parsing_and_serializing/parse-xml-fragment-18.spec (+1/-0) test/rbkt/Queries/zorba/parsing_and_serializing/parse-xml-fragment-18.xq (+0/-10) |
||||||||||||||||||||||||||||
To merge this branch: | bzr merge lp:~nbrinza/zorba/parse-fragment | ||||||||||||||||||||||||||||
Related bugs: |
|
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
David Graf (community) | Approve | ||
William Candillon | Approve | ||
Matthias Brantner | Pending | ||
Review via email: mp+97251@code.launchpad.net |
This proposal supersedes a proposal from 2012-03-13.
This proposal has been superseded by a proposal from 2012-03-13.
Commit message
Description of the change
Fully streaming parse-xml module.
William Candillon (wcandillon) wrote : Posted in a previous version of this proposal | # |
William Candillon (wcandillon) wrote : Posted in a previous version of this proposal | # |
It seems to be a problem with the diff:
- bool isLangAttr(const store::Item_t& aAttr) const;
- bool matchesReqLang(
+ bool isLangAttr(const store::Item_t& aAttr) const;
+ bool matchesReqLang(
Nicolae Brinza (nbrinza) wrote : Posted in a previous version of this proposal | # |
Yes, indeed, this is a strange corruption that I sometimes get after a merge. I've fixed the issue, resubmitting.
Matthias Brantner (matthias-brantner) wrote : Posted in a previous version of this proposal | # |
WOW, that's really cool. I just tried parsing a huge file and memory consumption was constant at a low level. Also, skipping root nodes worked like a charm.
I have some question/remarks:
- In the schema, there is a typo skip-top-
- If validation is enabled, will the validation copy or validate-in-place? I think it should validate-in-place for performance reasons.
- From the documentation, it's not clear on which nodes validation will happen if root nodes are skipped.
- Why does the schema have the following copyright notice "Copyright (c)2010 Elsevier, Inc."?
- The copyright should be 2006-2012
- Parsing the following document with <opt:parse-
<root><a id='0'>
0
</b>
</a>
<a id='1'>
1
</a>
<a id='2'>
2
</a>
</root>
- The feature is not added to the ChangeLog
Matthias Brantner (matthias-brantner) wrote : Posted in a previous version of this proposal | # |
Also, the branch doesn't build without schema support (i.e. ZORBA_NO_
[ 1%] Building CXX object src/CMakeFiles/
/home/mbrantner
/home/mbrantner
/home/mbrantner
William Candillon (wcandillon) wrote : Posted in a previous version of this proposal | # |
Why is there an Elsevier copyright for modules/
Nicolae Brinza (nbrinza) wrote : Posted in a previous version of this proposal | # |
The Elsevier copyright came from the xqdoc.xsd, which I think I used as a base for the options file. I fixed it together with the other issues Matthias has raised. I've also fixed a couple of other cases where malformed XMLs where handled incorrectly. Resubmitting for merging.
William Candillon (wcandillon) wrote : Posted in a previous version of this proposal | # |
I tried the forecast data with the parse function: very impressive!!
For documentation purposes, I would rename the parse-xml prefix to xml, this is more consistent right?
William Candillon (wcandillon) wrote : Posted in a previous version of this proposal | # |
Would xmldoc be a good prefix?
Nicolae Brinza (nbrinza) wrote : Posted in a previous version of this proposal | # |
It certainly is the closest allowed alternative...
Matthias Brantner (matthias-brantner) wrote : Posted in a previous version of this proposal | # |
- The branch doesn't build without schema support (i.e. ZORBA_NO_
[ 1%] Building CXX object src/CMakeFiles/
/home/mbrantner
/home/mbrantner
/home/mbrantner
make[2]: *** [src/CMakeFiles
- If validation is enabled, will the validation copy or validate-in-place? I think it should validate-in-place for performance reasons.
William Candillon (wcandillon) : Posted in a previous version of this proposal | # |
Nicolae Brinza (nbrinza) wrote : Posted in a previous version of this proposal | # |
All pending issues have been fixed. Resubmitting the proposal for merging.
William Candillon (wcandillon) wrote : Posted in a previous version of this proposal | # |
I tried it and it looks like just the best.
William Candillon (wcandillon) wrote : Posted in a previous version of this proposal | # |
Adding David to the review, I think he found a bug.
David Graf (davidagraf) : Posted in a previous version of this proposal | # |
Nicolae Brinza (nbrinza) wrote : Posted in a previous version of this proposal | # |
I've fixed the conflict in the Changelog. Resubmitting for merging into the trunk.
Matthias Brantner (matthias-brantner) : Posted in a previous version of this proposal | # |
Zorba Build Bot (zorba-buildbot) wrote : Posted in a previous version of this proposal | # |
Validation queue starting for merge proposal.
Log at: http://
William Candillon (wcandillon) : Posted in a previous version of this proposal | # |
Zorba Build Bot (zorba-buildbot) wrote : Posted in a previous version of this proposal | # |
The attempt to merge lp:~nbrinza/zorba/parse-fragment into lp:zorba failed. Below is the output from the failed tests.
CMake Error at /home/ceej/
Validation queue job parse-fragment-
The final status was:
1136 tests did not succeed - changes not commited.
Error in read script: /home/ceej/
David Graf (davidagraf) : Posted in a previous version of this proposal | # |
Zorba Build Bot (zorba-buildbot) wrote : Posted in a previous version of this proposal | # |
Attempt to merge into lp:zorba failed due to conflicts:
text conflict in ChangeLog
Nicolae Brinza (nbrinza) wrote : Posted in a previous version of this proposal | # |
I have fixed the regressions and the conflicts. Resubmitting.
William Candillon (wcandillon) : Posted in a previous version of this proposal | # |
William Candillon (wcandillon) : Posted in a previous version of this proposal | # |
Matthias Brantner (matthias-brantner) : Posted in a previous version of this proposal | # |
Zorba Build Bot (zorba-buildbot) wrote : Posted in a previous version of this proposal | # |
Validation queue starting for merge proposal.
Log at: http://
Zorba Build Bot (zorba-buildbot) wrote : Posted in a previous version of this proposal | # |
The attempt to merge lp:~nbrinza/zorba/parse-fragment into lp:zorba failed. Below is the output from the failed tests.
CMake Error at /home/ceej/
Validation queue job parse-fragment-
The final status was:
1 tests did not succeed - changes not commited.
Error in read script: /home/ceej/
David Graf (davidagraf) : Posted in a previous version of this proposal | # |
Nicolae Brinza (nbrinza) wrote : Posted in a previous version of this proposal | # |
I have added the backwards-
Matthias Brantner (matthias-brantner) wrote : Posted in a previous version of this proposal | # |
I won't pass the remote queue because not all of the parameters of the old functions are documented.
Nicolae Brinza (nbrinza) wrote : Posted in a previous version of this proposal | # |
Which parameters of the old functions are not documented?
Matthias Brantner (matthias-brantner) wrote : Posted in a previous version of this proposal | # |
> Which parameters of the old functions are not documented?
Sorry, I got confused by the diff. Everything seems to be fine.
William Candillon (wcandillon) wrote : Posted in a previous version of this proposal | # |
The module works nicely but the documentation needs more example:
- In the introduction
- For each function
Nicolae Brinza (nbrinza) wrote : Posted in a previous version of this proposal | # |
I have merged Matthias' example and added another one. Resubmitting.
William Candillon (wcandillon) wrote : Posted in a previous version of this proposal | # |
Looks good
William Candillon (wcandillon) : | # |
David Graf (davidagraf) : | # |
Nicolae Brinza (nbrinza) wrote : | # |
I have fixed the formatting of the code examples.
- 10515. By Nicolae Brinza
-
Fixed the formatting of the code examples in the documenation of the parse-fragment module
- 10516. By Nicolae Brinza
-
Merged with Zorba trunk
- 10517. By Nicolae Brinza
-
Fixed the failing link crawler test in the release build
- 10518. By Nicolae Brinza
-
Merged with Zorba trunk
- 10519. By Nicolae Brinza
-
Merged with Zorba trunk
- 10520. By Nicolae Brinza
-
Added a test for the backwards-
compatible zorba:parse- xml-fragment( ) function - 10521. By Nicolae Brinza
-
Small optimization in the serializer to avoid a repeated string comparison
- 10522. By Nicolae Brinza
-
Merged with Zorba trunk
- 10523. By Nicolae Brinza
-
Documentation fixes.
- 10524. By Nicolae Brinza
-
Reverted a change in the parse fragment module to fix the regressions
- 10525. By Nicolae Brinza
-
Improved documentation of the parse-fragment module
- 10526. By Nicolae Brinza
-
Merged with Zorba trunk
- 10527. By Nicolae Brinza
-
Fixed the type of options parameter to the parse-fragment() function.
- 10528. By Nicolae Brinza
-
Fixed the quantity of the options parameter from ONE to QUESTION.
- 10529. By Nicolae Brinza
-
Merged with Zorba trunk
- 10530. By Nicolae Brinza
-
The parse-fragment function now allows a DOCTYPE declaration in the input.
- 10531. By Nicolae Brinza
-
Merged with Zorba trunk
- 10532. By Nicolae Brinza
-
Updated the Changelog with the parse-fragment info
- 10533. By Nicolae Brinza
-
Updated Changelog with the resolution of bug #1016606
- 10534. By Nicolae Brinza
-
Merged with Zorba trunk
- 10535. By Nicolae Brinza
-
Fixed parse-fragment not handling correctly the streammable streams lifetime.
- 10536. By Nicolae Brinza
-
The input buffer of parse-fragment can grow if libxml is not able to parse the current chunk. Fixes bug #1027270
- 10537. By Nicolae Brinza
-
Merged with Zorba trunk
- 10538. By Nicolae Brinza
-
Merged with Zorba trunk
- 10539. By Nicolae Brinza
-
Updated the Changelog with fixes for bugs #1016606 and #1024033
- 10540. By Nicolae Brinza
-
Updated the Changelog with the fix for the bug #1023170
- 10541. By Nicolae Brinza
-
Merged with Zorba trunk
- 10542. By Nicolae Brinza
-
Fix for bug #1099535 endless loop in xml:parse()
- 10543. By Nicolae Brinza
-
Merged with Zorba trunk
- 10544. By Nicolae Brinza
-
Updated Changelog to mention fix for bug #1099535
- 10545. By Nicolae Brinza
-
Merged with Zorba trunk
- 10546. By Nicolae Brinza
-
Fixed bug #1099648 -- XML parsing failures on Red Hat
- 10547. By Nicolae Brinza
-
Updated Changelog to mention the fix for bug #1099648
- 10548. By Nicolae Brinza
-
Merged with Zorba trunk
Unmerged revisions
- 10548. By Nicolae Brinza
-
Merged with Zorba trunk
Preview Diff
1 | === modified file 'CMakeLists.txt' |
2 | --- CMakeLists.txt 2012-02-15 10:25:02 +0000 |
3 | +++ CMakeLists.txt 2012-03-13 16:09:23 +0000 |
4 | @@ -237,11 +237,21 @@ |
5 | MESSAGE(STATUS "Looking for LibXml2") |
6 | FIND_PACKAGE(LibXml2) |
7 | IF(LIBXML2_FOUND) |
8 | - MESSAGE(STATUS "Found LIBXML2 library -- " ${LIBXML2_LIBRARIES}) |
9 | - |
10 | - INCLUDE_DIRECTORIES(${LIBXML2_INCLUDE_DIR}) |
11 | - SET(requiredlibs-store ${requiredlibs-store} ${LIBXML2_LIBRARIES}) |
12 | - SET(CXXFLAGS ${CXXFLAGS} ${LIBXML2_DEFINITONS}) |
13 | + # Now check LibXml2's version |
14 | + FILE(STRINGS ${LIBXML2_INCLUDE_DIR}/libxml/xmlversion.h LIBXML2_VERSION_TMP REGEX |
15 | + "^#define[ \t]+LIBXML_DOTTED_VERSION[ \t]+\".*\"") |
16 | + STRING(REGEX REPLACE "^#define[ \t]+LIBXML_DOTTED_VERSION[ \t]+\"(.*)\"" "\\1" |
17 | + LIBXML2_VERSION ${LIBXML2_VERSION_TMP}) |
18 | + |
19 | + IF(LIBXML2_VERSION VERSION_EQUAL "2.7.0" OR LIBXML2_VERSION VERSION_GREATER "2.7.0") |
20 | + MESSAGE(STATUS "Found LIBXML2 library -- " ${LIBXML2_LIBRARIES}) |
21 | + INCLUDE_DIRECTORIES(${LIBXML2_INCLUDE_DIR}) |
22 | + SET(requiredlibs-store ${requiredlibs-store} ${LIBXML2_LIBRARIES}) |
23 | + SET(CXXFLAGS ${CXXFLAGS} ${LIBXML2_DEFINITONS}) |
24 | + ELSE(LIBXML2_VERSION VERSION_EQUAL "2.7.0" OR LIBXML2_VERSION VERSION_GREATER "2.7.0") |
25 | + MESSAGE(FATAL_ERROR "The libxml2 library version 2.7.0 or higher is required in order to build Zorba.") |
26 | + ENDIF(LIBXML2_VERSION VERSION_EQUAL "2.7.0" OR LIBXML2_VERSION VERSION_GREATER "2.7.0") |
27 | + |
28 | ELSE(LIBXML2_FOUND) |
29 | MESSAGE(FATAL_ERROR "The libxml2 library and headers are required in order to build simple store.") |
30 | ENDIF(LIBXML2_FOUND) |
31 | |
32 | === modified file 'ChangeLog' |
33 | --- ChangeLog 2012-03-12 17:11:35 +0000 |
34 | +++ ChangeLog 2012-03-13 16:09:23 +0000 |
35 | @@ -5,6 +5,8 @@ |
36 | * Add --compile-plan (-c) and --execute-plan (-e) options to zorba command line. |
37 | * Add XQuery 3.0 concat operator (http://www.w3.org/TR/xquery-30/#id-string-concat-expr) |
38 | * Fixed bug 923015 (clone() not implemented for full-text expressions) |
39 | + * 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. |
40 | + * LibXml2 version 2.7.0 or higher is now required in order to build Zorba. |
41 | * No-copy optimization: avoids copying nodes during node-constructor expressions. |
42 | * Added external function annotations %ann:propagates-input-nodes and |
43 | %ann:must-copy-input-nodes to be used by the no-copy optimization. |
44 | |
45 | === modified file 'modules/com/zorba-xquery/www/modules/CMakeLists.txt' |
46 | --- modules/com/zorba-xquery/www/modules/CMakeLists.txt 2012-03-07 15:49:25 +0000 |
47 | +++ modules/com/zorba-xquery/www/modules/CMakeLists.txt 2012-03-13 16:09:23 +0000 |
48 | @@ -63,6 +63,8 @@ |
49 | URI "http://www.zorba-xquery.com/modules/schema") |
50 | DECLARE_ZORBA_MODULE(FILE string.xq VERSION 2.1 |
51 | URI "http://www.zorba-xquery.com/modules/string") |
52 | +DECLARE_ZORBA_SCHEMA(FILE xml-options.xsd |
53 | + URI "http://www.zorba-xquery.com/modules/xml-options") |
54 | DECLARE_ZORBA_MODULE(FILE uri.xq VERSION 1.0 |
55 | URI "http://www.zorba-xquery.com/modules/uri") |
56 | DECLARE_ZORBA_MODULE(FILE xml.xq VERSION 2.0 |
57 | |
58 | === added file 'modules/com/zorba-xquery/www/modules/xml-options.xsd' |
59 | --- modules/com/zorba-xquery/www/modules/xml-options.xsd 1970-01-01 00:00:00 +0000 |
60 | +++ modules/com/zorba-xquery/www/modules/xml-options.xsd 2012-03-13 16:09:23 +0000 |
61 | @@ -0,0 +1,86 @@ |
62 | +<?xml version="1.0"?> |
63 | +<!-- |
64 | + - Copyright 2006-2012 The FLWOR Foundation. |
65 | + - |
66 | + - Licensed under the Apache License, Version 2.0 (the "License"); |
67 | + - you may not use this file except in compliance with the License. |
68 | + - You may obtain a copy of the License at |
69 | + - |
70 | + - http://www.apache.org/licenses/LICENSE-2.0 |
71 | + - |
72 | + - Unless required by applicable law or agreed to in writing, software |
73 | + - distributed under the License is distributed on an "AS IS" BASIS, |
74 | + - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
75 | + - See the License for the specific language governing permissions and |
76 | + - limitations under the License. |
77 | +--> |
78 | +<schema xmlns="http://www.w3.org/2001/XMLSchema" |
79 | + targetNamespace="http://www.zorba-xquery.com/modules/xml-options" |
80 | + elementFormDefault="qualified" attributeFormDefault="qualified"> |
81 | + |
82 | + <element name="options"> |
83 | + <complexType> |
84 | + <all> |
85 | + |
86 | + <element name="base-uri" minOccurs="0" maxOccurs="1"> |
87 | + <complexType> |
88 | + <attribute name="value" type="anyURI" use="required"/> |
89 | + </complexType> |
90 | + </element> |
91 | + <element name="no-error" minOccurs="0" maxOccurs="1"> |
92 | + <complexType/> |
93 | + </element> |
94 | + <element name="schema-validate" minOccurs="0" maxOccurs="1"> |
95 | + <complexType> |
96 | + <attribute name="mode" default="strict"> |
97 | + <simpleType> |
98 | + <restriction base="string"> |
99 | + <enumeration value="strict"/> |
100 | + <enumeration value="lax"/> |
101 | + </restriction> |
102 | + </simpleType> |
103 | + </attribute> |
104 | + </complexType> |
105 | + </element> |
106 | + <element name="DTD-validate" minOccurs="0" maxOccurs="1"> |
107 | + <complexType/> |
108 | + </element> |
109 | + <element name="DTD-load" minOccurs="0" maxOccurs="1"> |
110 | + <complexType/> |
111 | + </element> |
112 | + <element name="default-DTD-attributes" minOccurs="0" maxOccurs="1"> |
113 | + <complexType/> |
114 | + </element> |
115 | + <element name="parse-external-parsed-entity" minOccurs="0" maxOccurs="1"> |
116 | + <complexType> |
117 | + <attribute name="skip-root-nodes" use="optional"> |
118 | + <simpleType> |
119 | + <restriction base="int"> |
120 | + <minInclusive value="0"/> |
121 | + </restriction> |
122 | + </simpleType> |
123 | + </attribute> |
124 | + <attribute name="skip-top-level-text-nodes" type="boolean" use="optional"/> |
125 | + </complexType> |
126 | + </element> |
127 | + <element name="substitute-entities" minOccurs="0" maxOccurs="1"> |
128 | + <complexType/> |
129 | + </element> |
130 | + <element name="xinclude-substitutions" minOccurs="0" maxOccurs="1"> |
131 | + <complexType/> |
132 | + </element> |
133 | + <element name="remove-redundant-ns" minOccurs="0" maxOccurs="1"> |
134 | + <complexType/> |
135 | + </element> |
136 | + <element name="no-CDATA" minOccurs="0" maxOccurs="1"> |
137 | + <complexType/> |
138 | + </element> |
139 | + <element name="no-xinclude-nodes" minOccurs="0" maxOccurs="1"> |
140 | + <complexType/> |
141 | + </element> |
142 | + |
143 | + </all> |
144 | + </complexType> |
145 | + </element> |
146 | + |
147 | +</schema> |
148 | |
149 | === modified file 'modules/com/zorba-xquery/www/modules/xml.xq' (properties changed: +x to -x) |
150 | --- modules/com/zorba-xquery/www/modules/xml.xq 2011-08-10 02:50:23 +0000 |
151 | +++ modules/com/zorba-xquery/www/modules/xml.xq 2012-03-13 16:09:23 +0000 |
152 | @@ -1,4 +1,4 @@ |
153 | -xquery version "1.0"; |
154 | +xquery version "3.0"; |
155 | |
156 | (: |
157 | : Copyright 2006-2010 The FLWOR Foundation. |
158 | @@ -23,13 +23,46 @@ |
159 | : external parsed entities, described by |
160 | : <a href="http://www.w3.org/TR/xml/#wf-entities">XML 1.0 Well-Formed |
161 | : Parsed Entities</a>. The functions can also perform Schema and DTD |
162 | - : validation of the input documents. |
163 | + : validation of the input documents. |
164 | : </p> |
165 | : |
166 | + : <p>The following example parses a sequence of XML elements and returns |
167 | + : them in a streaming fashion - each at a time:</p> |
168 | + : |
169 | + : <code> |
170 | + : import module namespace parse-xml = "http://www.zorba-xquery.com/modules/xml"; |
171 | + : import schema namespace opt = "http://www.zorba-xquery.com/modules/xml-options"; |
172 | + : parse-xml:parse( |
173 | + : "<from1>Jani</from1><from2>Jani</from2><from3>Jani</from3>", |
174 | + : <opt:options> |
175 | + : <opt:parse-external-parsed-entity/> |
176 | + : </opt:options> |
177 | + : ) |
178 | + : </code> |
179 | + : |
180 | + : <p>Another useful option allows to skip an arbitrary number of levels |
181 | + : before returning a sequence of nodes as shown in the following example:</p> |
182 | + : |
183 | + : <code> |
184 | + : import module namespace parse-xml = "http://www.zorba-xquery.com/modules/xml"; |
185 | + : import schema namespace opt = "http://www.zorba-xquery.com/modules/xml-options"; |
186 | + : parse-xml:parse( |
187 | + : "<root> |
188 | + : <from1>Jani1</from1> |
189 | + : <from2>Jani2</from2> |
190 | + : <from3>Jani3</from3> |
191 | + : </root>", |
192 | + : <opt:options> |
193 | + : <opt:parse-external-parsed-entity opt:skip-root-nodes="1"/> |
194 | + : </opt:options> |
195 | + : ) |
196 | + : </code> |
197 | + : |
198 | : @see <a href="http://www.w3.org/TR/xml/#wf-entities">XML 1.0 Well-Formed |
199 | : Parsed Entities</a> |
200 | : @see <a href="http://www.w3.org/TR/xpath-functions-30/#func-parse-xml"> |
201 | : fn:parse-xml() function in XPath and XQuery Functions and Operators 3.0</a> |
202 | + : @see <a href="http://xmlsoft.org/html/libxml-parser.html">LibXml2 parser</a> |
203 | : |
204 | : @author Nicolae Brinza |
205 | : @project data processing/data converters |
206 | @@ -37,6 +70,8 @@ |
207 | :) |
208 | module namespace parse-xml = "http://www.zorba-xquery.com/modules/xml"; |
209 | |
210 | +import schema namespace parse-xml-options = "http://www.zorba-xquery.com/modules/xml-options"; |
211 | + |
212 | declare namespace zerr = "http://www.zorba-xquery.com/errors"; |
213 | declare namespace err = "http://www.w3.org/xqt-errors"; |
214 | |
215 | @@ -48,6 +83,157 @@ |
216 | : A function to parse XML files and fragments (i.e. |
217 | : <a href="http://www.w3.org/TR/xml/#wf-entities">external general parsed |
218 | : entities</a>). The functions takes two arguments: the first one is the |
219 | + : string to be parsed and the second argument is an <options/> element that |
220 | + : passes a list of options to the parsing function. They are described below. |
221 | + : The options element must conform to the xml-options.xsd schema. Some of these |
222 | + : will be passed to the underlying library (LibXml2) and further documentation |
223 | + : for them can be found at <a href="http://xmlsoft.org/html/libxml-parser.html"> |
224 | + : LibXml2 parser</a>. |
225 | + : |
226 | + : The list of available options: |
227 | + : |
228 | + : <ul> |
229 | + : <li> |
230 | + : <base-uri/> - the element must have a "value" attribute, which will provide |
231 | + : the baseURI that will be used as the baseURI for every node returned by this |
232 | + : function. |
233 | + : </li> |
234 | + : |
235 | + : <li> |
236 | + : <no-error/> - if present, the option will disable fatal error processing. Any |
237 | + : failure to parse or validate the input in the requested manner will result |
238 | + : in the function returning an empty sequence and no error will raised. |
239 | + : </li> |
240 | + : |
241 | + : <li> |
242 | + : <schema-validate/> - if present, it will request that the input string be Schema |
243 | + : validated. The element accepts an attribute named "mode" which can have two |
244 | + : values: "strict and "lax". Enabling the option will produce a result that is |
245 | + : equivalent to processing the input with the option disabled, and then copying |
246 | + : the result using the XQuery "validate strict|lax" expression. This option can not |
247 | + : be used together with either the <DTD-validate/> or the <parse-external-parsed-entity/> |
248 | + : option. Doing so will raise a zerr:ZXQD0003 error. |
249 | + : </li> |
250 | + : |
251 | + : <li> |
252 | + : <DTD-validate/> - the option will enable the DTD-based validation. If this |
253 | + : option is enabled and the input references a DTD, then the input must be a |
254 | + : well-formed and DTD-valid XML document. The <DTD-load/> option must be used for |
255 | + : external DTD files to be loaded. If the option is enabled and the input does |
256 | + : not reference a DTD then the option is ignored. If the option is disabled, the |
257 | + : input is not required to reference a DTD and if it does reference a DTD then |
258 | + : the DTD is ignored for validation purposes. This option can not |
259 | + : be used together with either the <schema-validate/> or the <parse-external-parsed-entity> |
260 | + : option. Doing so will raise a zerr:ZXQD0003 error. |
261 | + : </li> |
262 | + : |
263 | + : <li> |
264 | + : <DTD-load/> - if present, it will enable loading of external DTD files. |
265 | + : </li> |
266 | + : |
267 | + : <li> |
268 | + : <default-DTD-attributes/> - if present, it will enable the default DTD attributes. |
269 | + : </li> |
270 | + : |
271 | + : <li> |
272 | + : <parse-external-parsed-entity/> - if present, it will enable the processing of XML |
273 | + : external entities. If the option |
274 | + : is enabled, the input must conform to the syntax extParsedEnt (production |
275 | + : [78] in XML 1.0, see <a href="http://www.w3.org/TR/xml/#wf-entities"> |
276 | + : Well-Formed Parsed Entities</a>). The result of the function call is a list |
277 | + : of nodes corresponding to the top-level components of the content of the |
278 | + : external entity: that is, elements, processing instructions, comments, and |
279 | + : text nodes. CDATA sections and character references are expanded, and |
280 | + : adjacent characters are merged so the result contains no adjacent text |
281 | + : nodes. If the option is disabled, the input must be a well-formed XML |
282 | + : document conforming to the Document production |
283 | + : (<a href="http://www.w3.org/TR/xml/#sec-well-formed">production [1] in XML 1.0</a>). |
284 | + : This option can not be used together with either the <schema-validate/> or the <DTD-validate/> |
285 | + : option. Doing so will raise a zerr:ZXQD0003 error. |
286 | + : The <parse-external-parsed-entity/> option has two parameters, given by attributes. The first |
287 | + : attribute is "skip-root-nodes" and it can have a non-negative value. Specifying the paramter |
288 | + : tells the parser to skip the given number of root nodes and return only their children. E.g. |
289 | + : skip-root-nodes="1" is equivalent to parse-xml($xml-string)/node()/node() . skip-root-nodes="2" is equivalent |
290 | + : to parse-xml($xml-string)/node()/node()/node() , etc. The second attribute is "skip-top-level-text-nodes" with a |
291 | + : boolean value. Specifying "true" will tell the parser to skip top level text nodes, returning |
292 | + : only the top level elements, comments, PIs, etc. This parameter works in combination with |
293 | + : the "skip-root-nodes" paramter, thus top level text nodes are skipped after "skip-root-nodes" has |
294 | + : been applied. |
295 | + : </li> |
296 | + : |
297 | + : <li> |
298 | + : <substitute-entities/> - if present, it will enable the XML entities substitutions. |
299 | + : </li> |
300 | + : |
301 | + : <li> |
302 | + : <remove-redundant-ns/> - if present, the parser will remove redundant namespaces declarations. |
303 | + : </li> |
304 | + : |
305 | + : <li> |
306 | + : <no-CDATA/> - if present, the parser will merge CDATA nodes as text nodes. |
307 | + : </li> |
308 | + : |
309 | + : <li> |
310 | + : <xinclude-substitutions/> - if present, it will enable the XInclude substitutions. |
311 | + : </li> |
312 | + : |
313 | + : <li> |
314 | + : <no-xinclude-nodes/> - if present, the parser will not generate XInclude START/END nodes. |
315 | + : </li> |
316 | + : |
317 | + : </ul> |
318 | + : |
319 | + : |
320 | + : @param $xml-string The string that holds the XML to be parsed. If empty, |
321 | + : the function will return an empty sequence |
322 | + : @param $options The options for the parsing |
323 | + : @return The parsed XML as a document node or a list of nodes, or an empty |
324 | + : sequence. |
325 | + : |
326 | + : @error zerr:ZXQD0003 The error will be raised if the options to the function |
327 | + : are inconsistent. |
328 | + : |
329 | + : @error err:FODC0006 The error will be raised if the input string is not a |
330 | + : valid XML document or fragment (external general parsed |
331 | + : entity) or if DTD validation was enabled and the |
332 | + : document has not passed it. |
333 | + : |
334 | + : @error err:XQDY0027 The error will be raised if schema validation was enabled |
335 | + : and the input document has not passed it or if the parsing options are not |
336 | + : conformant to the xml-options.xsd schema. |
337 | + : |
338 | + : |
339 | + : An example that sets the base-uri of the parsed external entities: |
340 | + : <code> |
341 | + : import module namespace parse-xml = "http://www.zorba-xquery.com/modules/xml"; |
342 | + : import schema namespace opt = "http://www.zorba-xquery.com/modules/xml-options"; |
343 | + : parse-xml:parse("<from1>Jani</from1><from2>Jani</from2><from3>Jani</from3>", |
344 | + : <opt:options> |
345 | + : <opt:base-uri opt:value="urn:test"/> |
346 | + : <opt:parse-external-parsed-entity/> |
347 | + : </opt:options> |
348 | + : ) |
349 | + : </code> |
350 | + : |
351 | + : @example test/rbkt/Queries/zorba/parsing_and_serializing/parse-xml-fragment-03.xq |
352 | + : @example test/rbkt/Queries/zorba/parsing_and_serializing/parse-xml-fragment-01.xq |
353 | + : @example test/rbkt/Queries/zorba/parsing_and_serializing/parse-xml-fragment-07.xq |
354 | + : |
355 | + :) |
356 | +declare function parse-xml:parse( |
357 | + $xml-string as xs:string?, |
358 | + $options as element()?) as node()* external; |
359 | + |
360 | + |
361 | +(:~ |
362 | + : |
363 | + : Note: this function is included for backwards compatibility purposes. It |
364 | + : is recommended that you use the parse-xml:parse() function instead. |
365 | + : |
366 | + : |
367 | + : A function to parse XML files and fragments (i.e. |
368 | + : <a href="http://www.w3.org/TR/xml/#wf-entities">external general parsed |
369 | + : entities</a>). The functions takes two arguments: the first one is the |
370 | : string to be parsed and the second argument is a flags string |
371 | : (eEdDsSlLwWfF]*(;[\p{L}]*)?) selecting the options described below. |
372 | : <br/> |
373 | @@ -136,10 +322,35 @@ |
374 | :) |
375 | declare function parse-xml:parse-xml-fragment( |
376 | $xml-string as xs:string?, |
377 | - $options as xs:string) as node()* external; |
378 | + $options as xs:string) as node()* |
379 | +{ |
380 | + let $new_options := <parse-xml-options:options>{ |
381 | + if (contains($options, "e")) |
382 | + then <parse-xml-options:parse-external-parsed-entity/> else (), |
383 | + if (contains($options, "d")) |
384 | + then <parse-xml-options:DTD-validate/> else (), |
385 | + if (contains($options, "s")) |
386 | + then <parse-xml-options:schema-validate parse-xml-options:mode="strict"/> |
387 | + else (), |
388 | + if (contains($options, "l")) |
389 | + then <parse-xml-options:schema-validate parse-xml-options:mode="lax"/> |
390 | + else (), |
391 | + if (contains($options, "w")) |
392 | + then <parse-xml-options:strip-boundary-space/> else (), |
393 | + if (contains($options, "f")) |
394 | + then <parse-xml-options:no-error/> else () |
395 | + }</parse-xml-options:options> |
396 | + return |
397 | + parse-xml:parse($xml-string, $new_options) |
398 | +}; |
399 | |
400 | |
401 | (:~ |
402 | + : |
403 | + : Note: this function is included for backwards compatibility purposes. It |
404 | + : is recommended that you use the parse-xml:parse() function instead. |
405 | + : |
406 | + : |
407 | : A function to parse XML files and fragments. The behavior is the |
408 | : same as the parse-xml-fragment with two arguments. |
409 | : |
410 | @@ -169,4 +380,27 @@ |
411 | declare function parse-xml:parse-xml-fragment( |
412 | $xml-string as xs:string?, |
413 | $base-uri as xs:string, |
414 | - $options as xs:string) as node()* external; |
415 | + $options as xs:string) as node()* |
416 | +{ |
417 | + let $new_options := <parse-xml-options:options>{ |
418 | + if (contains($options, "e")) |
419 | + then <parse-xml-options:parse-external-parsed-entity/> else (), |
420 | + if (contains($options, "d")) |
421 | + then <parse-xml-options:DTD-validate/> else (), |
422 | + if (contains($options, "s")) |
423 | + then <parse-xml-options:schema-validate parse-xml-options:mode="strict"/> |
424 | + else (), |
425 | + if (contains($options, "l")) |
426 | + then <parse-xml-options:schema-validate parse-xml-options:mode="lax"/> |
427 | + else (), |
428 | + if (contains($options, "w")) |
429 | + then <parse-xml-options:strip-boundary-space/> else (), |
430 | + if (contains($options, "f")) |
431 | + then <parse-xml-options:no-error/> else (), |
432 | + <parse-xml-options:base-uri>{ |
433 | + attribute{xs:QName("parse-xml-options:value")}{$base-uri}} |
434 | + </parse-xml-options:base-uri> |
435 | + }</parse-xml-options:options> |
436 | + return |
437 | + parse-xml:parse($xml-string, $new_options) |
438 | +}; |
439 | |
440 | === modified file 'src/api/annotationimpl.cpp' (properties changed: +x to -x) |
441 | === modified file 'src/api/xmldatamanagerimpl.cpp' |
442 | --- src/api/xmldatamanagerimpl.cpp 2012-01-23 10:06:24 +0000 |
443 | +++ src/api/xmldatamanagerimpl.cpp 2012-03-13 16:09:23 +0000 |
444 | @@ -75,7 +75,7 @@ |
445 | |
446 | ********************************************************************************/ |
447 | XmlDataManagerImpl::XmlDataManagerImpl() |
448 | - : |
449 | + : |
450 | theDocManager(0), |
451 | theColManager(0), |
452 | theW3CColManager(0) |
453 | @@ -126,7 +126,9 @@ |
454 | std::ostringstream lProlog; |
455 | lProlog |
456 | << "import module namespace d = '" << static_context::ZORBA_FETCH_FN_NS << "';" |
457 | - << "import module namespace x = '" << static_context::ZORBA_XML_FN_NS << "';"; |
458 | + << "import module namespace x = '" << static_context::ZORBA_XML_FN_NS << "';" |
459 | + << "import schema namespace opt = '" << static_context::ZORBA_XML_FN_OPTIONS_NS << "';"; |
460 | + |
461 | theContext->loadProlog(lProlog.str(), lHints); |
462 | } |
463 | |
464 | @@ -151,7 +153,7 @@ |
465 | DocumentManager* |
466 | XmlDataManagerImpl::getDocumentManager() const |
467 | { |
468 | - if (!theDocManager) |
469 | + if (!theDocManager) |
470 | { |
471 | theDocManager = new DocumentManagerImpl(theContext, theFactory); |
472 | theDocManager->registerDiagnosticHandler(theDiagnosticHandler); |
473 | @@ -166,7 +168,7 @@ |
474 | CollectionManager* |
475 | XmlDataManagerImpl::getCollectionManager() const |
476 | { |
477 | - if (!theColManager) |
478 | + if (!theColManager) |
479 | { |
480 | theColManager = new CollectionManagerImpl( |
481 | theContext, |
482 | @@ -185,7 +187,7 @@ |
483 | CollectionManager* |
484 | XmlDataManagerImpl::getW3CCollectionManager() const |
485 | { |
486 | - if (!theW3CColManager) |
487 | + if (!theW3CColManager) |
488 | { |
489 | theW3CColManager = new CollectionManagerImpl( |
490 | theContext, |
491 | @@ -280,21 +282,34 @@ |
492 | ZORBA_DM_TRY |
493 | { |
494 | Item lQName = theFactory->createQName(static_context::ZORBA_XML_FN_NS, |
495 | - "parse-xml-fragment"); |
496 | + "parse"); |
497 | |
498 | // create a streamable string item |
499 | std::vector<ItemSequence_t> lArgs; |
500 | - lArgs.push_back( |
501 | - new SingletonItemSequence(theFactory->createStreamableString(aStream, |
502 | - &streamReleaser))); |
503 | - |
504 | - std::ostringstream lOptions; |
505 | - lOptions << (aOptions.isDtdValidationEnabled()?"d":"D"); |
506 | - |
507 | - lOptions << (aOptions.isExternalEntityProcessingEnabled()?"e":"E"); |
508 | - |
509 | - lArgs.push_back( |
510 | - new SingletonItemSequence(theFactory->createString(lOptions.str()))); |
511 | + lArgs.push_back(new SingletonItemSequence( |
512 | + theFactory->createStreamableString(aStream, &streamReleaser))); |
513 | + |
514 | + Item empty_item; |
515 | + Item validated_options; |
516 | + NsBindings nsPairs; |
517 | + Item untyped_type = theFactory->createQName("http://www.w3.org/2001/XMLSchema", "xs", "untyped"); |
518 | + Item options_node = theFactory->createElementNode(empty_item, |
519 | + theFactory->createQName(static_context::ZORBA_XML_FN_OPTIONS_NS, "options"), |
520 | + untyped_type, false, false, nsPairs); |
521 | + |
522 | + if (aOptions.isDtdValidationEnabled()) |
523 | + theFactory->createElementNode(options_node, |
524 | + theFactory->createQName(static_context::ZORBA_XML_FN_OPTIONS_NS, "DTD-validate"), |
525 | + untyped_type, false, false, nsPairs); |
526 | + |
527 | + if (aOptions.isExternalEntityProcessingEnabled()) |
528 | + theFactory->createElementNode(options_node, |
529 | + theFactory->createQName(static_context::ZORBA_XML_FN_OPTIONS_NS, "parse-external-parsed-entity"), |
530 | + untyped_type, false, false, nsPairs); |
531 | + |
532 | + theContext->validate(options_node, validated_options, validate_strict); |
533 | + |
534 | + lArgs.push_back(new SingletonItemSequence(validated_options)); |
535 | |
536 | return theContext->invoke(lQName, lArgs); |
537 | } |
538 | @@ -315,23 +330,42 @@ |
539 | ZORBA_DM_TRY |
540 | { |
541 | Item lQName = theFactory->createQName(static_context::ZORBA_XML_FN_NS, |
542 | - "parse-xml-fragment"); |
543 | + "parse"); |
544 | |
545 | // create a streamable string item |
546 | std::vector<ItemSequence_t> lArgs; |
547 | - lArgs.push_back( |
548 | - new SingletonItemSequence(theFactory->createStreamableString(aStream, |
549 | - &streamReleaser))); |
550 | - lArgs.push_back( |
551 | - new SingletonItemSequence(theFactory->createString(aBaseURI))); |
552 | - |
553 | - std::ostringstream lOptions; |
554 | - lOptions << (aOptions.isDtdValidationEnabled()?"d":"D"); |
555 | - |
556 | - lOptions << (aOptions.isExternalEntityProcessingEnabled()?"e":"E"); |
557 | - |
558 | - lArgs.push_back( |
559 | - new SingletonItemSequence(theFactory->createString(lOptions.str()))); |
560 | + lArgs.push_back(new SingletonItemSequence( |
561 | + theFactory->createStreamableString(aStream, &streamReleaser))); |
562 | + |
563 | + Item empty_item; |
564 | + Item validated_options; |
565 | + NsBindings nsPairs; |
566 | + Item untyped_type = theFactory->createQName("http://www.w3.org/2001/XMLSchema", "xs", "untyped"); |
567 | + Item options_node = theFactory->createElementNode(empty_item, |
568 | + theFactory->createQName(static_context::ZORBA_XML_FN_OPTIONS_NS, "options"), |
569 | + untyped_type, false, false, nsPairs); |
570 | + |
571 | + if (aOptions.isDtdValidationEnabled()) |
572 | + theFactory->createElementNode(options_node, |
573 | + theFactory->createQName(static_context::ZORBA_XML_FN_OPTIONS_NS, "DTD-validate"), |
574 | + untyped_type, false, false, nsPairs); |
575 | + |
576 | + if (aOptions.isExternalEntityProcessingEnabled()) |
577 | + theFactory->createElementNode(options_node, |
578 | + theFactory->createQName(static_context::ZORBA_XML_FN_OPTIONS_NS, "parse-external-parsed-entity"), |
579 | + untyped_type, false, false, nsPairs); |
580 | + |
581 | + Item base_uri_node = theFactory->createElementNode(options_node, |
582 | + theFactory->createQName(static_context::ZORBA_XML_FN_OPTIONS_NS, "base-uri"), |
583 | + untyped_type, false, false, nsPairs); |
584 | + theFactory->createAttributeNode(base_uri_node, |
585 | + theFactory->createQName(static_context::ZORBA_XML_FN_OPTIONS_NS, "value"), |
586 | + Item(), |
587 | + theFactory->createString(aBaseURI)); |
588 | + |
589 | + theContext->validate(options_node, validated_options, validate_strict); |
590 | + |
591 | + lArgs.push_back(new SingletonItemSequence(validated_options)); |
592 | |
593 | return theContext->invoke(lQName, lArgs); |
594 | } |
595 | @@ -382,15 +416,15 @@ |
596 | theDiagnosticHandler = aDiagnosticHandler; |
597 | theUserDiagnosticHandler = true; |
598 | |
599 | - if (theColManager) |
600 | + if (theColManager) |
601 | { |
602 | theColManager->registerDiagnosticHandler(theDiagnosticHandler); |
603 | } |
604 | - if (theDocManager) |
605 | + if (theDocManager) |
606 | { |
607 | theDocManager->registerDiagnosticHandler(theDiagnosticHandler); |
608 | } |
609 | - if (theW3CColManager) |
610 | + if (theW3CColManager) |
611 | { |
612 | theW3CColManager->registerDiagnosticHandler(theDiagnosticHandler); |
613 | } |
614 | @@ -400,17 +434,17 @@ |
615 | /******************************************************************************* |
616 | |
617 | ********************************************************************************/ |
618 | -void XmlDataManagerImpl::registerStemmerProvider(StemmerProvider const *p) |
619 | +void XmlDataManagerImpl::registerStemmerProvider(StemmerProvider const *p) |
620 | { |
621 | SYNC_CODE(AutoLatch lock(theLatch, Latch::WRITE);) |
622 | - if ( theStemmerProviderWrapper ) |
623 | + if ( theStemmerProviderWrapper ) |
624 | { |
625 | if ( theStemmerProviderWrapper->get_provider() == p ) |
626 | return; |
627 | delete theStemmerProviderWrapper; |
628 | theStemmerProviderWrapper = nullptr; |
629 | } |
630 | - if ( p ) |
631 | + if ( p ) |
632 | { |
633 | theStemmerProviderWrapper = new internal::StemmerProviderWrapper( p ); |
634 | theStore->setStemmerProvider( theStemmerProviderWrapper ); |
635 | @@ -421,7 +455,7 @@ |
636 | /******************************************************************************* |
637 | |
638 | ********************************************************************************/ |
639 | -void XmlDataManagerImpl::registerTokenizerProvider(TokenizerProvider const *p) |
640 | +void XmlDataManagerImpl::registerTokenizerProvider(TokenizerProvider const *p) |
641 | { |
642 | SYNC_CODE(AutoLatch lock(theLatch, Latch::WRITE);) |
643 | theStore->setTokenizerProvider( p ); |
644 | |
645 | === modified file 'src/context/static_context.cpp' |
646 | --- src/context/static_context.cpp 2012-03-07 15:49:25 +0000 |
647 | +++ src/context/static_context.cpp 2012-03-13 16:09:23 +0000 |
648 | @@ -273,11 +273,11 @@ |
649 | static_context::W3C_XML_NS = "http://www.w3.org/XML/1998/namespace"; |
650 | |
651 | const char* |
652 | -static_context::ZORBA_MATH_FN_NS = |
653 | +static_context::ZORBA_MATH_FN_NS = |
654 | "http://www.zorba-xquery.com/modules/math"; |
655 | |
656 | const char* |
657 | -static_context::ZORBA_BASE64_FN_NS = |
658 | +static_context::ZORBA_BASE64_FN_NS = |
659 | "http://www.zorba-xquery.com/modules/converters/base64"; |
660 | |
661 | |
662 | @@ -286,11 +286,11 @@ |
663 | "http://www.zorba-xquery.com/modules/converters/json"; |
664 | |
665 | const char* |
666 | -static_context::ZORBA_NODEREF_FN_NS = |
667 | +static_context::ZORBA_NODEREF_FN_NS = |
668 | "http://www.zorba-xquery.com/modules/node-reference"; |
669 | |
670 | const char* |
671 | -static_context::ZORBA_NODEPOS_FN_NS = |
672 | +static_context::ZORBA_NODEPOS_FN_NS = |
673 | "http://www.zorba-xquery.com/modules/node-position"; |
674 | |
675 | const char* |
676 | @@ -298,71 +298,71 @@ |
677 | "http://www.zorba-xquery.com/modules/store/dynamic/collections/ddl"; |
678 | |
679 | const char* |
680 | -static_context::ZORBA_STORE_DYNAMIC_COLLECTIONS_DML_FN_NS = |
681 | +static_context::ZORBA_STORE_DYNAMIC_COLLECTIONS_DML_FN_NS = |
682 | "http://www.zorba-xquery.com/modules/store/dynamic/collections/dml"; |
683 | |
684 | const char* |
685 | -static_context::ZORBA_STORE_STATIC_COLLECTIONS_DDL_FN_NS = |
686 | +static_context::ZORBA_STORE_STATIC_COLLECTIONS_DDL_FN_NS = |
687 | "http://www.zorba-xquery.com/modules/store/static/collections/ddl"; |
688 | |
689 | const char* |
690 | -static_context::ZORBA_STORE_STATIC_COLLECTIONS_DML_FN_NS = |
691 | +static_context::ZORBA_STORE_STATIC_COLLECTIONS_DML_FN_NS = |
692 | "http://www.zorba-xquery.com/modules/store/static/collections/dml"; |
693 | |
694 | const char* |
695 | -static_context::ZORBA_STORE_STATIC_INDEXES_DDL_FN_NS = |
696 | +static_context::ZORBA_STORE_STATIC_INDEXES_DDL_FN_NS = |
697 | "http://www.zorba-xquery.com/modules/store/static/indexes/ddl"; |
698 | |
699 | const char* |
700 | -static_context::ZORBA_STORE_STATIC_INDEXES_DML_FN_NS = |
701 | +static_context::ZORBA_STORE_STATIC_INDEXES_DML_FN_NS = |
702 | "http://www.zorba-xquery.com/modules/store/static/indexes/dml"; |
703 | |
704 | const char* |
705 | -static_context::ZORBA_STORE_STATIC_INTEGRITY_CONSTRAINTS_DDL_FN_NS = |
706 | +static_context::ZORBA_STORE_STATIC_INTEGRITY_CONSTRAINTS_DDL_FN_NS = |
707 | "http://www.zorba-xquery.com/modules/store/static/integrity_constraints/ddl"; |
708 | |
709 | const char* |
710 | -static_context::ZORBA_STORE_STATIC_INTEGRITY_CONSTRAINTS_DML_FN_NS = |
711 | +static_context::ZORBA_STORE_STATIC_INTEGRITY_CONSTRAINTS_DML_FN_NS = |
712 | "http://www.zorba-xquery.com/modules/store/static/integrity_constraints/dml"; |
713 | |
714 | const char* |
715 | -static_context::ZORBA_STORE_DYNAMIC_DOCUMENTS_FN_NS = |
716 | +static_context::ZORBA_STORE_DYNAMIC_DOCUMENTS_FN_NS = |
717 | "http://www.zorba-xquery.com/modules/store/dynamic/documents"; |
718 | |
719 | const char* |
720 | -static_context::ZORBA_STORE_DYNAMIC_UNORDERED_MAP_FN_NS = |
721 | +static_context::ZORBA_STORE_DYNAMIC_UNORDERED_MAP_FN_NS = |
722 | "http://www.zorba-xquery.com/modules/store/data-structures/unordered-map"; |
723 | |
724 | const char* |
725 | -static_context::ZORBA_SCHEMA_FN_NS = |
726 | +static_context::ZORBA_SCHEMA_FN_NS = |
727 | "http://www.zorba-xquery.com/modules/schema"; |
728 | |
729 | const char* |
730 | -static_context::ZORBA_XQDOC_FN_NS = |
731 | +static_context::ZORBA_XQDOC_FN_NS = |
732 | "http://www.zorba-xquery.com/modules/xqdoc"; |
733 | |
734 | const char* |
735 | -static_context::ZORBA_RANDOM_FN_NS = |
736 | +static_context::ZORBA_RANDOM_FN_NS = |
737 | "http://www.zorba-xquery.com/modules/random"; |
738 | |
739 | const char* |
740 | -static_context::ZORBA_INTROSP_SCTX_FN_NS = |
741 | +static_context::ZORBA_INTROSP_SCTX_FN_NS = |
742 | "http://www.zorba-xquery.com/modules/introspection/sctx"; |
743 | |
744 | const char* |
745 | -static_context::ZORBA_REFLECTION_FN_NS = |
746 | +static_context::ZORBA_REFLECTION_FN_NS = |
747 | "http://www.zorba-xquery.com/modules/reflection"; |
748 | |
749 | const char* |
750 | -static_context::ZORBA_UTIL_FN_NS = |
751 | +static_context::ZORBA_UTIL_FN_NS = |
752 | "http://www.zorba-xquery.com/zorba/util-functions"; |
753 | |
754 | const char* |
755 | -static_context::ZORBA_SCRIPTING_FN_NS = |
756 | +static_context::ZORBA_SCRIPTING_FN_NS = |
757 | "http://www.zorba-xquery.com/zorba/scripting"; |
758 | |
759 | const char* |
760 | -static_context::ZORBA_STRING_FN_NS = |
761 | +static_context::ZORBA_STRING_FN_NS = |
762 | "http://www.zorba-xquery.com/modules/string"; |
763 | |
764 | const char* |
765 | @@ -374,45 +374,50 @@ |
766 | "http://www.zorba-xquery.com/modules/fetch"; |
767 | |
768 | const char* |
769 | -static_context::ZORBA_NODE_FN_NS = |
770 | +static_context::ZORBA_NODE_FN_NS = |
771 | "http://www.zorba-xquery.com/modules/node"; |
772 | |
773 | const char* |
774 | -static_context::ZORBA_XML_FN_NS = |
775 | +static_context::ZORBA_XML_FN_NS = |
776 | "http://www.zorba-xquery.com/modules/xml"; |
777 | |
778 | +const char* |
779 | +static_context::ZORBA_XML_FN_OPTIONS_NS = |
780 | +"http://www.zorba-xquery.com/modules/xml-options"; |
781 | + |
782 | + |
783 | /***************************************************************************//** |
784 | Target namespaces of zorba reserved modules |
785 | ********************************************************************************/ |
786 | const char* |
787 | -static_context::XQUERY_OP_NS = |
788 | +static_context::XQUERY_OP_NS = |
789 | "http://www.zorba-xquery.com/internal/xquery-ops"; |
790 | |
791 | const char* |
792 | -static_context::ZORBA_OP_NS = |
793 | +static_context::ZORBA_OP_NS = |
794 | "http://www.zorba-xquery.com/internal/zorba-ops"; |
795 | |
796 | /***************************************************************************//** |
797 | Options-related namespaces |
798 | ********************************************************************************/ |
799 | -const char* |
800 | -static_context::ZORBA_OPTIONS_NS = |
801 | +const char* |
802 | +static_context::ZORBA_OPTIONS_NS = |
803 | "http://www.zorba-xquery.com/options"; |
804 | |
805 | -const char* |
806 | -static_context::ZORBA_OPTION_WARN_NS = |
807 | +const char* |
808 | +static_context::ZORBA_OPTION_WARN_NS = |
809 | "http://www.zorba-xquery.com/options/warnings"; |
810 | |
811 | -const char* |
812 | -static_context::ZORBA_OPTION_FEATURE_NS = |
813 | +const char* |
814 | +static_context::ZORBA_OPTION_FEATURE_NS = |
815 | "http://www.zorba-xquery.com/options/features"; |
816 | |
817 | -const char* |
818 | -static_context::ZORBA_OPTION_OPTIM_NS = |
819 | +const char* |
820 | +static_context::ZORBA_OPTION_OPTIM_NS = |
821 | "http://www.zorba-xquery.com/options/optimizer"; |
822 | |
823 | -const char* |
824 | -static_context::ZORBA_VERSIONING_NS = |
825 | +const char* |
826 | +static_context::ZORBA_VERSIONING_NS = |
827 | "http://www.zorba-xquery.com/options/versioning"; |
828 | |
829 | |
830 | @@ -450,7 +455,7 @@ |
831 | ns == ZORBA_FETCH_FN_NS || |
832 | ns == ZORBA_NODE_FN_NS || |
833 | ns == ZORBA_XML_FN_NS); |
834 | - } |
835 | + } |
836 | else if (ns == W3C_FN_NS || ns == XQUERY_MATH_FN_NS) |
837 | { |
838 | return true; |
839 | @@ -527,7 +532,7 @@ |
840 | if (lVarName == static_context::DOT_POS_VAR_NAME) |
841 | { |
842 | lVarName = "context position"; |
843 | - } |
844 | + } |
845 | else if (lVarName == static_context::DOT_SIZE_VAR_NAME) |
846 | { |
847 | lVarName = "context size"; |
848 | @@ -715,7 +720,7 @@ |
849 | |
850 | if (theVariablesMap) |
851 | delete theVariablesMap; |
852 | - |
853 | + |
854 | if (theImportedPrivateVariablesMap) |
855 | delete theImportedPrivateVariablesMap; |
856 | |
857 | @@ -963,7 +968,7 @@ |
858 | ar & theContextItemType; |
859 | |
860 | ar & theVariablesMap; |
861 | - ar & theImportedPrivateVariablesMap; |
862 | + ar & theImportedPrivateVariablesMap; |
863 | |
864 | ar.set_serialize_only_for_eval(true); |
865 | ar & theFunctionMap; |
866 | @@ -1464,7 +1469,7 @@ |
867 | |
868 | ********************************************************************************/ |
869 | std::auto_ptr<internal::Resource> static_context::resolve_uri( |
870 | - zstring const& aUri, |
871 | + zstring const& aUri, |
872 | internal::EntityData::Kind aEntityKind, |
873 | zstring& oErrorMessage) const |
874 | { |
875 | @@ -1496,7 +1501,7 @@ |
876 | internal::EntityData const lData(aEntityKind); |
877 | |
878 | apply_uri_mappers(aUri, &lData, internal::URIMapper::COMPONENT, oComponents); |
879 | - if (oComponents.size() == 0) |
880 | + if (oComponents.size() == 0) |
881 | { |
882 | oComponents.push_back(aUri); |
883 | } |
884 | @@ -1507,9 +1512,9 @@ |
885 | |
886 | ********************************************************************************/ |
887 | void static_context::apply_uri_mappers( |
888 | - zstring const& aUri, |
889 | + zstring const& aUri, |
890 | internal::EntityData const* aEntityData, |
891 | - internal::URIMapper::Kind aMapperKind, |
892 | + internal::URIMapper::Kind aMapperKind, |
893 | std::vector<zstring>& oUris) const |
894 | { |
895 | // Initialize list with the one input URI. |
896 | @@ -1525,7 +1530,7 @@ |
897 | mapper != sctx->theURIMappers.end(); mapper++) |
898 | { |
899 | // Only call mappers of the appropriate kind |
900 | - if ((*mapper)->mapperKind() != aMapperKind) |
901 | + if ((*mapper)->mapperKind() != aMapperKind) |
902 | { |
903 | continue; |
904 | } |
905 | @@ -1541,16 +1546,16 @@ |
906 | size_t const lPreNumResultUris = lResultUris.size(); |
907 | (*mapper)->mapURI(*uri, aEntityData, *this, lResultUris); |
908 | size_t const lPostNumResultUris = lResultUris.size(); |
909 | - if (lPreNumResultUris == lPostNumResultUris) |
910 | + if (lPreNumResultUris == lPostNumResultUris) |
911 | { |
912 | // Mapper didn't map this URI to anything new, therefore add |
913 | // the original URI to the result list |
914 | lResultUris.push_back(*uri); |
915 | } |
916 | - else |
917 | + else |
918 | { |
919 | // Check the new entries for DENY_ACCESS. |
920 | - for (size_t i = lPreNumResultUris; i < lPostNumResultUris; i++) |
921 | + for (size_t i = lPreNumResultUris; i < lPostNumResultUris; i++) |
922 | { |
923 | if (lResultUris.at(i) == internal::URIMapper::DENY_ACCESS) { |
924 | throw XQUERY_EXCEPTION(zerr::ZXQP0029_URI_ACCESS_DENIED, |
925 | @@ -1574,14 +1579,14 @@ |
926 | void static_context::apply_url_resolvers( |
927 | std::vector<zstring>& aUrls, |
928 | internal::EntityData const* aEntityData, |
929 | - std::auto_ptr<internal::Resource>& oResource, |
930 | + std::auto_ptr<internal::Resource>& oResource, |
931 | zstring& oErrorMessage) const |
932 | { |
933 | oErrorMessage = ""; |
934 | |
935 | // Iterate through all candidate URLs... |
936 | for (std::vector<zstring>::iterator url = aUrls.begin(); |
937 | - url != aUrls.end(); url++) |
938 | + url != aUrls.end(); url++) |
939 | { |
940 | // We should never try to load the http-client module using its original URI, |
941 | // because that URI starts with http:, so we'll try to load the http-client |
942 | @@ -1600,7 +1605,7 @@ |
943 | sctx->theURLResolvers.begin(); |
944 | resolver != sctx->theURLResolvers.end(); resolver++) |
945 | { |
946 | - try |
947 | + try |
948 | { |
949 | // Take ownership of returned Resource (if any) |
950 | oResource.reset((*resolver)->resolveURL(*url, aEntityData)); |
951 | @@ -1611,15 +1616,15 @@ |
952 | return; |
953 | } |
954 | } |
955 | - catch (const std::exception& e) |
956 | + catch (const std::exception& e) |
957 | { |
958 | - if (oErrorMessage == "") |
959 | + if (oErrorMessage == "") |
960 | { |
961 | // Really no point in saving anything more than the first message |
962 | oErrorMessage = e.what(); |
963 | } |
964 | } |
965 | - catch (...) |
966 | + catch (...) |
967 | { |
968 | // Not much we can do here except try the rest of the |
969 | // candidate URIs |
970 | @@ -2169,7 +2174,7 @@ |
971 | { |
972 | if (externalVarsOnly) |
973 | { |
974 | - if((*ite).second->is_external()) |
975 | + if((*ite).second->is_external()) |
976 | vars.push_back((*ite).second); |
977 | } |
978 | else |
979 | @@ -2179,7 +2184,7 @@ |
980 | } |
981 | } |
982 | } |
983 | - |
984 | + |
985 | if (returnPrivateVars && sctx->theImportedPrivateVariablesMap != NULL) |
986 | { |
987 | VariableMap::iterator ite = sctx->theImportedPrivateVariablesMap->begin(); |
988 | @@ -2199,7 +2204,7 @@ |
989 | { |
990 | if(externalVarsOnly) |
991 | { |
992 | - if((*ite).second->is_external()) |
993 | + if((*ite).second->is_external()) |
994 | vars.push_back((*ite).second); |
995 | } |
996 | else |
997 | @@ -3220,11 +3225,11 @@ |
998 | PrologOption option(qname, value); |
999 | |
1000 | store::Item* qname2 = option.theName.getp(); |
1001 | - |
1002 | + |
1003 | zstring lNamespace = qname2->getNamespace(); |
1004 | |
1005 | // If option namespace starts with zorba options namespace |
1006 | - if ( lNamespace.find(ZORBA_OPTIONS_NS) == 0 ) |
1007 | + if ( lNamespace.find(ZORBA_OPTIONS_NS) == 0 ) |
1008 | { |
1009 | zstring lLocalName = qname2->getLocalName(); |
1010 | |
1011 | @@ -3239,7 +3244,7 @@ |
1012 | process_feature_option(lVal1, lLocalName == "enable", loc); |
1013 | lCommaFound = true; |
1014 | } |
1015 | - process_feature_option(lCommaFound ? lVal2 : lVal1, |
1016 | + process_feature_option(lCommaFound ? lVal2 : lVal1, |
1017 | lLocalName == "enable", |
1018 | loc); |
1019 | } |
1020 | @@ -3254,7 +3259,7 @@ |
1021 | process_optim_option(lVal1, lLocalName == "enable", loc); |
1022 | lCommaFound = true; |
1023 | } |
1024 | - process_optim_option(lCommaFound ? lVal2 : lVal1, |
1025 | + process_optim_option(lCommaFound ? lVal2 : lVal1, |
1026 | lLocalName == "enable", |
1027 | loc); |
1028 | } |
1029 | @@ -3282,7 +3287,7 @@ |
1030 | // Re-use "ModuleVersion" class since it does 98% of the work for us; |
1031 | // just use a fake URI |
1032 | ModuleVersion lOptVersion(zstring(ZORBA_VERSIONING_NS) + "/corezorba", value); |
1033 | - if (! lOptVersion.is_valid_version()) |
1034 | + if (! lOptVersion.is_valid_version()) |
1035 | { |
1036 | RAISE_ERROR(zerr::ZXQP0039_INVALID_VERSION_SPECIFICATION, loc, |
1037 | ERROR_PARAMS(value)); |
1038 | @@ -3291,7 +3296,7 @@ |
1039 | ModuleVersion lZorbaVersion(zstring(ZORBA_VERSIONING_NS) + "/corezorba", |
1040 | ZORBA_VERSION); |
1041 | |
1042 | - if ( ! lZorbaVersion.satisfies(lOptVersion)) |
1043 | + if ( ! lZorbaVersion.satisfies(lOptVersion)) |
1044 | { |
1045 | RAISE_ERROR(zerr::ZXQP0038_INAPPROPRIATE_ZORBA_VERSION, loc, |
1046 | ERROR_PARAMS(value, ZORBA_VERSION)); |
1047 | @@ -3301,7 +3306,7 @@ |
1048 | |
1049 | // If the option is in (starts-with) Zorba's own namespace but not known, |
1050 | // we raise an error |
1051 | - else |
1052 | + else |
1053 | { |
1054 | RAISE_ERROR(zerr::ZXQP0060_OPTION_NOT_KNOWN, loc, |
1055 | ERROR_PARAMS(qname2->getNamespace() + ":" + qname2->getLocalName())); |
1056 | @@ -3352,7 +3357,7 @@ |
1057 | const zstring& name, |
1058 | const QueryLoc& loc) |
1059 | { |
1060 | - store::Item_t lQName = parse_and_expand_qname( value, ZORBA_WARN_NS, loc ); |
1061 | + store::Item_t lQName = parse_and_expand_qname( value, ZORBA_WARN_NS, loc ); |
1062 | |
1063 | std::vector<store::Item_t>::iterator lIter; |
1064 | |
1065 | @@ -3418,7 +3423,7 @@ |
1066 | RAISE_ERROR(zerr::ZDST0060_FEATURE_NOT_SUPPORTED, loc, |
1067 | ERROR_PARAMS(featureName->getStringValue(), |
1068 | ZED(ZDST0060_unknown_namespace), |
1069 | - featureName->getNamespace())); |
1070 | + featureName->getNamespace())); |
1071 | } |
1072 | |
1073 | feature::kind k; |
1074 | @@ -3434,7 +3439,7 @@ |
1075 | RAISE_ERROR(zerr::ZDST0060_FEATURE_NOT_SUPPORTED, loc, |
1076 | ERROR_PARAMS(featureName->getStringValue(), |
1077 | ZED(ZDST0060_unknown_localname), |
1078 | - featureName->getLocalName())); |
1079 | + featureName->getLocalName())); |
1080 | } |
1081 | } |
1082 | |
1083 | @@ -3450,7 +3455,7 @@ |
1084 | if (value != "for-serialization-only") |
1085 | { |
1086 | RAISE_ERROR(zerr::ZDST0060_FEATURE_NOT_SUPPORTED, loc, |
1087 | - ERROR_PARAMS(value, ZED(ZDST0060_unknown_localname), value)); |
1088 | + ERROR_PARAMS(value, ZED(ZDST0060_unknown_localname), value)); |
1089 | } |
1090 | } |
1091 | |
1092 | @@ -3974,11 +3979,11 @@ |
1093 | { |
1094 | theImportedPrivateVariablesMap = new VariableMap(0, NULL, 8, false); |
1095 | } |
1096 | - |
1097 | + |
1098 | if (!theImportedPrivateVariablesMap->insert(ve->get_name(), ve)) |
1099 | { |
1100 | throw XQUERY_EXCEPTION_VAR(err::XQST0049, ERROR_PARAMS( ve->get_name()->getStringValue() ), ERROR_LOC( loc )); |
1101 | - } |
1102 | + } |
1103 | } |
1104 | } |
1105 | } |
1106 | |
1107 | === modified file 'src/context/static_context.h' |
1108 | --- src/context/static_context.h 2012-03-07 15:49:25 +0000 |
1109 | +++ src/context/static_context.h 2012-03-13 16:09:23 +0000 |
1110 | @@ -273,7 +273,7 @@ |
1111 | theExternalModulesMap : |
1112 | ----------------------- |
1113 | |
1114 | - theTypeMnager : |
1115 | + theTypeManager : |
1116 | --------------- |
1117 | If non NULL, then "this" is the root sctx of a module, and theTypeManager stores |
1118 | the schemas that are imported by the associated module (in-scope element |
1119 | @@ -296,7 +296,7 @@ |
1120 | |
1121 | theVariablesMap : |
1122 | ----------------- |
1123 | - |
1124 | + |
1125 | theImportedPrivateVariablesMap : |
1126 | -------------------------------- |
1127 | |
1128 | @@ -469,6 +469,7 @@ |
1129 | static const char* ZORBA_FETCH_FN_NS; |
1130 | static const char* ZORBA_NODE_FN_NS; |
1131 | static const char* ZORBA_XML_FN_NS; |
1132 | + static const char* ZORBA_XML_FN_OPTIONS_NS; |
1133 | |
1134 | // Namespaces of virtual modules declaring zorba builtin functions |
1135 | static const char* ZORBA_UTIL_FN_NS; |
1136 | @@ -522,7 +523,7 @@ |
1137 | xqtref_t theContextItemType; |
1138 | |
1139 | VariableMap * theVariablesMap; |
1140 | - |
1141 | + |
1142 | VariableMap * theImportedPrivateVariablesMap; |
1143 | |
1144 | FunctionMap * theFunctionMap; |
1145 | |
1146 | === modified file 'src/diagnostics/diagnostic_en.xml' |
1147 | --- src/diagnostics/diagnostic_en.xml 2012-03-12 23:43:56 +0000 |
1148 | +++ src/diagnostics/diagnostic_en.xml 2012-03-13 16:09:23 +0000 |
1149 | @@ -1753,7 +1753,7 @@ |
1150 | </diagnostic> |
1151 | |
1152 | <diagnostic code="ZXQD0003" name="INCONSISTENT_PARSE_FRAGMENT_OPTIONS"> |
1153 | - <value>inconsistent options to the parse-xml-fragment() function: $1</value> |
1154 | + <value>inconsistent options to the parse-xml() function: $1</value> |
1155 | </diagnostic> |
1156 | |
1157 | <diagnostic code="ZXQD0004" name="INVALID_PARAMETER"> |
1158 | @@ -2620,6 +2620,10 @@ |
1159 | <entry key="BadXMLDocument_2o"> |
1160 | <value>malformed XML document${ at "2"}</value> |
1161 | </entry> |
1162 | + |
1163 | + <entry key="BadXMLNoOpeningTag"> |
1164 | + <value>closing tag without matching opening tag</value> |
1165 | + </entry> |
1166 | |
1167 | <entry key="BadXMLForXQDoc_3"> |
1168 | <value>can not parse as XML for xqdoc: $3</value> |
1169 | @@ -3517,12 +3521,12 @@ |
1170 | <value>xqueryx content is empty</value> |
1171 | </entry> |
1172 | |
1173 | - <entry key="ParseFragmentOptionDSLNotAllowed"> |
1174 | - <value>if the e option is specified, none of the options d, s, or l may be enabled</value> |
1175 | - </entry> |
1176 | - |
1177 | <entry key="ParseFragmentOptionCombinationNotAllowed"> |
1178 | - <value>specifying both $2 and $3 is an error</value> |
1179 | + <value>only one of the <schema-validate/>, <DTD-validate/> or <parse-external-parsed-entity/> options can be specified</value> |
1180 | + </entry> |
1181 | + |
1182 | + <entry key="ParseFragmentInvalidOptions"> |
1183 | + <value>invalid options passed to the parse-xml:parse() function, the element must in the schema target namespace</value> |
1184 | </entry> |
1185 | |
1186 | </subvalues> |
1187 | |
1188 | === modified file 'src/diagnostics/pregenerated/dict_en.cpp' |
1189 | --- src/diagnostics/pregenerated/dict_en.cpp 2012-03-12 23:43:56 +0000 |
1190 | +++ src/diagnostics/pregenerated/dict_en.cpp 2012-03-13 16:09:23 +0000 |
1191 | @@ -386,7 +386,7 @@ |
1192 | { "ZWST0006", "\"$1\": function caching might not give the intended result because the function is declared as $2" }, |
1193 | { "ZXQD0001", "\"$1\": prefix not declared when calling function \"$2\" from $3" }, |
1194 | { "ZXQD0002", "\"$1\": $2" }, |
1195 | - { "ZXQD0003", "inconsistent options to the parse-xml-fragment() function: $1" }, |
1196 | + { "ZXQD0003", "inconsistent options to the parse-xml() function: $1" }, |
1197 | { "ZXQD0004", "invalid parameter: $1" }, |
1198 | { "ZXQD0005", "key with type $1 not subtype or castable to target type $2 of map ($3)" }, |
1199 | { "ZXQD0006", "\"$1\": invalid UTF-8 byte sequence" }, |
1200 | @@ -464,6 +464,7 @@ |
1201 | { "~BadWordNetPtr_2", "\"$2\": invalid pointer type" }, |
1202 | { "~BadXMLDocument_2o", "malformed XML document${ at \"2\"}" }, |
1203 | { "~BadXMLForXQDoc_3", "can not parse as XML for xqdoc: $3" }, |
1204 | + { "~BadXMLNoOpeningTag", "closing tag without matching opening tag" }, |
1205 | { "~BadXQueryVersion", "unsupported XQuery version" }, |
1206 | { "~Base64BadChar", "invalid Base64 character" }, |
1207 | { "~Base64Equals", "in Base64, '=' must be at the end and followed by one of [AEIMQUYcgkosw048]" }, |
1208 | @@ -582,8 +583,8 @@ |
1209 | { "~OpNodeBeforeMustHaveNodes", "op:node-before() must have nodes as parameters" }, |
1210 | { "~OperationNotDef_23", "$2 not defined for type \"$3\"" }, |
1211 | { "~OperationNotPossibleWithTypes_234", "\"$2\": operation not possible with parameters of type \"$3\" and \"$4\"" }, |
1212 | - { "~ParseFragmentOptionCombinationNotAllowed", "specifying both $2 and $3 is an error" }, |
1213 | - { "~ParseFragmentOptionDSLNotAllowed", "if the e option is specified, none of the options d, s, or l may be enabled" }, |
1214 | + { "~ParseFragmentInvalidOptions", "invalid options passed to the parse-xml:parse() function, the element must in the schema target namespace" }, |
1215 | + { "~ParseFragmentOptionCombinationNotAllowed", "only one of the <schema-validate/>, <DTD-validate/> or <parse-external-parsed-entity/> options can be specified" }, |
1216 | { "~ParserInitFailed", "parser initialization failed" }, |
1217 | { "~ParserNoCreateTree", "XML tree creation failed" }, |
1218 | { "~PromotionImpossible", "promotion not possible" }, |
1219 | |
1220 | === modified file 'src/functions/pregenerated/func_parse_fragment.cpp' |
1221 | --- src/functions/pregenerated/func_parse_fragment.cpp 2012-02-16 12:48:17 +0000 |
1222 | +++ src/functions/pregenerated/func_parse_fragment.cpp 2012-03-13 16:09:23 +0000 |
1223 | @@ -31,7 +31,7 @@ |
1224 | |
1225 | |
1226 | |
1227 | -PlanIter_t fn_zorba_xml_parse_xml_fragment::codegen( |
1228 | +PlanIter_t fn_zorba_xml_parse::codegen( |
1229 | CompilerCB*, |
1230 | static_context* sctx, |
1231 | const QueryLoc& loc, |
1232 | @@ -46,26 +46,12 @@ |
1233 | { |
1234 | |
1235 | |
1236 | - DECL_WITH_KIND(sctx, fn_zorba_xml_parse_xml_fragment, |
1237 | - (createQName("http://www.zorba-xquery.com/modules/xml","","parse-xml-fragment"), |
1238 | - GENV_TYPESYSTEM.STRING_TYPE_QUESTION, |
1239 | - GENV_TYPESYSTEM.STRING_TYPE_ONE, |
1240 | - GENV_TYPESYSTEM.ANY_NODE_TYPE_STAR), |
1241 | - FunctionConsts::FN_ZORBA_XML_PARSE_XML_FRAGMENT_2); |
1242 | - |
1243 | - } |
1244 | - |
1245 | - |
1246 | - { |
1247 | - |
1248 | - |
1249 | - DECL_WITH_KIND(sctx, fn_zorba_xml_parse_xml_fragment, |
1250 | - (createQName("http://www.zorba-xquery.com/modules/xml","","parse-xml-fragment"), |
1251 | - GENV_TYPESYSTEM.STRING_TYPE_QUESTION, |
1252 | - GENV_TYPESYSTEM.STRING_TYPE_ONE, |
1253 | - GENV_TYPESYSTEM.STRING_TYPE_ONE, |
1254 | - GENV_TYPESYSTEM.ANY_NODE_TYPE_STAR), |
1255 | - FunctionConsts::FN_ZORBA_XML_PARSE_XML_FRAGMENT_3); |
1256 | + DECL_WITH_KIND(sctx, fn_zorba_xml_parse, |
1257 | + (createQName("http://www.zorba-xquery.com/modules/xml","","parse"), |
1258 | + GENV_TYPESYSTEM.STRING_TYPE_QUESTION, |
1259 | + GENV_TYPESYSTEM.ELEMENT_TYPE_QUESTION, |
1260 | + GENV_TYPESYSTEM.ANY_NODE_TYPE_STAR), |
1261 | + FunctionConsts::FN_ZORBA_XML_PARSE_2); |
1262 | |
1263 | } |
1264 | |
1265 | |
1266 | === modified file 'src/functions/pregenerated/func_parse_fragment.h' |
1267 | --- src/functions/pregenerated/func_parse_fragment.h 2012-01-11 17:30:25 +0000 |
1268 | +++ src/functions/pregenerated/func_parse_fragment.h 2012-03-13 16:09:23 +0000 |
1269 | @@ -38,11 +38,11 @@ |
1270 | |
1271 | |
1272 | |
1273 | -//fn-zorba-xml:parse-xml-fragment |
1274 | -class fn_zorba_xml_parse_xml_fragment : public function |
1275 | +//fn-zorba-xml:parse |
1276 | +class fn_zorba_xml_parse : public function |
1277 | { |
1278 | public: |
1279 | - fn_zorba_xml_parse_xml_fragment(const signature& sig, FunctionConsts::FunctionKind kind) |
1280 | + fn_zorba_xml_parse(const signature& sig, FunctionConsts::FunctionKind kind) |
1281 | : |
1282 | function(sig, kind) |
1283 | { |
1284 | |
1285 | === modified file 'src/functions/pregenerated/function_enum.h' |
1286 | --- src/functions/pregenerated/function_enum.h 2012-03-08 18:51:25 +0000 |
1287 | +++ src/functions/pregenerated/function_enum.h 2012-03-13 16:09:23 +0000 |
1288 | @@ -256,8 +256,7 @@ |
1289 | FN_FORMAT_NUMBER_3, |
1290 | FN_FORMAT_INTEGER_2, |
1291 | FN_FORMAT_INTEGER_3, |
1292 | - FN_ZORBA_XML_PARSE_XML_FRAGMENT_2, |
1293 | - FN_ZORBA_XML_PARSE_XML_FRAGMENT_3, |
1294 | + FN_ZORBA_XML_PARSE_2, |
1295 | FN_PARSE_XML_1, |
1296 | FN_PARSE_XML_2, |
1297 | FN_SERIALIZE_1, |
1298 | |
1299 | === modified file 'src/runtime/parsing_and_serializing/fragment_istream.h' (properties changed: +x to -x) |
1300 | --- src/runtime/parsing_and_serializing/fragment_istream.h 2011-07-16 13:33:13 +0000 |
1301 | +++ src/runtime/parsing_and_serializing/fragment_istream.h 2012-03-13 16:09:23 +0000 |
1302 | @@ -18,55 +18,99 @@ |
1303 | #define ZORBA_RUNTIME_PARSING_AND_SERIALIZING_FRAGMENT_ISTREAM_H |
1304 | |
1305 | #include <iostream> |
1306 | +#include <libxml/parser.h> |
1307 | +#include <store/api/iterator.h> |
1308 | |
1309 | namespace zorba { |
1310 | |
1311 | /** |
1312 | - * A class to hold an input stream for the parse-xml-fragment function |
1313 | - * Author: Zorba Team |
1314 | + * A class to hold an input stream for the parse-xml:parse() function |
1315 | + * Author: Nicolae Brinza |
1316 | */ |
1317 | class FragmentIStream : public std::istream |
1318 | { |
1319 | public: |
1320 | + static const unsigned int BUFFER_SIZE = 4096; |
1321 | + static const unsigned int LOOKAHEAD_BYTES = 3; // lookahead fetching is implemented, but currently not used |
1322 | + static const unsigned int PARSED_NODES_BATCH_SIZE = 1024; |
1323 | + |
1324 | +public: |
1325 | FragmentIStream() |
1326 | : |
1327 | std::istream(NULL), |
1328 | theIss(NULL), |
1329 | theStream(NULL), |
1330 | theBuffer(NULL), |
1331 | - buffer_size(0), |
1332 | - current_offset(0) |
1333 | + bytes_in_buffer(0), |
1334 | + current_offset(0), |
1335 | + current_element_depth(0), |
1336 | + root_elements_to_skip(0), |
1337 | + ctxt(NULL), |
1338 | + first_start_doc(true), |
1339 | + forced_parser_stop(false), |
1340 | + reached_eof(false), |
1341 | + parsed_nodes_count(0), |
1342 | + children(NULL) |
1343 | { |
1344 | }; |
1345 | |
1346 | + bool stream_is_consumed() |
1347 | + { |
1348 | + return reached_eof && current_offset >= bytes_in_buffer; |
1349 | + } |
1350 | + |
1351 | void reset() |
1352 | { |
1353 | if (theBuffer) |
1354 | + { |
1355 | delete[] theBuffer; |
1356 | + } |
1357 | + |
1358 | if (theIss) |
1359 | + { |
1360 | delete theIss; |
1361 | + } |
1362 | + |
1363 | + if (ctxt) |
1364 | + { |
1365 | + xmlCtxtReset(ctxt); |
1366 | + xmlFreeParserCtxt(ctxt); |
1367 | + } |
1368 | |
1369 | theIss = NULL; |
1370 | theStream = NULL; |
1371 | theBuffer = NULL; |
1372 | - buffer_size = 0; |
1373 | + bytes_in_buffer = 0; |
1374 | current_offset = 0; |
1375 | + current_element_depth = 0; |
1376 | + root_elements_to_skip = 0; |
1377 | + ctxt = NULL; |
1378 | + first_start_doc = true; |
1379 | + forced_parser_stop = false; |
1380 | + reached_eof = false; |
1381 | + parsed_nodes_count = 0; |
1382 | + children = NULL; |
1383 | } |
1384 | |
1385 | virtual ~FragmentIStream() |
1386 | { |
1387 | - if (theBuffer) |
1388 | - delete[] theBuffer; |
1389 | - if (theIss) |
1390 | - delete theIss; |
1391 | + reset(); |
1392 | } |
1393 | |
1394 | public: |
1395 | std::istringstream* theIss; |
1396 | std::istream* theStream; |
1397 | char* theBuffer; |
1398 | - unsigned long buffer_size; |
1399 | + unsigned long bytes_in_buffer; |
1400 | unsigned long current_offset; |
1401 | + int current_element_depth; |
1402 | + int root_elements_to_skip; |
1403 | + xmlParserCtxtPtr ctxt; |
1404 | + bool first_start_doc; |
1405 | + bool forced_parser_stop; |
1406 | + bool reached_eof; |
1407 | + unsigned int parsed_nodes_count; |
1408 | + store::Iterator_t children; |
1409 | }; |
1410 | |
1411 | } |
1412 | |
1413 | === modified file 'src/runtime/parsing_and_serializing/parse_fragment_impl.cpp' (properties changed: +x to -x) |
1414 | --- src/runtime/parsing_and_serializing/parse_fragment_impl.cpp 2011-08-10 02:50:23 +0000 |
1415 | +++ src/runtime/parsing_and_serializing/parse_fragment_impl.cpp 2012-03-13 16:09:23 +0000 |
1416 | @@ -25,117 +25,150 @@ |
1417 | #include "store/api/store.h" |
1418 | #include "store/api/item.h" |
1419 | #include "store/api/item_factory.h" |
1420 | +#include "store/api/load_properties.h" |
1421 | |
1422 | #include "system/globalenv.h" |
1423 | |
1424 | #include "types/schema/schema.h" |
1425 | #include "types/schema/validate.h" |
1426 | |
1427 | + |
1428 | namespace zorba |
1429 | { |
1430 | |
1431 | /******************************************************************************* |
1432 | - 14.9.1 fn-zorba-xml:parse-xml-fragment |
1433 | + 14.9.1 fn-zorba-xml:parse |
1434 | ********************************************************************************/ |
1435 | |
1436 | -class ParseXmlFragmentOptions |
1437 | -{ |
1438 | -public: |
1439 | - // all options are false by default, except for enableFatelErrorProcessing which is true |
1440 | - bool enableExternalEntitiesProcessing; |
1441 | - bool enableDTDValidation; |
1442 | - bool enableStrictSchemaValidation; |
1443 | - bool enableLaxSchemaValidation; |
1444 | - bool enableWhitespaceStripping; |
1445 | - bool enableFatelErrorProcessing; |
1446 | - |
1447 | -public: |
1448 | - ParseXmlFragmentOptions() : |
1449 | - enableExternalEntitiesProcessing(false), |
1450 | - enableDTDValidation(false), |
1451 | - enableStrictSchemaValidation(false), |
1452 | - enableLaxSchemaValidation(false), |
1453 | - enableWhitespaceStripping(false), |
1454 | - enableFatelErrorProcessing(true) // only enableFatelErrorProcessing is set to true |
1455 | - { |
1456 | - } |
1457 | - |
1458 | - void reset() |
1459 | - { |
1460 | - enableExternalEntitiesProcessing = false; |
1461 | - enableDTDValidation = false; |
1462 | - enableStrictSchemaValidation = false; |
1463 | - enableLaxSchemaValidation = false; |
1464 | - enableWhitespaceStripping = false; |
1465 | - enableFatelErrorProcessing = true; // only enableFatelErrorProcessing is set to true |
1466 | - } |
1467 | - |
1468 | - static ParseXmlFragmentOptions parseOptions(const zstring& options, const QueryLoc& loc) |
1469 | - { |
1470 | - ParseXmlFragmentOptions opt; |
1471 | - |
1472 | - if (options.find("e") != zstring::npos && options.find("E") != zstring::npos) |
1473 | - throw XQUERY_EXCEPTION(zerr::ZXQD0003_INCONSISTENT_PARSE_FRAGMENT_OPTIONS, |
1474 | - ERROR_PARAMS(ZED(ParseFragmentOptionCombinationNotAllowed), "e", "E"), ERROR_LOC( loc )); |
1475 | - |
1476 | - if (options.find("d") != zstring::npos && options.find("D") != zstring::npos) |
1477 | - throw XQUERY_EXCEPTION(zerr::ZXQD0003_INCONSISTENT_PARSE_FRAGMENT_OPTIONS, |
1478 | - ERROR_PARAMS(ZED(ParseFragmentOptionCombinationNotAllowed), "d", "D"), ERROR_LOC( loc )); |
1479 | - |
1480 | - if (options.find("s") != zstring::npos && options.find("S") != zstring::npos) |
1481 | - throw XQUERY_EXCEPTION(zerr::ZXQD0003_INCONSISTENT_PARSE_FRAGMENT_OPTIONS, |
1482 | - ERROR_PARAMS(ZED(ParseFragmentOptionCombinationNotAllowed), "s", "S"), ERROR_LOC( loc )); |
1483 | - |
1484 | - if (options.find("l") != zstring::npos && options.find("L") != zstring::npos) |
1485 | - throw XQUERY_EXCEPTION(zerr::ZXQD0003_INCONSISTENT_PARSE_FRAGMENT_OPTIONS, |
1486 | - ERROR_PARAMS(ZED(ParseFragmentOptionCombinationNotAllowed), "l", "L"), ERROR_LOC( loc )); |
1487 | - |
1488 | - if (options.find("w") != zstring::npos && options.find("W") != zstring::npos) |
1489 | - throw XQUERY_EXCEPTION(zerr::ZXQD0003_INCONSISTENT_PARSE_FRAGMENT_OPTIONS, |
1490 | - ERROR_PARAMS(ZED(ParseFragmentOptionCombinationNotAllowed), "w", "W"), ERROR_LOC( loc )); |
1491 | - |
1492 | - if (options.find("f") != zstring::npos && options.find("F") != zstring::npos) |
1493 | - throw XQUERY_EXCEPTION(zerr::ZXQD0003_INCONSISTENT_PARSE_FRAGMENT_OPTIONS, |
1494 | - ERROR_PARAMS(ZED(ParseFragmentOptionCombinationNotAllowed), "f", "F"), ERROR_LOC( loc )); |
1495 | - |
1496 | - if (options.find("e") != zstring::npos) |
1497 | - opt.enableExternalEntitiesProcessing = true; |
1498 | - if (options.find("d") != zstring::npos) |
1499 | - opt.enableDTDValidation = true; |
1500 | - if (options.find("s") != zstring::npos) |
1501 | - opt.enableStrictSchemaValidation = true; |
1502 | - if (options.find("l") != zstring::npos) |
1503 | - opt.enableLaxSchemaValidation = true; |
1504 | - if (options.find("w") != zstring::npos) |
1505 | - opt.enableWhitespaceStripping = true; |
1506 | - if (options.find("f") != zstring::npos) |
1507 | - opt.enableFatelErrorProcessing = true; |
1508 | - |
1509 | - if (options.find("E") != zstring::npos) |
1510 | - opt.enableExternalEntitiesProcessing = false; |
1511 | - if (options.find("D") != zstring::npos) |
1512 | - opt.enableDTDValidation = false; |
1513 | - if (options.find("S") != zstring::npos) |
1514 | - opt.enableStrictSchemaValidation = false; |
1515 | - if (options.find("L") != zstring::npos) |
1516 | - opt.enableLaxSchemaValidation = false; |
1517 | - if (options.find("W") != zstring::npos) |
1518 | - opt.enableWhitespaceStripping = false; |
1519 | - if (options.find("F") != zstring::npos) |
1520 | - opt.enableFatelErrorProcessing = false; |
1521 | - |
1522 | - if (opt.enableExternalEntitiesProcessing |
1523 | - && |
1524 | - (opt.enableDTDValidation || opt.enableStrictSchemaValidation || opt.enableLaxSchemaValidation)) |
1525 | - { |
1526 | - throw XQUERY_EXCEPTION(zerr::ZXQD0003_INCONSISTENT_PARSE_FRAGMENT_OPTIONS, |
1527 | - ERROR_PARAMS(ZED(ParseFragmentOptionDSLNotAllowed)), ERROR_LOC( loc )); |
1528 | - } |
1529 | - |
1530 | - return opt; |
1531 | - } |
1532 | -}; |
1533 | - |
1534 | +store::Item_t getFirstAttribute(store::Item_t node) |
1535 | +{ |
1536 | + store::Item_t attr; |
1537 | + store::Iterator_t attributes = node->getAttributes(); |
1538 | + attributes->open(); |
1539 | + attributes->next(attr); |
1540 | + attributes->close(); |
1541 | + return attr; |
1542 | +} |
1543 | + |
1544 | +void processOptions(store::Item_t item, store::LoadProperties& props, static_context* theSctx, const QueryLoc& loc) |
1545 | +{ |
1546 | + URI lValidatedBaseUri; |
1547 | + store::Item_t child, tempItem; |
1548 | + |
1549 | + if (item.getp() == NULL) |
1550 | + return; |
1551 | + |
1552 | +#ifndef ZORBA_NO_XMLSCHEMA |
1553 | + if (item->isValidated()) |
1554 | + { |
1555 | + if (item->getNodeName() == NULL |
1556 | + || |
1557 | + item->getNodeName()->getNamespace() != static_context::ZORBA_XML_FN_OPTIONS_NS) |
1558 | + { |
1559 | + throw XQUERY_EXCEPTION(zerr::ZXQD0003_INCONSISTENT_PARSE_FRAGMENT_OPTIONS, |
1560 | + ERROR_PARAMS(ZED(ParseFragmentInvalidOptions)), ERROR_LOC( loc )); |
1561 | + } |
1562 | + } |
1563 | + else |
1564 | + { |
1565 | + tempItem = NULL; // used as the effectiveValidationValue()'s typeName |
1566 | + Validator::effectiveValidationValue( |
1567 | + item, |
1568 | + item, |
1569 | + tempItem, |
1570 | + theSctx->get_typemanager(), |
1571 | + ParseConstants::val_strict, |
1572 | + theSctx, |
1573 | + loc); |
1574 | + } |
1575 | +#endif |
1576 | + |
1577 | + store::Iterator_t children = item->getChildren(); |
1578 | + children->open(); |
1579 | + |
1580 | + while (children->next(child)) |
1581 | + { |
1582 | + if (child->getNodeKind() != store::StoreConsts::elementNode) |
1583 | + continue; |
1584 | + |
1585 | + if (child->getNodeName()->getLocalName() == "base-uri") |
1586 | + { |
1587 | + store::Item_t attr = getFirstAttribute(child); |
1588 | + |
1589 | + try { |
1590 | + lValidatedBaseUri = URI(attr->getStringValue()); |
1591 | + } catch (ZorbaException const& /* e */) { |
1592 | + throw XQUERY_EXCEPTION( |
1593 | + err::FODC0007, |
1594 | + ERROR_PARAMS( attr->getStringValue() ), |
1595 | + ERROR_LOC( loc ) |
1596 | + ); |
1597 | + } |
1598 | + |
1599 | + if (!lValidatedBaseUri.is_absolute()) { |
1600 | + throw XQUERY_EXCEPTION( |
1601 | + err::FODC0007, |
1602 | + ERROR_PARAMS( lValidatedBaseUri.toString() ), |
1603 | + ERROR_LOC( loc ) |
1604 | + ); |
1605 | + } |
1606 | + |
1607 | + props.setBaseUri(attr->getStringValue()); |
1608 | + } |
1609 | + else if (child->getNodeName()->getLocalName() == "no-error") |
1610 | + props.setNoError(true); |
1611 | + else if (child->getNodeName()->getLocalName() == "strip-boundary-space") |
1612 | + props.setStripWhitespace(true); |
1613 | + else if (child->getNodeName()->getLocalName() == "schema-validate") |
1614 | + { |
1615 | + store::Item_t attr = getFirstAttribute(child); |
1616 | + if (attr->getStringValue() == "strict") |
1617 | + props.setSchemaStrictValidate(true); |
1618 | + else |
1619 | + props.setSchemaLaxValidate(true); |
1620 | + } |
1621 | + else if (child->getNodeName()->getLocalName() == "DTD-validate") |
1622 | + props.setDTDValidate(true); |
1623 | + else if (child->getNodeName()->getLocalName() == "DTD-load") |
1624 | + props.setDTDLoad(true); |
1625 | + else if (child->getNodeName()->getLocalName() == "default-DTD-attributes") |
1626 | + props.setDefaultDTDAttributes(true); |
1627 | + else if (child->getNodeName()->getLocalName() == "parse-external-parsed-entity") |
1628 | + { |
1629 | + props.setParseExternalParsedEntity(true); |
1630 | + store::Item_t attr; |
1631 | + store::Iterator_t attribs = child->getAttributes(); |
1632 | + attribs->open(); |
1633 | + while (attribs->next(attr)) |
1634 | + { |
1635 | + if (attr->getNodeName()->getLocalName() == "skip-root-nodes") |
1636 | + props.setSkipRootNodes(ztd::aton<xs_int>(attr->getStringValue().c_str())); |
1637 | + else if (attr->getNodeName()->getLocalName() == "skip-top-level-text-nodes") |
1638 | + props.setSkipTopLevelTextNodes(true); |
1639 | + } |
1640 | + attribs->close(); |
1641 | + } |
1642 | + else if (child->getNodeName()->getLocalName() == "substitute-entities") |
1643 | + props.setSubstituteEntities(true); |
1644 | + else if (child->getNodeName()->getLocalName() == "xinclude-substitutions") |
1645 | + props.setXincludeSubstitutions(true); |
1646 | + else if (child->getNodeName()->getLocalName() == "remove-redundant-ns") |
1647 | + props.setRemoveRedundantNS(true); |
1648 | + else if (child->getNodeName()->getLocalName() == "no-CDATA") |
1649 | + props.setNoCDATA(true); |
1650 | + else if (child->getNodeName()->getLocalName() == "no-xinclude-nodes") |
1651 | + props.setNoXIncludeNodes(true); |
1652 | + } |
1653 | + |
1654 | + children->close(); |
1655 | + |
1656 | + if (props.getSchemaLaxValidate() + props.getSchemaStrictValidate() + |
1657 | + props.getDTDValidate() + props.getParseExternalParsedEntity() > 1) |
1658 | + { |
1659 | + throw XQUERY_EXCEPTION(zerr::ZXQD0003_INCONSISTENT_PARSE_FRAGMENT_OPTIONS, |
1660 | + ERROR_PARAMS(ZED(ParseFragmentOptionCombinationNotAllowed)), ERROR_LOC( loc )); |
1661 | + } |
1662 | +} |
1663 | |
1664 | /******************************************************************************* |
1665 | |
1666 | @@ -145,8 +178,7 @@ |
1667 | { |
1668 | PlanIteratorState::reset(planState); |
1669 | theFragmentStream.reset(); |
1670 | - theProperties.setEnableDtd(false); |
1671 | - theProperties.setEnableExtParsedEntity(false); |
1672 | + theProperties.reset(); |
1673 | theProperties.setStoreDocument(false); |
1674 | baseUri = ""; |
1675 | docUri = ""; |
1676 | @@ -161,9 +193,7 @@ |
1677 | { |
1678 | store::Store& lStore = GENV.getStore(); |
1679 | zstring docString; |
1680 | - URI lValidatedBaseUri; |
1681 | store::Item_t tempItem; |
1682 | - ParseXmlFragmentOptions parseOptions; |
1683 | bool validated = true; |
1684 | |
1685 | FnParseXmlFragmentIteratorState* state; |
1686 | @@ -182,87 +212,61 @@ |
1687 | state->theFragmentStream.theStream = state->theFragmentStream.theIss; |
1688 | } |
1689 | |
1690 | - // optional base URI argument |
1691 | - if (theChildren.size() == 3) |
1692 | - { |
1693 | - consumeNext(result, theChildren[1].getp(), planState); |
1694 | - ZORBA_ASSERT(result); |
1695 | - |
1696 | - try { |
1697 | - lValidatedBaseUri = URI(result->getStringValue()); |
1698 | - } catch (ZorbaException const& /* e */) { |
1699 | - throw XQUERY_EXCEPTION( |
1700 | - err::FODC0007, |
1701 | - ERROR_PARAMS( result->getStringValue() ), |
1702 | - ERROR_LOC( loc ) |
1703 | - ); |
1704 | - } |
1705 | - |
1706 | - if (!lValidatedBaseUri.is_absolute()) { |
1707 | - throw XQUERY_EXCEPTION( |
1708 | - err::FODC0007, |
1709 | - ERROR_PARAMS( lValidatedBaseUri.toString() ), |
1710 | - ERROR_LOC( loc ) |
1711 | - ); |
1712 | - } |
1713 | - |
1714 | - result->getStringValue2(state->baseUri); |
1715 | - |
1716 | - // read options |
1717 | - consumeNext(tempItem, theChildren[2].getp(), planState); |
1718 | - parseOptions = ParseXmlFragmentOptions::parseOptions(tempItem->getStringValue(), loc); |
1719 | - |
1720 | - } else { |
1721 | - // read options |
1722 | - consumeNext(tempItem, theChildren[1].getp(), planState); |
1723 | - parseOptions = ParseXmlFragmentOptions::parseOptions(tempItem->getStringValue(), loc); |
1724 | - |
1725 | - state->baseUri = theSctx->get_base_uri(); |
1726 | - } |
1727 | + // read options |
1728 | + consumeNext(tempItem, theChildren[1].getp(), planState); |
1729 | + state->theProperties.setBaseUri(theSctx->get_base_uri()); |
1730 | + state->theProperties.setStoreDocument(false); |
1731 | + processOptions(tempItem, state->theProperties, theSctx, loc); |
1732 | |
1733 | // baseURI serves both as the base URI used by the XML parser |
1734 | // to resolve relative entity references within the document, |
1735 | // and as the base URI of the document node that is returned. |
1736 | - state->docUri = state->baseUri; |
1737 | - |
1738 | - // The DTD and ExternalEntitiesProcessing options/props cannot both be true at the same time |
1739 | - if (parseOptions.enableDTDValidation) |
1740 | - state->theProperties.setEnableDtd(true); |
1741 | - if (parseOptions.enableExternalEntitiesProcessing) |
1742 | - state->theProperties.setEnableExtParsedEntity(true); |
1743 | - state->theProperties.setStoreDocument(false); |
1744 | - |
1745 | - if (state->theProperties.getEnableExtParsedEntity()) |
1746 | + state->baseUri = state->theProperties.getBaseUri(); |
1747 | + state->docUri = state->theProperties.getBaseUri(); |
1748 | + |
1749 | + |
1750 | + //////////////////////////////////////////////////////////////////////// |
1751 | + // External parsed entity processing |
1752 | + //////////////////////////////////////////////////////////////////////// |
1753 | + if (state->theProperties.getParseExternalParsedEntity()) |
1754 | { |
1755 | - // state->theFragmentStream.root_elements_to_skip = 0; |
1756 | + state->theFragmentStream.root_elements_to_skip = state->theProperties.getSkipRootNodes(); |
1757 | |
1758 | - while (state->theFragmentStream.theBuffer == NULL |
1759 | - || |
1760 | - state->theFragmentStream.current_offset < state->theFragmentStream.buffer_size) |
1761 | + while ( ! state->theFragmentStream.stream_is_consumed()) |
1762 | { |
1763 | try { |
1764 | result = lStore.loadDocument(state->baseUri, state->docUri, state->theFragmentStream, state->theProperties); |
1765 | } catch (ZorbaException const& e) { |
1766 | - if (parseOptions.enableFatelErrorProcessing) |
1767 | - throw XQUERY_EXCEPTION( err::FODC0006, ERROR_PARAMS("parse-xml:parse-xml-fragment()", e.what()), ERROR_LOC( loc )); |
1768 | + if ( ! state->theProperties.getNoError()) |
1769 | + throw XQUERY_EXCEPTION( err::FODC0006, ERROR_PARAMS("parse-xml:parse()", e.what()), ERROR_LOC( loc )); |
1770 | else |
1771 | result = NULL; |
1772 | } |
1773 | |
1774 | - if (result != NULL) |
1775 | + if (result == NULL) |
1776 | + continue; |
1777 | + |
1778 | + // Return the children of document node |
1779 | + state->theFragmentStream.children = result->getChildren(); |
1780 | + while (state->theFragmentStream.children->next(result) && result != NULL) |
1781 | { |
1782 | - result->getChildren()->next(result); |
1783 | + if (state->theProperties.getSkipTopLevelTextNodes() && result->getNodeKind() == store::StoreConsts::textNode) |
1784 | + continue; |
1785 | + |
1786 | STACK_PUSH(true, state); |
1787 | } |
1788 | } |
1789 | } |
1790 | + //////////////////////////////////////////////////////////////////////// |
1791 | + // XML document processing |
1792 | + //////////////////////////////////////////////////////////////////////// |
1793 | else // if (!state->theProperties.getEnableExtParsedEntity()) |
1794 | { |
1795 | try { |
1796 | result = lStore.loadDocument(state->baseUri, state->docUri, *state->theFragmentStream.theStream, state->theProperties); |
1797 | } catch (ZorbaException const& e) { |
1798 | - if (parseOptions.enableFatelErrorProcessing) |
1799 | - throw XQUERY_EXCEPTION( err::FODC0006, ERROR_PARAMS("parse-xml:parse-xml-fragment()", e.what()), ERROR_LOC( loc )); |
1800 | + if ( ! state->theProperties.getNoError()) |
1801 | + throw XQUERY_EXCEPTION( err::FODC0006, ERROR_PARAMS("parse-xml:parse()", e.what()), ERROR_LOC( loc )); |
1802 | else |
1803 | result = NULL; |
1804 | } |
1805 | @@ -270,7 +274,7 @@ |
1806 | if (result != NULL) |
1807 | { |
1808 | #ifndef ZORBA_NO_XMLSCHEMA |
1809 | - if (parseOptions.enableStrictSchemaValidation || parseOptions.enableLaxSchemaValidation) |
1810 | + if (state->theProperties.getSchemaLaxValidate() || state->theProperties.getSchemaStrictValidate()) |
1811 | { |
1812 | try |
1813 | { |
1814 | @@ -280,13 +284,13 @@ |
1815 | result, |
1816 | tempItem, |
1817 | theSctx->get_typemanager(), |
1818 | - parseOptions.enableLaxSchemaValidation ? ParseConstants::val_lax : ParseConstants::val_strict, |
1819 | + state->theProperties.getSchemaLaxValidate() ? ParseConstants::val_lax : ParseConstants::val_strict, |
1820 | theSctx, |
1821 | this->loc); |
1822 | } |
1823 | catch (ZorbaException& /*e*/) |
1824 | { |
1825 | - if (parseOptions.enableFatelErrorProcessing) |
1826 | + if ( ! state->theProperties.getNoError()) |
1827 | throw; |
1828 | else |
1829 | { |
1830 | @@ -298,11 +302,6 @@ |
1831 | #endif |
1832 | // Ignore the schema validation options if Zorba is built without schema support |
1833 | |
1834 | - if (result != NULL && validated && parseOptions.enableWhitespaceStripping) |
1835 | - { |
1836 | - // TODO: whitespace stripping |
1837 | - } |
1838 | - |
1839 | STACK_PUSH(validated, state); |
1840 | } // if (result != NULL) |
1841 | } // if (state->theProperties.getEnableExtParsedEntity()) |
1842 | |
1843 | === modified file 'src/runtime/parsing_and_serializing/pregenerated/parse_fragment.cpp' (properties changed: +x to -x) |
1844 | === modified file 'src/runtime/parsing_and_serializing/pregenerated/parse_fragment.h' (properties changed: +x to -x) |
1845 | --- src/runtime/parsing_and_serializing/pregenerated/parse_fragment.h 2011-10-19 15:28:51 +0000 |
1846 | +++ src/runtime/parsing_and_serializing/pregenerated/parse_fragment.h 2012-03-13 16:09:23 +0000 |
1847 | @@ -36,7 +36,7 @@ |
1848 | namespace zorba { |
1849 | |
1850 | /** |
1851 | - * fn-zorba-xml:parse-xml-fragment |
1852 | + * fn-zorba-xml:parse |
1853 | * Author: Zorba Team |
1854 | */ |
1855 | class FnParseXmlFragmentIteratorState : public PlanIteratorState |
1856 | |
1857 | === modified file 'src/runtime/sequences/sequences_impl.cpp' |
1858 | --- src/runtime/sequences/sequences_impl.cpp 2012-02-15 10:25:02 +0000 |
1859 | +++ src/runtime/sequences/sequences_impl.cpp 2012-03-13 16:09:23 +0000 |
1860 | @@ -464,13 +464,13 @@ |
1861 | state->theIsChildReset = false; |
1862 | |
1863 | CONSUME(startPosItem, 1); |
1864 | - startPos = |
1865 | + startPos = |
1866 | static_cast<xs_long>(startPosItem->getDoubleValue().round().getNumber()) - 1; |
1867 | |
1868 | if (theChildren.size() == 3) |
1869 | { |
1870 | CONSUME(lengthItem, 2); |
1871 | - state->theRemaining = |
1872 | + state->theRemaining = |
1873 | static_cast<xs_long>(lengthItem->getDoubleValue().round().getNumber()); |
1874 | } |
1875 | |
1876 | @@ -1033,7 +1033,7 @@ |
1877 | } |
1878 | |
1879 | bool FnDeepEqualIterator::nextImpl( |
1880 | - store::Item_t& result, |
1881 | + store::Item_t& result, |
1882 | PlanState& planState) const |
1883 | { |
1884 | PlanIteratorState* state; |
1885 | @@ -1061,7 +1061,7 @@ |
1886 | break; |
1887 | } |
1888 | |
1889 | - if (arg1->isFunction() || arg2->isFunction()) |
1890 | + if (arg1->isFunction() || arg2->isFunction()) |
1891 | { |
1892 | throw XQUERY_EXCEPTION( |
1893 | err::FOTY0015, |
1894 | @@ -1161,12 +1161,12 @@ |
1895 | DEFAULT_STACK_INIT(PlanIteratorState, state, planState); |
1896 | |
1897 | |
1898 | - for (;;) |
1899 | + for (;;) |
1900 | { |
1901 | // load items |
1902 | - for (i = 0; i < 2; i++) |
1903 | + for (i = 0; i < 2; i++) |
1904 | { |
1905 | - if (item [i] == NULL) |
1906 | + if (item [i] == NULL) |
1907 | { |
1908 | if (!CONSUME (item[i], i)) |
1909 | { |
1910 | @@ -1178,7 +1178,7 @@ |
1911 | |
1912 | // advance, output |
1913 | order = GENV_STORE.compareNodes(item[0].getp(), item[1].getp()); |
1914 | - if ( order == 0 ) |
1915 | + if ( order == 0 ) |
1916 | { |
1917 | result = item[0]; |
1918 | STACK_PUSH (true, state); |
1919 | @@ -1739,7 +1739,7 @@ |
1920 | planState.theGlobalDynCtx->theDocLoadingUserTime += |
1921 | zorbatm::get_cputime_elapsed(t0user, t1user); |
1922 | |
1923 | - planState.theGlobalDynCtx->theDocLoadingTime += |
1924 | + planState.theGlobalDynCtx->theDocLoadingTime += |
1925 | zorbatm::get_walltime_elapsed(t0, t1); |
1926 | } |
1927 | |
1928 | @@ -1833,7 +1833,7 @@ |
1929 | // Prepare a LoadProperties for loading the stream into the store |
1930 | store::LoadProperties lLoadProperties; |
1931 | lLoadProperties.setStoreDocument(true); |
1932 | - lLoadProperties.setEnableDtd( aSctx->is_feature_set( feature::dtd ) ); |
1933 | + lLoadProperties.setDTDValidate( aSctx->is_feature_set( feature::dtd ) ); |
1934 | |
1935 | // Resolve URI to a stream |
1936 | zstring lErrorMessage; |
1937 | |
1938 | === modified file 'src/runtime/spec/parsing_and_serializing/parse_fragment.xml' |
1939 | --- src/runtime/spec/parsing_and_serializing/parse_fragment.xml 2011-07-15 16:39:51 +0000 |
1940 | +++ src/runtime/spec/parsing_and_serializing/parse_fragment.xml 2012-03-13 16:09:23 +0000 |
1941 | @@ -19,27 +19,20 @@ |
1942 | |
1943 | <!-- |
1944 | /******************************************************************************* |
1945 | - * 14.9.1 fn:parse-xml-fragment |
1946 | + * 14.9.1 parse-xml:parse |
1947 | ********************************************************************************/ |
1948 | --> |
1949 | <zorba:iterator name="FnParseXmlFragmentIterator"> |
1950 | |
1951 | - <zorba:description author="Zorba Team">fn-zorba-xml:parse-xml-fragment</zorba:description> |
1952 | + <zorba:description author="Zorba Team">fn-zorba-xml:parse</zorba:description> |
1953 | |
1954 | <zorba:function> |
1955 | - <zorba:signature localname="parse-xml-fragment" prefix="fn-zorba-xml"> |
1956 | - <zorba:param>xs:string?</zorba:param> <!-- string to parse --> |
1957 | - <zorba:param>xs:string</zorba:param> <!-- parse-xml options --> |
1958 | + <zorba:signature localname="parse" prefix="fn-zorba-xml"> |
1959 | + <zorba:param>xs:string?</zorba:param> <!-- string to parse --> |
1960 | + <zorba:param>element()?</zorba:param> <!-- parse() options --> |
1961 | <zorba:output>node()*</zorba:output> |
1962 | </zorba:signature> |
1963 | |
1964 | - <zorba:signature localname="parse-xml-fragment" prefix="fn-zorba-xml"> |
1965 | - <zorba:param>xs:string?</zorba:param> <!-- string to parse --> |
1966 | - <zorba:param>xs:string</zorba:param> <!-- baseURI --> |
1967 | - <zorba:param>xs:string</zorba:param> <!-- parse-xml options --> |
1968 | - <zorba:output>node()*</zorba:output> |
1969 | - </zorba:signature> |
1970 | - |
1971 | <zorba:methods> |
1972 | <zorba:accessesDynCtx returnValue="true"/> |
1973 | </zorba:methods> |
1974 | |
1975 | === modified file 'src/store/api/load_properties.h' |
1976 | --- src/store/api/load_properties.h 2011-06-29 15:03:41 +0000 |
1977 | +++ src/store/api/load_properties.h 2012-03-13 16:09:23 +0000 |
1978 | @@ -35,12 +35,70 @@ |
1979 | { |
1980 | private: |
1981 | bool theStoreDocument; |
1982 | - bool theEnableDtdLoader; |
1983 | - bool theEnableExtParsedEntityLoader; |
1984 | + zstring theBaseUri; |
1985 | + bool theNoError; |
1986 | + bool theStripWhitespace; |
1987 | + bool theSchemaLaxValidate; |
1988 | + bool theSchemaStrictValidate; |
1989 | + bool theDTDValidate; |
1990 | + bool theDTDLoad; |
1991 | + bool theDefaultDTDAttributes; |
1992 | + bool theParseExternalParsedEntity; |
1993 | + unsigned int theSkipRootNodes; |
1994 | + bool theSkipTopLevelTextNodes; |
1995 | + bool theSubstituteEntities; |
1996 | + bool theXincludeSubstitutions; |
1997 | + bool theRemoveRedundantNS; |
1998 | + bool theNoCDATA; |
1999 | + bool theNoXIncludeNodes; |
2000 | |
2001 | public: |
2002 | - LoadProperties() : theStoreDocument(true), theEnableDtdLoader(false), theEnableExtParsedEntityLoader(false) {} |
2003 | - virtual ~LoadProperties() {} |
2004 | + LoadProperties() |
2005 | + : |
2006 | + theStoreDocument(true), |
2007 | + theBaseUri(""), |
2008 | + theNoError(false), |
2009 | + theStripWhitespace(false), |
2010 | + theSchemaLaxValidate(false), |
2011 | + theSchemaStrictValidate(false), |
2012 | + theDTDValidate(false), |
2013 | + theDTDLoad(false), |
2014 | + theDefaultDTDAttributes(false), |
2015 | + theParseExternalParsedEntity(false), |
2016 | + theSkipRootNodes(0), |
2017 | + theSkipTopLevelTextNodes(false), |
2018 | + theSubstituteEntities(false), |
2019 | + theXincludeSubstitutions(false), |
2020 | + theRemoveRedundantNS(false), |
2021 | + theNoCDATA(false), |
2022 | + theNoXIncludeNodes(false) |
2023 | + { |
2024 | + } |
2025 | + |
2026 | + virtual ~LoadProperties() |
2027 | + { |
2028 | + } |
2029 | + |
2030 | + void reset() |
2031 | + { |
2032 | + theStoreDocument = true; |
2033 | + theBaseUri = ""; |
2034 | + theNoError = false; |
2035 | + theStripWhitespace = false; |
2036 | + theSchemaLaxValidate = false; |
2037 | + theSchemaStrictValidate = false; |
2038 | + theDTDValidate = false; |
2039 | + theDTDLoad = false; |
2040 | + theDefaultDTDAttributes = false; |
2041 | + theParseExternalParsedEntity = false; |
2042 | + theSkipRootNodes = 0; |
2043 | + theSkipTopLevelTextNodes = false; |
2044 | + theSubstituteEntities = false; |
2045 | + theXincludeSubstitutions = false; |
2046 | + theRemoveRedundantNS = false; |
2047 | + theNoCDATA = false; |
2048 | + theNoXIncludeNodes = false; |
2049 | + } |
2050 | |
2051 | /** |
2052 | * Set the property storeDocument, it specifies whether the document |
2053 | @@ -60,40 +118,168 @@ |
2054 | return theStoreDocument; |
2055 | } |
2056 | |
2057 | - /** |
2058 | - * Set the property enableDtd, it specifies whether the document's |
2059 | - * dtd should be enabled when loading |
2060 | - */ |
2061 | - void setEnableDtd(bool aEnableDtdLoader) |
2062 | - { |
2063 | - theEnableDtdLoader = aEnableDtdLoader; |
2064 | - } |
2065 | - |
2066 | - /** |
2067 | - * Get the property enableDtd, it specifies whether the document's |
2068 | - * dtd should be enabled when loading |
2069 | - */ |
2070 | - bool getEnableDtd() const |
2071 | - { |
2072 | - return theEnableDtdLoader; |
2073 | - } |
2074 | - |
2075 | - /** |
2076 | - * Set the property enableExtParsedEntity, it specifies whether the document |
2077 | - * should be parsed as an enxternal general parsed entity |
2078 | - */ |
2079 | - void setEnableExtParsedEntity(bool aEnableExtParsedEntityLoader) |
2080 | - { |
2081 | - theEnableExtParsedEntityLoader = aEnableExtParsedEntityLoader; |
2082 | - } |
2083 | - |
2084 | - /** |
2085 | - * Get the property enableDtd, it specifies whether the document |
2086 | - * should be parsed as an enxternal general parsed entity |
2087 | - */ |
2088 | - bool getEnableExtParsedEntity() const |
2089 | - { |
2090 | - return theEnableExtParsedEntityLoader; |
2091 | + // theBaseUri |
2092 | + void setBaseUri(const zstring& aBaseUri) |
2093 | + { |
2094 | + theBaseUri = aBaseUri; |
2095 | + } |
2096 | + zstring getBaseUri() const |
2097 | + { |
2098 | + return theBaseUri; |
2099 | + } |
2100 | + |
2101 | + // theNoError |
2102 | + void setNoError(bool aNoError) |
2103 | + { |
2104 | + theNoError = aNoError; |
2105 | + } |
2106 | + bool getNoError() const |
2107 | + { |
2108 | + return theNoError; |
2109 | + } |
2110 | + |
2111 | + // theStripWhitespace |
2112 | + void setStripWhitespace(bool aStripWhitespace) |
2113 | + { |
2114 | + theStripWhitespace = aStripWhitespace; |
2115 | + } |
2116 | + bool getStripWhitespace() const |
2117 | + { |
2118 | + return theStripWhitespace; |
2119 | + } |
2120 | + |
2121 | + // theSchemaLaxValidate |
2122 | + void setSchemaLaxValidate(bool aSchemaLaxValidate) |
2123 | + { |
2124 | + theSchemaLaxValidate = aSchemaLaxValidate; |
2125 | + if (theSchemaLaxValidate) |
2126 | + theSchemaStrictValidate = false; |
2127 | + } |
2128 | + bool getSchemaLaxValidate() const |
2129 | + { |
2130 | + return theSchemaLaxValidate; |
2131 | + } |
2132 | + |
2133 | + // theSchemaStrictValidate |
2134 | + void setSchemaStrictValidate(bool aSchemaStrictValidate) |
2135 | + { |
2136 | + theSchemaStrictValidate = aSchemaStrictValidate; |
2137 | + if (theSchemaStrictValidate) |
2138 | + theSchemaLaxValidate = false; |
2139 | + } |
2140 | + bool getSchemaStrictValidate() const |
2141 | + { |
2142 | + return theSchemaStrictValidate; |
2143 | + } |
2144 | + |
2145 | + // theDTDValidate |
2146 | + void setDTDValidate(bool aDTDValidate) |
2147 | + { |
2148 | + theDTDValidate = aDTDValidate; |
2149 | + } |
2150 | + bool getDTDValidate() const |
2151 | + { |
2152 | + return theDTDValidate; |
2153 | + } |
2154 | + |
2155 | + // theDTDLoad |
2156 | + void setDTDLoad(bool aDTDLoad) |
2157 | + { |
2158 | + theDTDLoad = aDTDLoad; |
2159 | + } |
2160 | + bool getDTDLoad() const |
2161 | + { |
2162 | + return theDTDLoad; |
2163 | + } |
2164 | + |
2165 | + // theDefaultDTDAttributes |
2166 | + void setDefaultDTDAttributes(bool aDefaultDTDAttributes) |
2167 | + { |
2168 | + theDefaultDTDAttributes = aDefaultDTDAttributes; |
2169 | + } |
2170 | + bool getDefaultDTDAttributes() const |
2171 | + { |
2172 | + return theDefaultDTDAttributes; |
2173 | + } |
2174 | + |
2175 | + // theParseExternalParsedEntity |
2176 | + void setParseExternalParsedEntity(bool aParseExternalParsedEntity) |
2177 | + { |
2178 | + theParseExternalParsedEntity = aParseExternalParsedEntity; |
2179 | + } |
2180 | + bool getParseExternalParsedEntity() const |
2181 | + { |
2182 | + return theParseExternalParsedEntity; |
2183 | + } |
2184 | + |
2185 | + // theSkipRootNodes |
2186 | + void setSkipRootNodes(unsigned int aSkipRootNodes) |
2187 | + { |
2188 | + theSkipRootNodes = aSkipRootNodes; |
2189 | + } |
2190 | + unsigned int getSkipRootNodes() const |
2191 | + { |
2192 | + return theSkipRootNodes; |
2193 | + } |
2194 | + |
2195 | + // theSkipTopLevelTextNodes |
2196 | + void setSkipTopLevelTextNodes(bool aSkipTopLevelTextNodes) |
2197 | + { |
2198 | + theSkipTopLevelTextNodes = aSkipTopLevelTextNodes; |
2199 | + } |
2200 | + bool getSkipTopLevelTextNodes() const |
2201 | + { |
2202 | + return theSkipTopLevelTextNodes; |
2203 | + } |
2204 | + |
2205 | + // theSubstituteEntities |
2206 | + void setSubstituteEntities(bool aSubstituteEntities) |
2207 | + { |
2208 | + theSubstituteEntities = aSubstituteEntities; |
2209 | + } |
2210 | + bool getSubstituteEntities() const |
2211 | + { |
2212 | + return theSubstituteEntities; |
2213 | + } |
2214 | + |
2215 | + // theXincludeSubstitutions |
2216 | + void setXincludeSubstitutions(bool aXincludeSubstitutions) |
2217 | + { |
2218 | + theXincludeSubstitutions = aXincludeSubstitutions; |
2219 | + } |
2220 | + bool getXincludeSubstitutions() const |
2221 | + { |
2222 | + return theXincludeSubstitutions; |
2223 | + } |
2224 | + |
2225 | + // theRemoveRedundantNS |
2226 | + void setRemoveRedundantNS(bool aRemoveRedundantNS) |
2227 | + { |
2228 | + theRemoveRedundantNS = aRemoveRedundantNS; |
2229 | + } |
2230 | + bool getRemoveRedundantNS() const |
2231 | + { |
2232 | + return theRemoveRedundantNS; |
2233 | + } |
2234 | + |
2235 | + // theNoCDATA |
2236 | + void setNoCDATA(bool aNoCDATA) |
2237 | + { |
2238 | + theNoCDATA = aNoCDATA; |
2239 | + } |
2240 | + bool getNoCDATA() const |
2241 | + { |
2242 | + return theNoCDATA; |
2243 | + } |
2244 | + |
2245 | + // theNoXIncludeNodes |
2246 | + void setNoXIncludeNodes(bool aNoXIncludeNodes) |
2247 | + { |
2248 | + theNoXIncludeNodes = aNoXIncludeNodes; |
2249 | + } |
2250 | + bool getNoXIncludeNodes() const |
2251 | + { |
2252 | + return theNoXIncludeNodes; |
2253 | } |
2254 | }; |
2255 | |
2256 | |
2257 | === modified file 'src/store/naive/loader.h' |
2258 | --- src/store/naive/loader.h 2012-02-28 20:45:43 +0000 |
2259 | +++ src/store/naive/loader.h 2012-03-13 16:09:23 +0000 |
2260 | @@ -21,6 +21,7 @@ |
2261 | #include <libxml/xmlstring.h> |
2262 | |
2263 | #include "store/api/item.h" |
2264 | +#include "store/api/load_properties.h" |
2265 | |
2266 | #include "ordpath.h" |
2267 | |
2268 | @@ -74,6 +75,8 @@ |
2269 | static const ulong INPUT_CHUNK_SIZE = 8192; |
2270 | |
2271 | protected: |
2272 | + const store::LoadProperties & theLoadProperties; |
2273 | + |
2274 | xmlParserCtxtPtr ctxt; |
2275 | |
2276 | xmlSAXHandler theSaxHandler; |
2277 | @@ -89,12 +92,19 @@ |
2278 | |
2279 | bool theBuildDataGuide; |
2280 | |
2281 | + |
2282 | +protected: |
2283 | + void applyLoadOptions(const store::LoadProperties& props, xmlParserCtxtPtr ctxt); |
2284 | + |
2285 | + |
2286 | public: |
2287 | XmlLoader( |
2288 | BasicItemFactory* factory, |
2289 | XQueryDiagnostics* xqueryDiagnostics, |
2290 | + const store::LoadProperties& loadProperties, |
2291 | bool dataguide) |
2292 | : |
2293 | + theLoadProperties(loadProperties), |
2294 | ctxt(NULL), |
2295 | theFactory(factory), |
2296 | theXQueryDiagnostics(xqueryDiagnostics), |
2297 | @@ -156,6 +166,7 @@ |
2298 | FastXmlLoader( |
2299 | BasicItemFactory* factory, |
2300 | XQueryDiagnostics* xqueryDiagnostics, |
2301 | + const store::LoadProperties& loadProperties, |
2302 | bool dataguide); |
2303 | |
2304 | ~FastXmlLoader(); |
2305 | @@ -245,6 +256,7 @@ |
2306 | FragmentXmlLoader( |
2307 | BasicItemFactory* factory, |
2308 | XQueryDiagnostics* xqueryDiagnostics, |
2309 | + const store::LoadProperties& loadProperties, |
2310 | bool dataguide); |
2311 | |
2312 | ~FragmentXmlLoader(); |
2313 | @@ -255,7 +267,15 @@ |
2314 | std::istream& xmlStream); |
2315 | |
2316 | protected: |
2317 | - static void checkStopParsing(void* ctx); |
2318 | + bool fillBuffer(FragmentIStream* theFragmentStream); |
2319 | + |
2320 | + unsigned long getCurrentInputOffset() const; |
2321 | + |
2322 | + static void checkStopParsing(void* ctx, bool force = false); |
2323 | + |
2324 | + static void startDocument(void * ctx); |
2325 | + |
2326 | + static void endDocument(void * ctx); |
2327 | |
2328 | static void startElement( |
2329 | void * ctx, |
2330 | @@ -295,7 +315,6 @@ |
2331 | |
2332 | protected: |
2333 | FragmentIStream* theFragmentStream; |
2334 | - int element_depth; |
2335 | }; |
2336 | |
2337 | /******************************************************************************* |
2338 | @@ -331,8 +350,6 @@ |
2339 | zorba::Stack<PathStepInfo> thePathStack; |
2340 | std::stack<NsBindingsContext*> theBindingsStack; |
2341 | |
2342 | - bool theParseExtParsedEntity; |
2343 | - |
2344 | #ifdef DATAGUIDE |
2345 | zorba::Stack<ElementGuideNode*> theGuideStack; |
2346 | #endif |
2347 | @@ -341,8 +358,8 @@ |
2348 | DtdXmlLoader( |
2349 | BasicItemFactory* factory, |
2350 | XQueryDiagnostics* xqueryDiagnostics, |
2351 | - bool dataguide, |
2352 | - bool parseExtParsedEntity); |
2353 | + const store::LoadProperties& loadProperties, |
2354 | + bool dataguide); |
2355 | |
2356 | ~DtdXmlLoader(); |
2357 | |
2358 | |
2359 | === modified file 'src/store/naive/loader_dtd.cpp' |
2360 | --- src/store/naive/loader_dtd.cpp 2012-02-15 10:25:02 +0000 |
2361 | +++ src/store/naive/loader_dtd.cpp 2012-03-13 16:09:23 +0000 |
2362 | @@ -76,12 +76,51 @@ |
2363 | /******************************************************************************* |
2364 | |
2365 | ********************************************************************************/ |
2366 | +void XmlLoader::applyLoadOptions(const store::LoadProperties& props, xmlParserCtxtPtr ctxt) |
2367 | +{ |
2368 | + int options = 0; |
2369 | + |
2370 | + if (props.getStripWhitespace()) |
2371 | + options |= XML_PARSE_NOBLANKS; |
2372 | + |
2373 | + if (props.getDTDValidate()) |
2374 | + options |= XML_PARSE_DTDVALID; |
2375 | + |
2376 | + if (props.getDTDLoad()) |
2377 | + options |= XML_PARSE_DTDLOAD; |
2378 | + |
2379 | + if (props.getDefaultDTDAttributes()) |
2380 | + options |= XML_PARSE_DTDATTR; |
2381 | + |
2382 | + if (props.getSubstituteEntities()) |
2383 | + options |= XML_PARSE_NOENT; |
2384 | + |
2385 | + if (props.getXincludeSubstitutions()) |
2386 | + options |= XML_PARSE_XINCLUDE; |
2387 | + |
2388 | + if (props.getRemoveRedundantNS()) |
2389 | + options |= XML_PARSE_NSCLEAN; |
2390 | + |
2391 | + if (props.getNoCDATA()) |
2392 | + options |= XML_PARSE_NOCDATA; |
2393 | + |
2394 | + if (props.getNoXIncludeNodes()) |
2395 | + options |= XML_PARSE_NOXINCNODE; |
2396 | + |
2397 | + xmlCtxtUseOptions(ctxt, options); |
2398 | +} |
2399 | + |
2400 | + |
2401 | +/******************************************************************************* |
2402 | + |
2403 | +********************************************************************************/ |
2404 | FragmentXmlLoader::FragmentXmlLoader( |
2405 | BasicItemFactory* factory, |
2406 | XQueryDiagnostics* xqueryDiagnostics, |
2407 | + const store::LoadProperties& loadProperties, |
2408 | bool dataguide) |
2409 | : |
2410 | - FastXmlLoader(factory, xqueryDiagnostics, dataguide) |
2411 | + FastXmlLoader(factory, xqueryDiagnostics, loadProperties, dataguide) |
2412 | { |
2413 | theOrdPath.init(); |
2414 | |
2415 | @@ -109,6 +148,39 @@ |
2416 | { |
2417 | } |
2418 | |
2419 | +bool FragmentXmlLoader::fillBuffer(FragmentIStream* theFragmentStream) |
2420 | +{ |
2421 | + if (theFragmentStream->ctxt->input->length > 0 && theFragmentStream->current_offset < theFragmentStream->bytes_in_buffer) |
2422 | + { |
2423 | + memmove(theFragmentStream->theBuffer, theFragmentStream->theBuffer + theFragmentStream->current_offset, |
2424 | + theFragmentStream->bytes_in_buffer - theFragmentStream->current_offset); |
2425 | + } |
2426 | + theFragmentStream->bytes_in_buffer -= theFragmentStream->current_offset; |
2427 | + |
2428 | + std::streamsize numChars = readPacket(*theFragmentStream->theStream, theFragmentStream->theBuffer + theFragmentStream->bytes_in_buffer, |
2429 | + FragmentIStream::BUFFER_SIZE+FragmentIStream::LOOKAHEAD_BYTES - theFragmentStream->bytes_in_buffer); |
2430 | + if (numChars < 0) |
2431 | + { |
2432 | + theXQueryDiagnostics->add_error(NEW_ZORBA_EXCEPTION(zerr::ZSTR0020_LOADER_IO_ERROR)); |
2433 | + throw 0; // the argument to throw is not used by the catch clause |
2434 | + } |
2435 | + |
2436 | + if (theFragmentStream->theStream->eof()) |
2437 | + theFragmentStream->reached_eof = true; |
2438 | + |
2439 | + theFragmentStream->bytes_in_buffer += numChars; |
2440 | + theFragmentStream->current_offset = 0; |
2441 | + theFragmentStream->ctxt->input->base = (xmlChar*)(theFragmentStream->theBuffer); |
2442 | + theFragmentStream->ctxt->input->length = (theFragmentStream->bytes_in_buffer < FragmentIStream::BUFFER_SIZE? theFragmentStream->bytes_in_buffer : FragmentIStream::BUFFER_SIZE); |
2443 | + theFragmentStream->ctxt->input->cur = theFragmentStream->ctxt->input->base; |
2444 | + theFragmentStream->ctxt->input->end = theFragmentStream->ctxt->input->base + theFragmentStream->ctxt->input->length; |
2445 | + theFragmentStream->ctxt->checkIndex = 0; |
2446 | + |
2447 | + if (theFragmentStream->bytes_in_buffer < FragmentIStream::BUFFER_SIZE+FragmentIStream::LOOKAHEAD_BYTES) |
2448 | + theFragmentStream->theBuffer[theFragmentStream->bytes_in_buffer] = 0; |
2449 | + |
2450 | + return !theFragmentStream->stream_is_consumed(); |
2451 | +} |
2452 | |
2453 | store::Item_t FragmentXmlLoader::loadXml( |
2454 | const zstring& baseUri, |
2455 | @@ -138,88 +210,105 @@ |
2456 | { |
2457 | theFragmentStream = static_cast<FragmentIStream*>(&stream); |
2458 | |
2459 | - // Prepare the input buffer |
2460 | + // Prepare the input buffer and the parser context |
2461 | if (theFragmentStream->theBuffer == NULL) |
2462 | { |
2463 | - theFragmentStream->theStream->seekg(0, std::ios::end); |
2464 | - std::streamoff fileSize = theFragmentStream->theStream->tellg(); |
2465 | - theFragmentStream->theStream->seekg(0, std::ios::beg); |
2466 | - |
2467 | - theFragmentStream->theBuffer = new char[static_cast<unsigned int>(fileSize+1)]; |
2468 | - theFragmentStream->theBuffer[fileSize] = 0; |
2469 | - |
2470 | - std::streamsize numChars = readPacket(*theFragmentStream->theStream, |
2471 | - theFragmentStream->theBuffer, |
2472 | - fileSize); |
2473 | - theFragmentStream->buffer_size = numChars; |
2474 | - if (numChars < 0) |
2475 | - { |
2476 | - theXQueryDiagnostics-> |
2477 | - add_error(NEW_ZORBA_EXCEPTION(zerr::ZSTR0020_LOADER_IO_ERROR)); |
2478 | - |
2479 | - abortload(); |
2480 | - return NULL; |
2481 | - } |
2482 | - else if (numChars == 0) |
2483 | - { |
2484 | - theXQueryDiagnostics-> |
2485 | - add_error(NEW_ZORBA_EXCEPTION(zerr::ZSTR0020_LOADER_IO_ERROR, |
2486 | - ERROR_PARAMS(ZED(NoInputData)))); |
2487 | - |
2488 | - abortload(); |
2489 | - return NULL; |
2490 | - } |
2491 | - } |
2492 | - |
2493 | - // Create the LibXml parser context |
2494 | - ctxt = xmlCreatePushParserCtxt(&theSaxHandler, this, NULL, 0, 0); |
2495 | - // ctxt = xmlCreate |
2496 | - if (ctxt == NULL) |
2497 | - { |
2498 | - theXQueryDiagnostics-> |
2499 | - add_error(NEW_ZORBA_EXCEPTION(zerr::ZSTR0021_LOADER_PARSING_ERROR, |
2500 | - ERROR_PARAMS(ZED(ParserInitFailed)))); |
2501 | - |
2502 | - abortload(); |
2503 | - return NULL; |
2504 | - } |
2505 | - |
2506 | - // Delete the initial empty input stream |
2507 | - xmlFreeInputStream(inputPop(ctxt)); |
2508 | - |
2509 | - // Create the LibXml parser input |
2510 | - xmlParserInputPtr input = xmlNewInputStream(ctxt); |
2511 | - if (input == NULL) |
2512 | - { |
2513 | - theXQueryDiagnostics-> |
2514 | - add_error(NEW_ZORBA_EXCEPTION(zerr::ZSTR0021_LOADER_PARSING_ERROR, |
2515 | - ERROR_PARAMS(ZED(ParserInitFailed)))); |
2516 | - |
2517 | - abortload(); |
2518 | - return NULL; |
2519 | - } |
2520 | - |
2521 | - // Initialize the parser input |
2522 | - input->filename = (const char*)(xmlCanonicPath((const xmlChar*)theDocUri.c_str())); |
2523 | - input->base = (xmlChar*)(theFragmentStream->theBuffer + theFragmentStream->current_offset); |
2524 | - input->cur = (xmlChar*)(theFragmentStream->theBuffer + theFragmentStream->current_offset); |
2525 | - input->length = theFragmentStream->buffer_size - theFragmentStream->current_offset; |
2526 | - input->end = input->base + input->length; |
2527 | - xmlPushInput(ctxt, input); |
2528 | - |
2529 | - // Reset element_depth |
2530 | - element_depth = 0; |
2531 | - |
2532 | - // Finally call the parser |
2533 | - if (xmlParseExtParsedEnt(ctxt)==-1) |
2534 | - { |
2535 | - theXQueryDiagnostics-> |
2536 | - add_error(NEW_ZORBA_EXCEPTION(zerr::ZSTR0021_LOADER_PARSING_ERROR, |
2537 | - ERROR_PARAMS(ZED(ParserNoCreateTree)))); |
2538 | - |
2539 | - abortload(); |
2540 | - return NULL; |
2541 | - } |
2542 | + // Allocate input buffer |
2543 | + theFragmentStream->theBuffer = new char[FragmentIStream::BUFFER_SIZE + FragmentIStream::LOOKAHEAD_BYTES+1]; |
2544 | + theFragmentStream->theBuffer[FragmentIStream::BUFFER_SIZE + FragmentIStream::LOOKAHEAD_BYTES] = 0; |
2545 | + |
2546 | + // Create the LibXml parser context |
2547 | + theFragmentStream->ctxt = xmlCreatePushParserCtxt(&theSaxHandler, this, NULL, 0, 0); |
2548 | + if (theFragmentStream->ctxt == NULL) |
2549 | + { |
2550 | + theXQueryDiagnostics->add_error(NEW_ZORBA_EXCEPTION(zerr::ZSTR0021_LOADER_PARSING_ERROR, ERROR_PARAMS( ZED( ParserInitFailed ) ))); |
2551 | + throw 0; // the argument to throw is not used by the catch clause |
2552 | + } |
2553 | + |
2554 | + // Apply parser options |
2555 | + applyLoadOptions(theLoadProperties, theFragmentStream->ctxt); |
2556 | + |
2557 | + // Delete the initial empty input stream |
2558 | + xmlFreeInputStream(inputPop(theFragmentStream->ctxt)); |
2559 | + |
2560 | + // Create the LibXml parser input |
2561 | + xmlParserInputPtr input = xmlNewInputStream(theFragmentStream->ctxt); |
2562 | + if (input == NULL) |
2563 | + { |
2564 | + theXQueryDiagnostics->add_error(NEW_ZORBA_EXCEPTION(zerr::ZSTR0021_LOADER_PARSING_ERROR, ERROR_PARAMS( ZED( ParserInitFailed ) ))); |
2565 | + throw 0; // the argument to throw is not used by the catch clause |
2566 | + } |
2567 | + |
2568 | + // Initialize the parser input (only filename and the pointer to the current char) |
2569 | + theFragmentStream->theBuffer[0] = ' '; // This assignment is needed for LibXml2-2.7.6, which tries to read the buffer when xmlPushInput() is called |
2570 | + input->cur = (xmlChar*)(theFragmentStream->theBuffer); |
2571 | + input->filename = (const char*)(xmlCanonicPath((const xmlChar*)theDocUri.c_str())); |
2572 | + xmlPushInput(theFragmentStream->ctxt, input); |
2573 | + } |
2574 | + |
2575 | + theFragmentStream->ctxt->userData = this; // the loader has changed, update the address |
2576 | + theFragmentStream->ctxt->disableSAX = false; // xmlStopParser() sets disableSAX to true |
2577 | + theFragmentStream->parsed_nodes_count = 0; |
2578 | + theFragmentStream->forced_parser_stop = false; |
2579 | + |
2580 | + if ( ! theFragmentStream->first_start_doc) |
2581 | + { |
2582 | + theFragmentStream->ctxt->instate = XML_PARSER_CONTENT; |
2583 | + FragmentXmlLoader::startDocument(theFragmentStream->ctxt->userData); |
2584 | + } |
2585 | + |
2586 | + while ( ! theFragmentStream->forced_parser_stop && fillBuffer(theFragmentStream)) |
2587 | + { |
2588 | + // 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; |
2589 | + |
2590 | + // This case needs to be handled here, otherwise LibXml2 will segfault |
2591 | + if (theFragmentStream->ctxt->input->cur[0] == '<' && |
2592 | + theFragmentStream->ctxt->input->cur[1] == '/' && |
2593 | + theFragmentStream->current_element_depth == 0) |
2594 | + { |
2595 | + theXQueryDiagnostics->add_error(theDocUri.empty() ? |
2596 | + NEW_ZORBA_EXCEPTION(zerr::ZSTR0021_LOADER_PARSING_ERROR, ERROR_PARAMS( ZED( BadXMLNoOpeningTag ))) : |
2597 | + NEW_ZORBA_EXCEPTION(zerr::ZSTR0021_LOADER_PARSING_ERROR, ERROR_PARAMS( ZED( BadXMLNoOpeningTag ), theDocUri)) |
2598 | + ); |
2599 | + throw 0; // the argument to throw is not used by the catch clause |
2600 | + } |
2601 | + |
2602 | + xmlParseChunk(theFragmentStream->ctxt, (const char*)theFragmentStream->ctxt->input->cur, |
2603 | + theFragmentStream->ctxt->input->length, 0); |
2604 | + |
2605 | + if (theFragmentStream->ctxt->input->base == (xmlChar*)(theFragmentStream->theBuffer) |
2606 | + && |
2607 | + theFragmentStream->current_offset < getCurrentInputOffset()) |
2608 | + theFragmentStream->current_offset = getCurrentInputOffset(); |
2609 | + |
2610 | + // If we didn't get an error and we haven't moved, we might have some freestanding text. Parse it as element character data. |
2611 | + if (theXQueryDiagnostics->errors().empty() |
2612 | + && |
2613 | + theFragmentStream->current_offset == 0) |
2614 | + { |
2615 | + // The input has been reset by xmlStopParser() |
2616 | + theFragmentStream->ctxt->input->base = (xmlChar*)(theFragmentStream->theBuffer); |
2617 | + theFragmentStream->ctxt->input->cur = theFragmentStream->ctxt->input->base; |
2618 | + xmlParseCharData(theFragmentStream->ctxt, 0); |
2619 | + } |
2620 | + |
2621 | + if ( ! theXQueryDiagnostics->errors().empty()) |
2622 | + throw 0; // the argument to throw is not used by the catch clause |
2623 | + } |
2624 | + |
2625 | + // this happens when there are tags that have not been closed |
2626 | + if (theFragmentStream->stream_is_consumed() |
2627 | + && |
2628 | + theFragmentStream->current_element_depth > 0) |
2629 | + { |
2630 | + theXQueryDiagnostics->add_error(theDocUri.empty() ? |
2631 | + NEW_ZORBA_EXCEPTION(zerr::ZSTR0021_LOADER_PARSING_ERROR, ERROR_PARAMS( ZED( BadXMLDocument_2o ))) : |
2632 | + NEW_ZORBA_EXCEPTION(zerr::ZSTR0021_LOADER_PARSING_ERROR, ERROR_PARAMS( ZED( BadXMLDocument_2o ), theDocUri)) |
2633 | + ); |
2634 | + throw 0; |
2635 | + } |
2636 | + |
2637 | + FragmentXmlLoader::endDocument(theFragmentStream->ctxt->userData); // this would not be called otherwise |
2638 | } |
2639 | catch (...) |
2640 | { |
2641 | @@ -228,49 +317,36 @@ |
2642 | return NULL; |
2643 | } |
2644 | |
2645 | - bool ok = ctxt->wellFormed != 0; |
2646 | - |
2647 | // The doc may be well formed, but it may have other kinds of errors, e.g., unresolved ns prefixes. |
2648 | if (!theXQueryDiagnostics->errors().empty()) |
2649 | { |
2650 | abortload(); |
2651 | return NULL; |
2652 | } |
2653 | - else if (!ok ) |
2654 | + else if ( ! theFragmentStream->ctxt->wellFormed) |
2655 | { |
2656 | - if (!theDocUri.empty()) |
2657 | - { |
2658 | - theXQueryDiagnostics-> |
2659 | - add_error(NEW_ZORBA_EXCEPTION(zerr::ZSTR0021_LOADER_PARSING_ERROR, |
2660 | - ERROR_PARAMS(ZED(BadXMLDocument_2o), theDocUri))); |
2661 | - } |
2662 | - else |
2663 | - { |
2664 | - theXQueryDiagnostics-> |
2665 | - add_error(NEW_ZORBA_EXCEPTION(zerr::ZSTR0021_LOADER_PARSING_ERROR, |
2666 | - ERROR_PARAMS(ZED(BadXMLDocument_2o)))); |
2667 | - } |
2668 | + theXQueryDiagnostics->add_error(theDocUri.empty() ? |
2669 | + NEW_ZORBA_EXCEPTION(zerr::ZSTR0021_LOADER_PARSING_ERROR, ERROR_PARAMS( ZED( BadXMLDocument_2o ))) : |
2670 | + NEW_ZORBA_EXCEPTION(zerr::ZSTR0021_LOADER_PARSING_ERROR, ERROR_PARAMS( ZED( BadXMLDocument_2o ), theDocUri)) |
2671 | + ); |
2672 | abortload(); |
2673 | return NULL; |
2674 | } |
2675 | - else if ( ctxt->lastError.code != XML_ERR_OK ) |
2676 | + else if (theFragmentStream->ctxt->lastError.code != XML_ERR_OK) |
2677 | { |
2678 | - if ( ctxt->lastError.code == XML_NS_ERR_UNDEFINED_NAMESPACE || |
2679 | - ctxt->lastError.code != XML_ERR_NO_DTD ) |
2680 | + if (theFragmentStream->ctxt->lastError.code == XML_NS_ERR_UNDEFINED_NAMESPACE |
2681 | + || |
2682 | + theFragmentStream->ctxt->lastError.code != XML_ERR_NO_DTD ) |
2683 | { |
2684 | - theXQueryDiagnostics-> |
2685 | - add_error(NEW_ZORBA_EXCEPTION(zerr::ZSTR0021_LOADER_PARSING_ERROR, |
2686 | - ERROR_PARAMS(ZED(BadXMLDocument_2o)))); |
2687 | - |
2688 | + theXQueryDiagnostics->add_error(theDocUri.empty() ? |
2689 | + NEW_ZORBA_EXCEPTION(zerr::ZSTR0021_LOADER_PARSING_ERROR, ERROR_PARAMS( ZED( BadXMLDocument_2o ))) : |
2690 | + NEW_ZORBA_EXCEPTION(zerr::ZSTR0021_LOADER_PARSING_ERROR, ERROR_PARAMS( ZED( BadXMLDocument_2o ), theDocUri)) |
2691 | + ); |
2692 | abortload(); |
2693 | return NULL; |
2694 | } |
2695 | } |
2696 | |
2697 | - xmlCtxtReset(ctxt); |
2698 | - xmlFreeParserCtxt(ctxt); |
2699 | - ctxt = NULL; |
2700 | - |
2701 | thePathStack.pop(); |
2702 | assert(thePathStack.empty()); |
2703 | |
2704 | @@ -280,23 +356,59 @@ |
2705 | return resultNode; |
2706 | } |
2707 | |
2708 | - |
2709 | -void FragmentXmlLoader::checkStopParsing(void* ctx) |
2710 | -{ |
2711 | - FragmentXmlLoader& loader = *(static_cast<FragmentXmlLoader*>(ctx)); |
2712 | - ZORBA_LOADER_CHECK_ERROR(loader); |
2713 | - |
2714 | - if (loader.element_depth == 0) |
2715 | - { |
2716 | - /* if (loader.ctxt->inputNr <= 1) |
2717 | - loader.theFragmentStream->current_offset = loader.theFragmentStream->buffer_size; |
2718 | - else */ |
2719 | - loader.theFragmentStream->current_offset += (loader.ctxt->input->cur - loader.ctxt->input->base) |
2720 | - + loader.ctxt->input->consumed; |
2721 | - xmlStopParser(loader.ctxt); |
2722 | - } |
2723 | -} |
2724 | - |
2725 | +unsigned long FragmentXmlLoader::getCurrentInputOffset() const |
2726 | +{ |
2727 | + unsigned long offset = theFragmentStream->ctxt->input->cur |
2728 | + - theFragmentStream->ctxt->input->base |
2729 | + + theFragmentStream->ctxt->input->consumed; |
2730 | + |
2731 | + return offset; |
2732 | +} |
2733 | + |
2734 | +void FragmentXmlLoader::checkStopParsing(void* ctx, bool force) |
2735 | +{ |
2736 | + FragmentXmlLoader& loader = *(static_cast<FragmentXmlLoader*>(ctx)); |
2737 | + ZORBA_LOADER_CHECK_ERROR(loader); |
2738 | + |
2739 | + unsigned long offset = loader.getCurrentInputOffset(); |
2740 | + |
2741 | + if (force |
2742 | + || |
2743 | + loader.theFragmentStream->current_element_depth == 0 |
2744 | + || |
2745 | + (offset >= loader.theFragmentStream->bytes_in_buffer |
2746 | + && |
2747 | + loader.theFragmentStream->reached_eof) |
2748 | + || |
2749 | + (loader.theFragmentStream->current_element_depth <= loader.theFragmentStream->root_elements_to_skip |
2750 | + && |
2751 | + loader.theFragmentStream->parsed_nodes_count >= FragmentIStream::PARSED_NODES_BATCH_SIZE)) |
2752 | + { |
2753 | + loader.theFragmentStream->current_offset = offset; |
2754 | + xmlStopParser(loader.theFragmentStream->ctxt); |
2755 | + loader.theFragmentStream->ctxt->errNo = XML_SCHEMAV_MISC; // fake error to force stopping |
2756 | + loader.theFragmentStream->forced_parser_stop = true; |
2757 | + } |
2758 | + |
2759 | + loader.theFragmentStream->parsed_nodes_count++; |
2760 | +} |
2761 | + |
2762 | +void FragmentXmlLoader::startDocument(void * ctx) |
2763 | +{ |
2764 | + FragmentXmlLoader& loader = *(static_cast<FragmentXmlLoader*>(ctx)); |
2765 | + ZORBA_LOADER_CHECK_ERROR(loader); |
2766 | + FastXmlLoader::startDocument(ctx); |
2767 | + if (loader.theFragmentStream->first_start_doc) |
2768 | + { |
2769 | + loader.theFragmentStream->first_start_doc = false; |
2770 | + FragmentXmlLoader::checkStopParsing(ctx, true); |
2771 | + } |
2772 | +} |
2773 | + |
2774 | +void FragmentXmlLoader::endDocument(void * ctx) |
2775 | +{ |
2776 | + FastXmlLoader::endDocument(ctx); |
2777 | +} |
2778 | |
2779 | void FragmentXmlLoader::startElement( |
2780 | void * ctx, |
2781 | @@ -309,27 +421,34 @@ |
2782 | int nb_defaulted, |
2783 | const xmlChar ** attributes) |
2784 | { |
2785 | - FastXmlLoader::startElement(ctx, localname, prefix, URI, nb_namespaces, namespaces, nb_attributes, nb_defaulted, attributes); |
2786 | - |
2787 | FragmentXmlLoader& loader = *(static_cast<FragmentXmlLoader*>(ctx)); |
2788 | ZORBA_LOADER_CHECK_ERROR(loader); |
2789 | - loader.element_depth++; |
2790 | + loader.theFragmentStream->current_element_depth++; |
2791 | + if (loader.theFragmentStream->current_element_depth > loader.theFragmentStream->root_elements_to_skip) |
2792 | + { |
2793 | + const xmlChar** nsTab = namespaces; |
2794 | + |
2795 | + if (loader.theFragmentStream->current_element_depth == loader.theFragmentStream->root_elements_to_skip + 1) |
2796 | + { |
2797 | + nsTab = loader.theFragmentStream->ctxt->nsTab; |
2798 | + nb_namespaces = loader.theFragmentStream->ctxt->nsNr/2; |
2799 | + } |
2800 | + |
2801 | + FastXmlLoader::startElement(ctx, localname, prefix, URI, nb_namespaces, nsTab, nb_attributes, nb_defaulted, attributes); |
2802 | + } |
2803 | } |
2804 | |
2805 | - |
2806 | void FragmentXmlLoader::endElement( |
2807 | void * ctx, |
2808 | const xmlChar * localname, |
2809 | const xmlChar * prefix, |
2810 | const xmlChar * URI) |
2811 | { |
2812 | - FastXmlLoader::endElement(ctx, localname, prefix, URI); |
2813 | - |
2814 | FragmentXmlLoader& loader = *(static_cast<FragmentXmlLoader*>(ctx)); |
2815 | ZORBA_LOADER_CHECK_ERROR(loader); |
2816 | - |
2817 | - loader.element_depth--; |
2818 | - |
2819 | + if (loader.theFragmentStream->current_element_depth > loader.theFragmentStream->root_elements_to_skip) |
2820 | + FastXmlLoader::endElement(ctx, localname, prefix, URI); |
2821 | + loader.theFragmentStream->current_element_depth--; |
2822 | checkStopParsing(ctx); |
2823 | } |
2824 | |
2825 | @@ -338,7 +457,10 @@ |
2826 | const xmlChar * ch, |
2827 | int len) |
2828 | { |
2829 | - FastXmlLoader::characters(ctx, ch, len); |
2830 | + FragmentXmlLoader& loader = *(static_cast<FragmentXmlLoader*>(ctx)); |
2831 | + ZORBA_LOADER_CHECK_ERROR(loader); |
2832 | + if (loader.theFragmentStream->current_element_depth >= loader.theFragmentStream->root_elements_to_skip) |
2833 | + FastXmlLoader::characters(ctx, ch, len); |
2834 | checkStopParsing(ctx); |
2835 | } |
2836 | |
2837 | @@ -347,7 +469,10 @@ |
2838 | void * ctx, |
2839 | const xmlChar * value) |
2840 | { |
2841 | - FastXmlLoader::comment(ctx, value); |
2842 | + FragmentXmlLoader& loader = *(static_cast<FragmentXmlLoader*>(ctx)); |
2843 | + ZORBA_LOADER_CHECK_ERROR(loader); |
2844 | + if (loader.theFragmentStream->current_element_depth >= loader.theFragmentStream->root_elements_to_skip) |
2845 | + FastXmlLoader::comment(ctx, value); |
2846 | checkStopParsing(ctx); |
2847 | } |
2848 | |
2849 | @@ -357,7 +482,10 @@ |
2850 | const xmlChar * value, |
2851 | int len) |
2852 | { |
2853 | - FastXmlLoader::cdataBlock(ctx, value, len); |
2854 | + FragmentXmlLoader& loader = *(static_cast<FragmentXmlLoader*>(ctx)); |
2855 | + ZORBA_LOADER_CHECK_ERROR(loader); |
2856 | + if (loader.theFragmentStream->current_element_depth >= loader.theFragmentStream->root_elements_to_skip) |
2857 | + FastXmlLoader::cdataBlock(ctx, value, len); |
2858 | checkStopParsing(ctx); |
2859 | } |
2860 | |
2861 | @@ -367,7 +495,10 @@ |
2862 | const xmlChar * target, |
2863 | const xmlChar * data) |
2864 | { |
2865 | - FastXmlLoader::processingInstruction(ctx, target, data); |
2866 | + FragmentXmlLoader& loader = *(static_cast<FragmentXmlLoader*>(ctx)); |
2867 | + ZORBA_LOADER_CHECK_ERROR(loader); |
2868 | + if (loader.theFragmentStream->current_element_depth >= loader.theFragmentStream->root_elements_to_skip) |
2869 | + FastXmlLoader::processingInstruction(ctx, target, data); |
2870 | checkStopParsing(ctx); |
2871 | } |
2872 | |
2873 | @@ -378,14 +509,13 @@ |
2874 | DtdXmlLoader::DtdXmlLoader( |
2875 | BasicItemFactory* factory, |
2876 | XQueryDiagnostics* xqueryDiagnostics, |
2877 | - bool dataguide, |
2878 | - bool parseExtParsedEntity) |
2879 | + const store::LoadProperties& loadProperties, |
2880 | + bool dataguide) |
2881 | : |
2882 | - XmlLoader(factory, xqueryDiagnostics, dataguide), |
2883 | + XmlLoader(factory, xqueryDiagnostics, loadProperties, dataguide), |
2884 | theTree(NULL), |
2885 | theRootNode(NULL), |
2886 | - theNodeStack(2048), |
2887 | - theParseExtParsedEntity(parseExtParsedEntity) |
2888 | + theNodeStack(2048) |
2889 | { |
2890 | theOrdPath.init(); |
2891 | |
2892 | @@ -511,10 +641,7 @@ |
2893 | Return the number of bytes actually read, throw an exception if any I/O |
2894 | error occured. |
2895 | ********************************************************************************/ |
2896 | -std::streamsize DtdXmlLoader::readPacket( |
2897 | - std::istream& stream, |
2898 | - char* buf, |
2899 | - std::streamoff size) |
2900 | +std::streamsize DtdXmlLoader::readPacket(std::istream& stream, char* buf, std::streamoff size) |
2901 | { |
2902 | try |
2903 | { |
2904 | @@ -626,23 +753,26 @@ |
2905 | } |
2906 | |
2907 | // Set the LibXml DTD validation options |
2908 | + /* |
2909 | int options = XML_PARSE_COMPACT; |
2910 | options |= XML_PARSE_DTDVALID; |
2911 | options |= XML_PARSE_DTDLOAD; |
2912 | + */ |
2913 | //options |= XML_PARSE_SAX1; |
2914 | //xmlSAXDefaultVersion(1); |
2915 | |
2916 | + // xmlCtxtUseOptions(ctxt, options); |
2917 | + |
2918 | xmlLoadExtDtdDefaultValue |= XML_DETECT_IDS; |
2919 | xmlLoadExtDtdDefaultValue |= XML_COMPLETE_ATTRS; |
2920 | |
2921 | - xmlCtxtUseOptions(ctxt, options); |
2922 | + // Apply loader options |
2923 | + applyLoadOptions(theLoadProperties, ctxt); |
2924 | |
2925 | if ( xmlParseDocument(ctxt)==-1 ) |
2926 | { |
2927 | // std::cout << " xmlParseDocument: Error: Unable to create tree: " << ctxt->lastError.message << std::endl; |
2928 | - theXQueryDiagnostics-> |
2929 | - add_error(NEW_ZORBA_EXCEPTION(zerr::ZSTR0021_LOADER_PARSING_ERROR, |
2930 | - ERROR_PARAMS(ZED(ParserNoCreateTree)))); |
2931 | + theXQueryDiagnostics->add_error(NEW_ZORBA_EXCEPTION(zerr::ZSTR0021_LOADER_PARSING_ERROR,ERROR_PARAMS( ZED( ParserNoCreateTree ) ))); |
2932 | abortload(); |
2933 | return NULL; |
2934 | } |
2935 | @@ -667,15 +797,21 @@ |
2936 | { |
2937 | if (!theDocUri.empty()) |
2938 | { |
2939 | - theXQueryDiagnostics-> |
2940 | - add_error(NEW_ZORBA_EXCEPTION(zerr::ZSTR0021_LOADER_PARSING_ERROR, |
2941 | - ERROR_PARAMS(ZED(BadXMLDocument_2o), theDocUri))); |
2942 | + theXQueryDiagnostics->add_error( |
2943 | + NEW_ZORBA_EXCEPTION( |
2944 | + zerr::ZSTR0021_LOADER_PARSING_ERROR, |
2945 | + ERROR_PARAMS( ZED( BadXMLDocument_2o ), theDocUri ) |
2946 | + ) |
2947 | + ); |
2948 | } |
2949 | else |
2950 | { |
2951 | - theXQueryDiagnostics-> |
2952 | - add_error(NEW_ZORBA_EXCEPTION(zerr::ZSTR0021_LOADER_PARSING_ERROR, |
2953 | - ERROR_PARAMS(ZED(BadXMLDocument_2o)))); |
2954 | + theXQueryDiagnostics->add_error( |
2955 | + NEW_ZORBA_EXCEPTION( |
2956 | + zerr::ZSTR0021_LOADER_PARSING_ERROR, |
2957 | + ERROR_PARAMS( ZED( BadXMLDocument_2o ) ) |
2958 | + ) |
2959 | + ); |
2960 | } |
2961 | |
2962 | abortload(); |
2963 | @@ -691,9 +827,12 @@ |
2964 | if ( ctxt->lastError.code == XML_NS_ERR_UNDEFINED_NAMESPACE || |
2965 | ctxt->lastError.code != XML_ERR_NO_DTD ) |
2966 | { |
2967 | - theXQueryDiagnostics-> |
2968 | - add_error(NEW_ZORBA_EXCEPTION(zerr::ZSTR0021_LOADER_PARSING_ERROR, |
2969 | - ERROR_PARAMS(ZED(BadXMLDocument_2o)))); |
2970 | + theXQueryDiagnostics->add_error( |
2971 | + NEW_ZORBA_EXCEPTION( |
2972 | + zerr::ZSTR0021_LOADER_PARSING_ERROR, |
2973 | + ERROR_PARAMS( ZED( BadXMLDocument_2o ) ) |
2974 | + ) |
2975 | + ); |
2976 | abortload(); |
2977 | return NULL; |
2978 | |
2979 | @@ -704,10 +843,12 @@ |
2980 | xmlDoc *doc = ctxt->myDoc; |
2981 | if (doc == NULL) |
2982 | { |
2983 | - theXQueryDiagnostics-> |
2984 | - add_error(NEW_ZORBA_EXCEPTION(zerr::ZSTR0021_LOADER_PARSING_ERROR, |
2985 | - ERROR_PARAMS(ZED(ParserNoCreateTree)))); |
2986 | - |
2987 | + theXQueryDiagnostics->add_error( |
2988 | + NEW_ZORBA_EXCEPTION( |
2989 | + zerr::ZSTR0021_LOADER_PARSING_ERROR, |
2990 | + ERROR_PARAMS( ZED( ParserNoCreateTree ) ) |
2991 | + ) |
2992 | + ); |
2993 | abortload(); |
2994 | return NULL; |
2995 | } |
2996 | @@ -859,8 +1000,9 @@ |
2997 | } |
2998 | catch (...) |
2999 | { |
3000 | - loader.theXQueryDiagnostics-> |
3001 | - add_error(NEW_ZORBA_EXCEPTION(zerr::ZXQP0003_INTERNAL_ERROR)); |
3002 | + loader.theXQueryDiagnostics->add_error( |
3003 | + NEW_ZORBA_EXCEPTION( zerr::ZXQP0003_INTERNAL_ERROR ) |
3004 | + ); |
3005 | } |
3006 | } |
3007 | |
3008 | |
3009 | === modified file 'src/store/naive/loader_fast.cpp' |
3010 | --- src/store/naive/loader_fast.cpp 2012-02-15 10:25:02 +0000 |
3011 | +++ src/store/naive/loader_fast.cpp 2012-03-13 16:09:23 +0000 |
3012 | @@ -76,9 +76,10 @@ |
3013 | FastXmlLoader::FastXmlLoader( |
3014 | BasicItemFactory* factory, |
3015 | XQueryDiagnostics* xqueryDiagnostics, |
3016 | + const store::LoadProperties& loadProperties, |
3017 | bool dataguide) |
3018 | : |
3019 | - XmlLoader(factory, xqueryDiagnostics, dataguide), |
3020 | + XmlLoader(factory, xqueryDiagnostics, loadProperties, dataguide), |
3021 | theTree(NULL), |
3022 | theRootNode(NULL), |
3023 | theNodeStack(2048) |
3024 | @@ -298,6 +299,13 @@ |
3025 | static_cast<int>(numChars), |
3026 | docUri.c_str()); |
3027 | |
3028 | + // Apply loader options |
3029 | + store::LoadProperties new_props = theLoadProperties; |
3030 | + new_props.setSubstituteEntities(true); // This is required for some Zorba tests, |
3031 | + // e.g. rbkt/Queries/zorba/entity/entity.xq |
3032 | + // It should probably be handled in a different way |
3033 | + applyLoadOptions(new_props, ctxt); |
3034 | + |
3035 | if (ctxt == NULL) |
3036 | { |
3037 | theXQueryDiagnostics-> |
3038 | |
3039 | === modified file 'src/store/naive/simple_store.cpp' |
3040 | --- src/store/naive/simple_store.cpp 2012-03-13 10:04:44 +0000 |
3041 | +++ src/store/naive/simple_store.cpp 2012-03-13 16:09:23 +0000 |
3042 | @@ -354,7 +354,7 @@ |
3043 | std::cerr << "Reference: " << (*iter).second |
3044 | << "is still in the nodes to references map" << std::endl; |
3045 | } |
3046 | - ZORBA_FATAL(0, theNodeToReferencesMap.size() + |
3047 | + ZORBA_FATAL(0, theNodeToReferencesMap.size() + |
3048 | " node references still in the nodes to references map"); |
3049 | } |
3050 | |
3051 | @@ -364,7 +364,7 @@ |
3052 | RefNodeMap::iterator end = theReferencesToNodeMap.end(); |
3053 | for (; iter != end; ++iter) |
3054 | { |
3055 | - std::cerr << "Reference: " << (*iter).first |
3056 | + std::cerr << "Reference: " << (*iter).first |
3057 | << "is still in the references to nodes map" << std::endl; |
3058 | } |
3059 | ZORBA_FATAL(0, theReferencesToNodeMap.size() + |
3060 | @@ -490,18 +490,20 @@ |
3061 | XmlLoader* SimpleStore::getXmlLoader(XQueryDiagnostics* aXQueryDiagnostics, |
3062 | const store::LoadProperties& loadProperties) |
3063 | { |
3064 | - if (loadProperties.getEnableExtParsedEntity()) |
3065 | + if (loadProperties.getParseExternalParsedEntity()) |
3066 | return new FragmentXmlLoader(theItemFactory, |
3067 | aXQueryDiagnostics, |
3068 | + loadProperties, |
3069 | store::Properties::instance()->buildDataguide()); |
3070 | - else if (loadProperties.getEnableDtd()) |
3071 | + else if (loadProperties.getDTDValidate()) |
3072 | return new DtdXmlLoader(theItemFactory, |
3073 | aXQueryDiagnostics, |
3074 | - store::Properties::instance()->buildDataguide(), |
3075 | - loadProperties.getEnableExtParsedEntity()); |
3076 | + loadProperties, |
3077 | + store::Properties::instance()->buildDataguide()); |
3078 | else |
3079 | return new FastXmlLoader(theItemFactory, |
3080 | aXQueryDiagnostics, |
3081 | + loadProperties, |
3082 | store::Properties::instance()->buildDataguide()); |
3083 | } |
3084 | |
3085 | @@ -987,7 +989,7 @@ |
3086 | return NULL; |
3087 | |
3088 | store::Collection_t collection; |
3089 | - if (theCollections->get(aName, collection, aDynamicCollection)) |
3090 | + if (theCollections->get(aName, collection, aDynamicCollection)) |
3091 | { |
3092 | return collection; |
3093 | } |
3094 | @@ -1315,7 +1317,7 @@ |
3095 | Computes the Structural Reference for the given node. |
3096 | ********************************************************************************/ |
3097 | bool SimpleStore::getStructuralInformation( |
3098 | - store::Item_t& result, |
3099 | + store::Item_t& result, |
3100 | const store::Item* node) |
3101 | { |
3102 | #ifdef TEXT_ORDPATH |
3103 | @@ -1355,7 +1357,7 @@ |
3104 | |
3105 | /******************************************************************************* |
3106 | Computes the reference of the given node. |
3107 | - |
3108 | + |
3109 | @param node XDM node |
3110 | @return the identifier as an item of type xs:anyURI |
3111 | ********************************************************************************/ |
3112 | @@ -1388,7 +1390,7 @@ |
3113 | |
3114 | /******************************************************************************* |
3115 | Returns the node which is identified by the given reference. |
3116 | - |
3117 | + |
3118 | @param reference an xs:anyURI item |
3119 | @result the node identified by the reference, or NULL if no node with the given |
3120 | reference exists |
3121 | @@ -1417,7 +1419,7 @@ |
3122 | |
3123 | /******************************************************************************* |
3124 | Returns whether a reference has already been generated for the given node. |
3125 | - |
3126 | + |
3127 | @param item XDM node |
3128 | @return whether a reference has already been generated for the given node. |
3129 | ********************************************************************************/ |
3130 | @@ -1429,7 +1431,7 @@ |
3131 | |
3132 | /******************************************************************************* |
3133 | Removes a node from the reference-to-nodes and nodes-to-references maps. |
3134 | - |
3135 | + |
3136 | @param node XDM node |
3137 | @return whether the node was registered or not. |
3138 | ********************************************************************************/ |
3139 | |
3140 | === modified file 'src/types/typeimpl.cpp' |
3141 | --- src/types/typeimpl.cpp 2012-01-10 10:52:15 +0000 |
3142 | +++ src/types/typeimpl.cpp 2012-03-13 16:09:23 +0000 |
3143 | @@ -361,7 +361,7 @@ |
3144 | |
3145 | |
3146 | bool NodeXQType::is_subtype( |
3147 | - const TypeManager* tm, |
3148 | + const TypeManager* tm, |
3149 | const NodeXQType& supertype, |
3150 | const QueryLoc& loc) const |
3151 | { |
3152 | @@ -443,7 +443,7 @@ |
3153 | |
3154 | |
3155 | bool NodeXQType::is_supertype( |
3156 | - const TypeManager* tm, |
3157 | + const TypeManager* tm, |
3158 | const store::Item* subitem, |
3159 | const QueryLoc& loc) const |
3160 | { |
3161 | @@ -488,14 +488,30 @@ |
3162 | } |
3163 | } |
3164 | |
3165 | - if (m_node_kind != store::StoreConsts::elementNode && |
3166 | - m_node_kind != store::StoreConsts::attributeNode) |
3167 | + // document-node( E ) matches any document node that contains exactly one element |
3168 | + // node, optionally accompanied by one or more comment and processing instruction |
3169 | + // nodes, if E is an ElementTest or SchemaElementTest that matches the element node. |
3170 | + bool is_element_test = ( |
3171 | + m_node_kind == store::StoreConsts::documentNode && |
3172 | + m_content_type != NULL && |
3173 | + m_content_type->type_kind() == XQType::NODE_TYPE_KIND && |
3174 | + dynamic_cast<const NodeXQType*>(m_content_type.getp())->m_schema_test == false); |
3175 | + |
3176 | + if (m_node_kind != store::StoreConsts::elementNode && |
3177 | + m_node_kind != store::StoreConsts::attributeNode && |
3178 | + !is_element_test) |
3179 | return true; |
3180 | |
3181 | if (m_content_type == NULL || |
3182 | m_content_type->type_kind() == XQType::ANY_TYPE_KIND) |
3183 | return true; |
3184 | |
3185 | + if (is_element_test) |
3186 | + { |
3187 | + xqtref_t documentNodeType = tm->create_value_type(subitem, loc); |
3188 | + return TypeOps::is_subtype(tm, *documentNodeType, *this); |
3189 | + } |
3190 | + |
3191 | xqtref_t subContentType = tm->create_named_type(subitem->getType(), |
3192 | TypeConstants::QUANT_ONE, |
3193 | loc, |
3194 | |
3195 | === added file 'test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-01.xml.res' |
3196 | --- test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-01.xml.res 1970-01-01 00:00:00 +0000 |
3197 | +++ test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-01.xml.res 2012-03-13 16:09:23 +0000 |
3198 | @@ -0,0 +1,2 @@ |
3199 | +<?xml version="1.0" encoding="UTF-8"?> |
3200 | +<from1>Jani</from1> |
3201 | \ No newline at end of file |
3202 | |
3203 | === added file 'test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-02.xml.res' |
3204 | --- test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-02.xml.res 1970-01-01 00:00:00 +0000 |
3205 | +++ test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-02.xml.res 2012-03-13 16:09:23 +0000 |
3206 | @@ -0,0 +1,6 @@ |
3207 | +<?xml version="1.0" encoding="UTF-8"?> |
3208 | + |
3209 | + <from1>Jani1</from1> |
3210 | + <from2>Jani2</from2> |
3211 | + <from3>Jani3</from3> |
3212 | + |
3213 | |
3214 | === added file 'test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-03.xml.res' |
3215 | --- test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-03.xml.res 1970-01-01 00:00:00 +0000 |
3216 | +++ test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-03.xml.res 2012-03-13 16:09:23 +0000 |
3217 | @@ -0,0 +1,2 @@ |
3218 | +<?xml version="1.0" encoding="UTF-8"?> |
3219 | +Jani1Jani2Jani3 |
3220 | |
3221 | === added file 'test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-04.xml.res' |
3222 | --- test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-04.xml.res 1970-01-01 00:00:00 +0000 |
3223 | +++ test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-04.xml.res 2012-03-13 16:09:23 +0000 |
3224 | @@ -0,0 +1,12 @@ |
3225 | +<?xml version="1.0" encoding="UTF-8"?> |
3226 | +<root> |
3227 | + <root2> |
3228 | + <from1>Jani1</from1> |
3229 | + </root2> |
3230 | + <root2> |
3231 | + <from2>Jani2</from2> |
3232 | + </root2> |
3233 | + <root2> |
3234 | + <from3>Jani3</from3> |
3235 | + </root2> |
3236 | +</root> |
3237 | |
3238 | === added file 'test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-05.xml.res' |
3239 | --- test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-05.xml.res 1970-01-01 00:00:00 +0000 |
3240 | +++ test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-05.xml.res 2012-03-13 16:09:23 +0000 |
3241 | @@ -0,0 +1,12 @@ |
3242 | +<?xml version="1.0" encoding="UTF-8"?> |
3243 | + |
3244 | + <root2> |
3245 | + <from1>Jani1</from1> |
3246 | + </root2> |
3247 | + <root2> |
3248 | + <from2>Jani2</from2> |
3249 | + </root2> |
3250 | + <root2> |
3251 | + <from3>Jani3</from3> |
3252 | + </root2> |
3253 | + |
3254 | |
3255 | === added file 'test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-06.xml.res' |
3256 | --- test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-06.xml.res 1970-01-01 00:00:00 +0000 |
3257 | +++ test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-06.xml.res 2012-03-13 16:09:23 +0000 |
3258 | @@ -0,0 +1,8 @@ |
3259 | +<?xml version="1.0" encoding="UTF-8"?> |
3260 | + |
3261 | + <from1>Jani1</from1> |
3262 | + |
3263 | + <from2>Jani2</from2> |
3264 | + |
3265 | + <from3>Jani3</from3> |
3266 | + |
3267 | |
3268 | === added file 'test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-07.xml.res' |
3269 | --- test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-07.xml.res 1970-01-01 00:00:00 +0000 |
3270 | +++ test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-07.xml.res 2012-03-13 16:09:23 +0000 |
3271 | @@ -0,0 +1,2 @@ |
3272 | +<?xml version="1.0" encoding="UTF-8"?> |
3273 | +Jani1Jani2Jani3 |
3274 | |
3275 | === added file 'test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-08.xml.res' |
3276 | --- test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-08.xml.res 1970-01-01 00:00:00 +0000 |
3277 | +++ test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-08.xml.res 2012-03-13 16:09:23 +0000 |
3278 | @@ -0,0 +1,2 @@ |
3279 | +<?xml version="1.0" encoding="UTF-8"?> |
3280 | +<root><from1>Jani1</from1></root> |
3281 | |
3282 | === added file 'test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-09.xml.res' |
3283 | --- test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-09.xml.res 1970-01-01 00:00:00 +0000 |
3284 | +++ test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-09.xml.res 2012-03-13 16:09:23 +0000 |
3285 | @@ -0,0 +1,2 @@ |
3286 | +<?xml version="1.0" encoding="UTF-8"?> |
3287 | +<from1>Jani1</from1> |
3288 | |
3289 | === added file 'test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-10.xml.res' |
3290 | --- test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-10.xml.res 1970-01-01 00:00:00 +0000 |
3291 | +++ test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-10.xml.res 2012-03-13 16:09:23 +0000 |
3292 | @@ -0,0 +1,2 @@ |
3293 | +<?xml version="1.0" encoding="UTF-8"?> |
3294 | +Jani1 |
3295 | |
3296 | === added file 'test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-11.xml.res' |
3297 | --- test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-11.xml.res 1970-01-01 00:00:00 +0000 |
3298 | +++ test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-11.xml.res 2012-03-13 16:09:23 +0000 |
3299 | @@ -0,0 +1,2 @@ |
3300 | +<?xml version="1.0" encoding="UTF-8"?> |
3301 | + |
3302 | |
3303 | === added file 'test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-12.xml.res' |
3304 | --- test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-12.xml.res 1970-01-01 00:00:00 +0000 |
3305 | +++ test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-12.xml.res 2012-03-13 16:09:23 +0000 |
3306 | @@ -0,0 +1,2 @@ |
3307 | +<?xml version="1.0" encoding="UTF-8"?> |
3308 | +Jani1 |
3309 | |
3310 | === added file 'test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-13.xml.res' |
3311 | --- test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-13.xml.res 1970-01-01 00:00:00 +0000 |
3312 | +++ test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-13.xml.res 2012-03-13 16:09:23 +0000 |
3313 | @@ -0,0 +1,2 @@ |
3314 | +<?xml version="1.0" encoding="UTF-8"?> |
3315 | +<from1>Jani1</from1> |
3316 | |
3317 | === added file 'test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-14.xml.res' |
3318 | --- test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-14.xml.res 1970-01-01 00:00:00 +0000 |
3319 | +++ test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-14.xml.res 2012-03-13 16:09:23 +0000 |
3320 | @@ -0,0 +1,2 @@ |
3321 | +<?xml version="1.0" encoding="UTF-8"?> |
3322 | +Jani1 |
3323 | |
3324 | === added file 'test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-15.xml.res' |
3325 | --- test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-15.xml.res 1970-01-01 00:00:00 +0000 |
3326 | +++ test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-15.xml.res 2012-03-13 16:09:23 +0000 |
3327 | @@ -0,0 +1,2 @@ |
3328 | +<?xml version="1.0" encoding="UTF-8"?> |
3329 | +Jani1 |
3330 | |
3331 | === added file 'test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-16.xml.res' |
3332 | --- test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-16.xml.res 1970-01-01 00:00:00 +0000 |
3333 | +++ test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-16.xml.res 2012-03-13 16:09:23 +0000 |
3334 | @@ -0,0 +1,2 @@ |
3335 | +<?xml version="1.0" encoding="UTF-8"?> |
3336 | +Jani1 |
3337 | |
3338 | === added file 'test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-17.xml.res' |
3339 | --- test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-17.xml.res 1970-01-01 00:00:00 +0000 |
3340 | +++ test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-17.xml.res 2012-03-13 16:09:23 +0000 |
3341 | @@ -0,0 +1,2 @@ |
3342 | +<?xml version="1.0" encoding="UTF-8"?> |
3343 | +root3 text<from1>Jani1</from1> |
3344 | |
3345 | === added file 'test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-18.xml.res' |
3346 | --- test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-18.xml.res 1970-01-01 00:00:00 +0000 |
3347 | +++ test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-18.xml.res 2012-03-13 16:09:23 +0000 |
3348 | @@ -0,0 +1,2 @@ |
3349 | +<?xml version="1.0" encoding="UTF-8"?> |
3350 | +Jani1 |
3351 | |
3352 | === added file 'test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-19.xml.res' |
3353 | --- test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-19.xml.res 1970-01-01 00:00:00 +0000 |
3354 | +++ test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-19.xml.res 2012-03-13 16:09:23 +0000 |
3355 | @@ -0,0 +1,8 @@ |
3356 | +<?xml version="1.0" encoding="UTF-8"?> |
3357 | +<level1> |
3358 | + <level2> |
3359 | + <level3> |
3360 | + <level4>level4 text</level4> |
3361 | + </level3> |
3362 | + </level2> |
3363 | +</level1> |
3364 | |
3365 | === added file 'test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-20.xml.res' |
3366 | --- test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-20.xml.res 1970-01-01 00:00:00 +0000 |
3367 | +++ test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-20.xml.res 2012-03-13 16:09:23 +0000 |
3368 | @@ -0,0 +1,8 @@ |
3369 | +<?xml version="1.0" encoding="UTF-8"?> |
3370 | + |
3371 | + <level2> |
3372 | + <level3> |
3373 | + <level4>level4 text</level4> |
3374 | + </level3> |
3375 | + </level2> |
3376 | + |
3377 | |
3378 | === added file 'test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-21.xml.res' |
3379 | --- test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-21.xml.res 1970-01-01 00:00:00 +0000 |
3380 | +++ test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-21.xml.res 2012-03-13 16:09:23 +0000 |
3381 | @@ -0,0 +1,6 @@ |
3382 | +<?xml version="1.0" encoding="UTF-8"?> |
3383 | + |
3384 | + <level3> |
3385 | + <level4>level4 text</level4> |
3386 | + </level3> |
3387 | + |
3388 | |
3389 | === added file 'test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-22.xml.res' |
3390 | --- test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-22.xml.res 1970-01-01 00:00:00 +0000 |
3391 | +++ test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-22.xml.res 2012-03-13 16:09:23 +0000 |
3392 | @@ -0,0 +1,4 @@ |
3393 | +<?xml version="1.0" encoding="UTF-8"?> |
3394 | + |
3395 | + <level4>level4 text</level4> |
3396 | + |
3397 | |
3398 | === added file 'test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-23.xml.res' |
3399 | --- test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-23.xml.res 1970-01-01 00:00:00 +0000 |
3400 | +++ test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-23.xml.res 2012-03-13 16:09:23 +0000 |
3401 | @@ -0,0 +1,2 @@ |
3402 | +<?xml version="1.0" encoding="UTF-8"?> |
3403 | +level4 text |
3404 | |
3405 | === added file 'test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-24.xml.res' |
3406 | --- test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-24.xml.res 1970-01-01 00:00:00 +0000 |
3407 | +++ test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-24.xml.res 2012-03-13 16:09:23 +0000 |
3408 | @@ -0,0 +1,5 @@ |
3409 | +<?xml version="1.0" encoding="UTF-8"?> |
3410 | + |
3411 | + <level4>level4 text</level4> |
3412 | + level3 end |
3413 | + |
3414 | |
3415 | === added file 'test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-25.xml.res' |
3416 | --- test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-25.xml.res 1970-01-01 00:00:00 +0000 |
3417 | +++ test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-25.xml.res 2012-03-13 16:09:23 +0000 |
3418 | @@ -0,0 +1,14 @@ |
3419 | +<?xml version="1.0" encoding="UTF-8"?> |
3420 | +<level1> |
3421 | + level1 text start |
3422 | + <level2> |
3423 | + level2 text start |
3424 | + <level3> |
3425 | + level3 text start |
3426 | + <level4>level4 text</level4> |
3427 | + level3 text end |
3428 | + </level3> |
3429 | + level2 text end |
3430 | + </level2> |
3431 | + level1 text end |
3432 | +</level1> |
3433 | |
3434 | === added file 'test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-26.xml.res' |
3435 | --- test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-26.xml.res 1970-01-01 00:00:00 +0000 |
3436 | +++ test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-26.xml.res 2012-03-13 16:09:23 +0000 |
3437 | @@ -0,0 +1,14 @@ |
3438 | +<?xml version="1.0" encoding="UTF-8"?> |
3439 | + |
3440 | + level1 text start |
3441 | + <level2> |
3442 | + level2 text start |
3443 | + <level3> |
3444 | + level3 text start |
3445 | + <level4>level4 text</level4> |
3446 | + level3 text end |
3447 | + </level3> |
3448 | + level2 text end |
3449 | + </level2> |
3450 | + level1 text end |
3451 | + |
3452 | |
3453 | === added file 'test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-27.xml.res' |
3454 | --- test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-27.xml.res 1970-01-01 00:00:00 +0000 |
3455 | +++ test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-27.xml.res 2012-03-13 16:09:23 +0000 |
3456 | @@ -0,0 +1,10 @@ |
3457 | +<?xml version="1.0" encoding="UTF-8"?> |
3458 | + |
3459 | + level2 text start |
3460 | + <level3> |
3461 | + level3 text start |
3462 | + <level4>level4 text</level4> |
3463 | + level3 text end |
3464 | + </level3> |
3465 | + level2 text end |
3466 | + |
3467 | |
3468 | === added file 'test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-28.xml.res' |
3469 | --- test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-28.xml.res 1970-01-01 00:00:00 +0000 |
3470 | +++ test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-28.xml.res 2012-03-13 16:09:23 +0000 |
3471 | @@ -0,0 +1,6 @@ |
3472 | +<?xml version="1.0" encoding="UTF-8"?> |
3473 | + |
3474 | + level3 text start |
3475 | + <level4>level4 text</level4> |
3476 | + level3 text end |
3477 | + |
3478 | |
3479 | === added file 'test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-29.xml.res' |
3480 | --- test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-29.xml.res 1970-01-01 00:00:00 +0000 |
3481 | +++ test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-29.xml.res 2012-03-13 16:09:23 +0000 |
3482 | @@ -0,0 +1,2 @@ |
3483 | +<?xml version="1.0" encoding="UTF-8"?> |
3484 | +level4 text |
3485 | |
3486 | === added file 'test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-30.xml.res' |
3487 | --- test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-30.xml.res 1970-01-01 00:00:00 +0000 |
3488 | +++ test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-30.xml.res 2012-03-13 16:09:23 +0000 |
3489 | @@ -0,0 +1,2 @@ |
3490 | +<?xml version="1.0" encoding="UTF-8"?> |
3491 | + |
3492 | |
3493 | === added file 'test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-31.xml.res' |
3494 | --- test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-31.xml.res 1970-01-01 00:00:00 +0000 |
3495 | +++ test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-31.xml.res 2012-03-13 16:09:23 +0000 |
3496 | @@ -0,0 +1,59 @@ |
3497 | +<?xml version="1.0" encoding="UTF-8"?> |
3498 | + |
3499 | +level0 text |
3500 | +<level1> |
3501 | + level1 text start |
3502 | + <level2> |
3503 | + level2 text start |
3504 | + <level3> |
3505 | + level3 text start |
3506 | + <level4>level4 text</level4> |
3507 | + level3 text end |
3508 | + </level3> |
3509 | + level2 text end |
3510 | + </level2> |
3511 | + level1 text end |
3512 | +</level1> |
3513 | +level0 text |
3514 | +<level1> |
3515 | + level1 text start |
3516 | + <level2> |
3517 | + level2 text start |
3518 | + <level3> |
3519 | + level3 text start |
3520 | + <level4>level4 text</level4> |
3521 | + level3 text end |
3522 | + </level3> |
3523 | + level2 text end |
3524 | + </level2> |
3525 | + level1 text end |
3526 | +</level1> |
3527 | +level0 text |
3528 | +<level1> |
3529 | + level1 text start |
3530 | + <level2> |
3531 | + level2 text start |
3532 | + <level3> |
3533 | + level3 text start |
3534 | + <level4>level4 text</level4> |
3535 | + level3 text end |
3536 | + </level3> |
3537 | + level2 text end |
3538 | + </level2> |
3539 | + level1 text end |
3540 | +</level1> |
3541 | +level0 text |
3542 | +<level1> |
3543 | + level1 text start |
3544 | + <level2> |
3545 | + level2 text start |
3546 | + <level3> |
3547 | + level3 text start |
3548 | + <level4>level4 text</level4> |
3549 | + level3 text end |
3550 | + </level3> |
3551 | + level2 text end |
3552 | + </level2> |
3553 | + level1 text end |
3554 | +</level1> |
3555 | +level0 text |
3556 | |
3557 | === added file 'test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-32.xml.res' |
3558 | --- test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-32.xml.res 1970-01-01 00:00:00 +0000 |
3559 | +++ test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-32.xml.res 2012-03-13 16:09:23 +0000 |
3560 | @@ -0,0 +1,50 @@ |
3561 | +<?xml version="1.0" encoding="UTF-8"?> |
3562 | + |
3563 | + level1 text start |
3564 | + <level2> |
3565 | + level2 text start |
3566 | + <level3> |
3567 | + level3 text start |
3568 | + <level4>level4 text</level4> |
3569 | + level3 text end |
3570 | + </level3> |
3571 | + level2 text end |
3572 | + </level2> |
3573 | + level1 text end |
3574 | + |
3575 | + level1 text start |
3576 | + <level2> |
3577 | + level2 text start |
3578 | + <level3> |
3579 | + level3 text start |
3580 | + <level4>level4 text</level4> |
3581 | + level3 text end |
3582 | + </level3> |
3583 | + level2 text end |
3584 | + </level2> |
3585 | + level1 text end |
3586 | + |
3587 | + level1 text start |
3588 | + <level2> |
3589 | + level2 text start |
3590 | + <level3> |
3591 | + level3 text start |
3592 | + <level4>level4 text</level4> |
3593 | + level3 text end |
3594 | + </level3> |
3595 | + level2 text end |
3596 | + </level2> |
3597 | + level1 text end |
3598 | + |
3599 | + level1 text start |
3600 | + <level2> |
3601 | + level2 text start |
3602 | + <level3> |
3603 | + level3 text start |
3604 | + <level4>level4 text</level4> |
3605 | + level3 text end |
3606 | + </level3> |
3607 | + level2 text end |
3608 | + </level2> |
3609 | + level1 text end |
3610 | + |
3611 | |
3612 | === added file 'test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-33.xml.res' |
3613 | --- test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-33.xml.res 1970-01-01 00:00:00 +0000 |
3614 | +++ test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-33.xml.res 2012-03-13 16:09:23 +0000 |
3615 | @@ -0,0 +1,34 @@ |
3616 | +<?xml version="1.0" encoding="UTF-8"?> |
3617 | + |
3618 | + level2 text start |
3619 | + <level3> |
3620 | + level3 text start |
3621 | + <level4>level4 text</level4> |
3622 | + level3 text end |
3623 | + </level3> |
3624 | + level2 text end |
3625 | + |
3626 | + level2 text start |
3627 | + <level3> |
3628 | + level3 text start |
3629 | + <level4>level4 text</level4> |
3630 | + level3 text end |
3631 | + </level3> |
3632 | + level2 text end |
3633 | + |
3634 | + level2 text start |
3635 | + <level3> |
3636 | + level3 text start |
3637 | + <level4>level4 text</level4> |
3638 | + level3 text end |
3639 | + </level3> |
3640 | + level2 text end |
3641 | + |
3642 | + level2 text start |
3643 | + <level3> |
3644 | + level3 text start |
3645 | + <level4>level4 text</level4> |
3646 | + level3 text end |
3647 | + </level3> |
3648 | + level2 text end |
3649 | + |
3650 | |
3651 | === added file 'test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-34.xml.res' |
3652 | --- test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-34.xml.res 1970-01-01 00:00:00 +0000 |
3653 | +++ test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-34.xml.res 2012-03-13 16:09:23 +0000 |
3654 | @@ -0,0 +1,18 @@ |
3655 | +<?xml version="1.0" encoding="UTF-8"?> |
3656 | + |
3657 | + level3 text start |
3658 | + <level4>level4 text</level4> |
3659 | + level3 text end |
3660 | + |
3661 | + level3 text start |
3662 | + <level4>level4 text</level4> |
3663 | + level3 text end |
3664 | + |
3665 | + level3 text start |
3666 | + <level4>level4 text</level4> |
3667 | + level3 text end |
3668 | + |
3669 | + level3 text start |
3670 | + <level4>level4 text</level4> |
3671 | + level3 text end |
3672 | + |
3673 | |
3674 | === added file 'test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-35.xml.res' |
3675 | --- test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-35.xml.res 1970-01-01 00:00:00 +0000 |
3676 | +++ test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-35.xml.res 2012-03-13 16:09:23 +0000 |
3677 | @@ -0,0 +1,2 @@ |
3678 | +<?xml version="1.0" encoding="UTF-8"?> |
3679 | +level4 textlevel4 textlevel4 textlevel4 text |
3680 | |
3681 | === added file 'test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-36.xml.res' |
3682 | --- test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-36.xml.res 1970-01-01 00:00:00 +0000 |
3683 | +++ test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-36.xml.res 2012-03-13 16:09:23 +0000 |
3684 | @@ -0,0 +1,2 @@ |
3685 | +<?xml version="1.0" encoding="UTF-8"?> |
3686 | + |
3687 | |
3688 | === added file 'test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-37.xml.res' |
3689 | --- test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-37.xml.res 1970-01-01 00:00:00 +0000 |
3690 | +++ test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-37.xml.res 2012-03-13 16:09:23 +0000 |
3691 | @@ -0,0 +1,14 @@ |
3692 | +<?xml version="1.0" encoding="UTF-8"?> |
3693 | +<doc> |
3694 | + <foo>0</foo> |
3695 | + <foo>1</foo> |
3696 | + <foo>2</foo> |
3697 | + <foo>3</foo> |
3698 | + <foo>4</foo> |
3699 | + <foo>5</foo> |
3700 | + <foo>6</foo> |
3701 | + <foo>7</foo> |
3702 | + <foo>8</foo> |
3703 | + <foo>9</foo> |
3704 | + <foo>10</foo> |
3705 | +</doc> |
3706 | |
3707 | === added file 'test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-38.xml.res' |
3708 | --- test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-38.xml.res 1970-01-01 00:00:00 +0000 |
3709 | +++ test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-38.xml.res 2012-03-13 16:09:23 +0000 |
3710 | @@ -0,0 +1,14 @@ |
3711 | +<?xml version="1.0" encoding="UTF-8"?> |
3712 | + |
3713 | + <foo>0</foo> |
3714 | + <foo>1</foo> |
3715 | + <foo>2</foo> |
3716 | + <foo>3</foo> |
3717 | + <foo>4</foo> |
3718 | + <foo>5</foo> |
3719 | + <foo>6</foo> |
3720 | + <foo>7</foo> |
3721 | + <foo>8</foo> |
3722 | + <foo>9</foo> |
3723 | + <foo>10</foo> |
3724 | + |
3725 | |
3726 | === added file 'test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-39.xml.res' |
3727 | --- test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-39.xml.res 1970-01-01 00:00:00 +0000 |
3728 | +++ test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-39.xml.res 2012-03-13 16:09:23 +0000 |
3729 | @@ -0,0 +1,2 @@ |
3730 | +<?xml version="1.0" encoding="UTF-8"?> |
3731 | +012345678910 |
3732 | |
3733 | === added file 'test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-40.xml.res' |
3734 | --- test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-40.xml.res 1970-01-01 00:00:00 +0000 |
3735 | +++ test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-40.xml.res 2012-03-13 16:09:23 +0000 |
3736 | @@ -0,0 +1,3 @@ |
3737 | +<?xml version="1.0" encoding="UTF-8"?> |
3738 | + |
3739 | +<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> |
3740 | |
3741 | === added file 'test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-41.xml.res' |
3742 | --- test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-41.xml.res 1970-01-01 00:00:00 +0000 |
3743 | +++ test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-41.xml.res 2012-03-13 16:09:23 +0000 |
3744 | @@ -0,0 +1,2 @@ |
3745 | +<?xml version="1.0" encoding="UTF-8"?> |
3746 | +<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> |
3747 | |
3748 | === added file 'test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-42.xml.res' |
3749 | --- test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-42.xml.res 1970-01-01 00:00:00 +0000 |
3750 | +++ test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-42.xml.res 2012-03-13 16:09:23 +0000 |
3751 | @@ -0,0 +1,2 @@ |
3752 | +<?xml version="1.0" encoding="UTF-8"?> |
3753 | +<n1:from1 xmlns:n1="ns" xmlns:m1="ms" xmlns:n2="ns2" xmlns:m2="ms2" xmlns:n3="ns3"><from2>Text from2</from2></n1:from1> |
3754 | \ No newline at end of file |
3755 | |
3756 | === added file 'test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-43.xml.res' |
3757 | --- test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-43.xml.res 1970-01-01 00:00:00 +0000 |
3758 | +++ test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-43.xml.res 2012-03-13 16:09:23 +0000 |
3759 | @@ -0,0 +1,2 @@ |
3760 | +<?xml version="1.0" encoding="UTF-8"?> |
3761 | +<from2 xmlns:n1="ns" xmlns:m1="ms" xmlns:n2="ns2" xmlns:m2="ms2" xmlns:n3="ns3">Text from2</from2> |
3762 | \ No newline at end of file |
3763 | |
3764 | === added file 'test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-44.xml.res' |
3765 | --- test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-44.xml.res 1970-01-01 00:00:00 +0000 |
3766 | +++ test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-44.xml.res 2012-03-13 16:09:23 +0000 |
3767 | @@ -0,0 +1,2 @@ |
3768 | +<?xml version="1.0" encoding="UTF-8"?> |
3769 | +Text from2 |
3770 | \ No newline at end of file |
3771 | |
3772 | === added file 'test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-45.xml.res' |
3773 | --- test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-45.xml.res 1970-01-01 00:00:00 +0000 |
3774 | +++ test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-45.xml.res 2012-03-13 16:09:23 +0000 |
3775 | @@ -0,0 +1,2 @@ |
3776 | +<?xml version="1.0" encoding="UTF-8"?> |
3777 | + |
3778 | |
3779 | === added file 'test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-46.xml.res' |
3780 | --- test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-46.xml.res 1970-01-01 00:00:00 +0000 |
3781 | +++ test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-46.xml.res 2012-03-13 16:09:23 +0000 |
3782 | @@ -0,0 +1,31 @@ |
3783 | +<?xml version="1.0" encoding="UTF-8"?> |
3784 | + |
3785 | +level0 text |
3786 | +<level1/> |
3787 | +level0 text |
3788 | +<level1/> |
3789 | +level0 text |
3790 | +<level1/> |
3791 | +level0 text |
3792 | +<level1/> |
3793 | +level0 text |
3794 | +<level1/> |
3795 | +level0 text |
3796 | +<level1/> |
3797 | +level0 text |
3798 | +<level1/> |
3799 | +level0 text |
3800 | +<level1/> |
3801 | +level0 text |
3802 | +<level1/> |
3803 | +level0 text |
3804 | +<level1/> |
3805 | +level0 text |
3806 | +<level1/> |
3807 | +level0 text |
3808 | +<level1/> |
3809 | +level0 text |
3810 | +<level1/> |
3811 | +level0 text |
3812 | +<level1/> |
3813 | +level0 text |
3814 | \ No newline at end of file |
3815 | |
3816 | === added file 'test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-53.xml.res' |
3817 | --- test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-53.xml.res 1970-01-01 00:00:00 +0000 |
3818 | +++ test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-53.xml.res 2012-03-13 16:09:23 +0000 |
3819 | @@ -0,0 +1,8 @@ |
3820 | +<?xml version="1.0" encoding="UTF-8"?> |
3821 | +<mediawiki> |
3822 | + <page> |
3823 | +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa |
3824 | + |
3825 | + </page> |
3826 | +</mediawiki> |
3827 | + |
3828 | |
3829 | === added file 'test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-54.xml.res' |
3830 | --- test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-54.xml.res 1970-01-01 00:00:00 +0000 |
3831 | +++ test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-54.xml.res 2012-03-13 16:09:23 +0000 |
3832 | @@ -0,0 +1,7 @@ |
3833 | +<?xml version="1.0" encoding="UTF-8"?> |
3834 | + |
3835 | + <page> |
3836 | +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa |
3837 | + |
3838 | + </page> |
3839 | + |
3840 | |
3841 | === added file 'test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-55.xml.res' |
3842 | --- test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-55.xml.res 1970-01-01 00:00:00 +0000 |
3843 | +++ test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-55.xml.res 2012-03-13 16:09:23 +0000 |
3844 | @@ -0,0 +1,8 @@ |
3845 | +<?xml version="1.0" encoding="UTF-8"?> |
3846 | +<mediawiki> |
3847 | + <page> |
3848 | +abababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab |
3849 | + |
3850 | + </page> |
3851 | +</mediawiki> |
3852 | + |
3853 | |
3854 | === added file 'test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-56.xml.res' |
3855 | --- test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-56.xml.res 1970-01-01 00:00:00 +0000 |
3856 | +++ test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-56.xml.res 2012-03-13 16:09:23 +0000 |
3857 | @@ -0,0 +1,7 @@ |
3858 | +<?xml version="1.0" encoding="UTF-8"?> |
3859 | + |
3860 | + <page> |
3861 | +abababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab |
3862 | + |
3863 | + </page> |
3864 | + |
3865 | |
3866 | === modified file 'test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-xml-fragment-01.xml.res' (properties changed: +x to -x) |
3867 | === modified file 'test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-xml-fragment-03.xml.res' (properties changed: +x to -x) |
3868 | === modified file 'test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-xml-fragment-04.xml.res' (properties changed: +x to -x) |
3869 | === modified file 'test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-xml-fragment-05.xml.res' (properties changed: +x to -x) |
3870 | === modified file 'test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-xml-fragment-07.xml.res' (properties changed: +x to -x) |
3871 | === modified file 'test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-xml-fragment-10.xml.res' (properties changed: +x to -x) |
3872 | === modified file 'test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-xml-fragment-11.xml.res' (properties changed: +x to -x) |
3873 | === modified file 'test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-xml-fragment-12.xml.res' (properties changed: +x to -x) |
3874 | --- test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-xml-fragment-12.xml.res 2011-07-15 16:39:51 +0000 |
3875 | +++ test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-xml-fragment-12.xml.res 2012-03-13 16:09:23 +0000 |
3876 | @@ -1,4 +1,4 @@ |
3877 | <?xml version="1.0" encoding="UTF-8"?> |
3878 | <fragment><from1>Jani</from1> |
3879 | <from2>Jani</from2> |
3880 | -<from3>Jani</from3><count>5</count></fragment> |
3881 | \ No newline at end of file |
3882 | +<from3>Jani</from3><count>6</count></fragment> |
3883 | \ No newline at end of file |
3884 | |
3885 | === modified file 'test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-xml-fragment-14.xml.res' (properties changed: +x to -x) |
3886 | === modified file 'test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-xml-fragment-15.xml.res' (properties changed: +x to -x) |
3887 | === 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' |
3888 | === added file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-01.xq' |
3889 | --- test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-01.xq 1970-01-01 00:00:00 +0000 |
3890 | +++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-01.xq 2012-03-13 16:09:23 +0000 |
3891 | @@ -0,0 +1,8 @@ |
3892 | +import module namespace z = "http://www.zorba-xquery.com/modules/xml"; |
3893 | +import schema namespace opt = "http://www.zorba-xquery.com/modules/xml-options"; |
3894 | + |
3895 | +z:parse("<?xml version='1.0'?><root><from1>Jani</from1></root>", |
3896 | + <opt:options> |
3897 | + <opt:parse-external-parsed-entity opt:skip-root-nodes="1"/> |
3898 | + </opt:options> |
3899 | +) |
3900 | |
3901 | === added file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-02.xq' |
3902 | --- test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-02.xq 1970-01-01 00:00:00 +0000 |
3903 | +++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-02.xq 2012-03-13 16:09:23 +0000 |
3904 | @@ -0,0 +1,13 @@ |
3905 | +import module namespace z = "http://www.zorba-xquery.com/modules/xml"; |
3906 | +import schema namespace opt = "http://www.zorba-xquery.com/modules/xml-options"; |
3907 | + |
3908 | +z:parse("<?xml version='1.0'?> |
3909 | +<root> |
3910 | + <from1>Jani1</from1> |
3911 | + <from2>Jani2</from2> |
3912 | + <from3>Jani3</from3> |
3913 | +</root>", |
3914 | + <opt:options> |
3915 | + <opt:parse-external-parsed-entity opt:skip-root-nodes="1"/> |
3916 | + </opt:options> |
3917 | +) |
3918 | |
3919 | === added file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-03.xq' |
3920 | --- test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-03.xq 1970-01-01 00:00:00 +0000 |
3921 | +++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-03.xq 2012-03-13 16:09:23 +0000 |
3922 | @@ -0,0 +1,13 @@ |
3923 | +import module namespace z = "http://www.zorba-xquery.com/modules/xml"; |
3924 | +import schema namespace opt = "http://www.zorba-xquery.com/modules/xml-options"; |
3925 | + |
3926 | +z:parse("<?xml version='1.0'?> |
3927 | +<root> |
3928 | + <from1>Jani1</from1> |
3929 | + <from2>Jani2</from2> |
3930 | + <from3>Jani3</from3> |
3931 | +</root>", |
3932 | + <opt:options> |
3933 | + <opt:parse-external-parsed-entity opt:skip-root-nodes="2"/> |
3934 | + </opt:options> |
3935 | +) |
3936 | |
3937 | === added file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-04.xq' |
3938 | --- test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-04.xq 1970-01-01 00:00:00 +0000 |
3939 | +++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-04.xq 2012-03-13 16:09:23 +0000 |
3940 | @@ -0,0 +1,19 @@ |
3941 | +import module namespace z = "http://www.zorba-xquery.com/modules/xml"; |
3942 | +import schema namespace opt = "http://www.zorba-xquery.com/modules/xml-options"; |
3943 | + |
3944 | +z:parse("<?xml version='1.0'?> |
3945 | +<root> |
3946 | + <root2> |
3947 | + <from1>Jani1</from1> |
3948 | + </root2> |
3949 | + <root2> |
3950 | + <from2>Jani2</from2> |
3951 | + </root2> |
3952 | + <root2> |
3953 | + <from3>Jani3</from3> |
3954 | + </root2> |
3955 | +</root>", |
3956 | + <opt:options> |
3957 | + <opt:parse-external-parsed-entity opt:skip-root-nodes="0"/> |
3958 | + </opt:options> |
3959 | +) |
3960 | |
3961 | === added file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-05.xq' |
3962 | --- test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-05.xq 1970-01-01 00:00:00 +0000 |
3963 | +++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-05.xq 2012-03-13 16:09:23 +0000 |
3964 | @@ -0,0 +1,19 @@ |
3965 | +import module namespace z = "http://www.zorba-xquery.com/modules/xml"; |
3966 | +import schema namespace opt = "http://www.zorba-xquery.com/modules/xml-options"; |
3967 | + |
3968 | +z:parse("<?xml version='1.0'?> |
3969 | +<root> |
3970 | + <root2> |
3971 | + <from1>Jani1</from1> |
3972 | + </root2> |
3973 | + <root2> |
3974 | + <from2>Jani2</from2> |
3975 | + </root2> |
3976 | + <root2> |
3977 | + <from3>Jani3</from3> |
3978 | + </root2> |
3979 | +</root>", |
3980 | + <opt:options> |
3981 | + <opt:parse-external-parsed-entity opt:skip-root-nodes="1"/> |
3982 | + </opt:options> |
3983 | +) |
3984 | |
3985 | === added file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-06.xq' |
3986 | --- test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-06.xq 1970-01-01 00:00:00 +0000 |
3987 | +++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-06.xq 2012-03-13 16:09:23 +0000 |
3988 | @@ -0,0 +1,19 @@ |
3989 | +import module namespace z = "http://www.zorba-xquery.com/modules/xml"; |
3990 | +import schema namespace opt = "http://www.zorba-xquery.com/modules/xml-options"; |
3991 | + |
3992 | +z:parse("<?xml version='1.0'?> |
3993 | +<root> |
3994 | + <root2> |
3995 | + <from1>Jani1</from1> |
3996 | + </root2> |
3997 | + <root2> |
3998 | + <from2>Jani2</from2> |
3999 | + </root2> |
4000 | + <root2> |
4001 | + <from3>Jani3</from3> |
4002 | + </root2> |
4003 | +</root>", |
4004 | + <opt:options> |
4005 | + <opt:parse-external-parsed-entity opt:skip-root-nodes="2"/> |
4006 | + </opt:options> |
4007 | +) |
4008 | |
4009 | === added file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-07.xq' |
4010 | --- test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-07.xq 1970-01-01 00:00:00 +0000 |
4011 | +++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-07.xq 2012-03-13 16:09:23 +0000 |
4012 | @@ -0,0 +1,19 @@ |
4013 | +import module namespace z = "http://www.zorba-xquery.com/modules/xml"; |
4014 | +import schema namespace opt = "http://www.zorba-xquery.com/modules/xml-options"; |
4015 | + |
4016 | +z:parse("<?xml version='1.0'?> |
4017 | +<root> |
4018 | + <root2> |
4019 | + <from1>Jani1</from1> |
4020 | + </root2> |
4021 | + <root2> |
4022 | + <from2>Jani2</from2> |
4023 | + </root2> |
4024 | + <root2> |
4025 | + <from3>Jani3</from3> |
4026 | + </root2> |
4027 | +</root>", |
4028 | + <opt:options> |
4029 | + <opt:parse-external-parsed-entity opt:skip-root-nodes="3"/> |
4030 | + </opt:options> |
4031 | +) |
4032 | |
4033 | === added file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-08.xq' |
4034 | --- test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-08.xq 1970-01-01 00:00:00 +0000 |
4035 | +++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-08.xq 2012-03-13 16:09:23 +0000 |
4036 | @@ -0,0 +1,9 @@ |
4037 | +import module namespace z = "http://www.zorba-xquery.com/modules/xml"; |
4038 | +import schema namespace opt = "http://www.zorba-xquery.com/modules/xml-options"; |
4039 | + |
4040 | +z:parse("<?xml version='1.0'?> |
4041 | +<root><from1>Jani1</from1></root>", |
4042 | + <opt:options> |
4043 | + <opt:parse-external-parsed-entity opt:skip-root-nodes="0"/> |
4044 | + </opt:options> |
4045 | +) |
4046 | |
4047 | === added file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-09.xq' |
4048 | --- test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-09.xq 1970-01-01 00:00:00 +0000 |
4049 | +++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-09.xq 2012-03-13 16:09:23 +0000 |
4050 | @@ -0,0 +1,9 @@ |
4051 | +import module namespace z = "http://www.zorba-xquery.com/modules/xml"; |
4052 | +import schema namespace opt = "http://www.zorba-xquery.com/modules/xml-options"; |
4053 | + |
4054 | +z:parse("<?xml version='1.0'?> |
4055 | +<root><from1>Jani1</from1></root>", |
4056 | + <opt:options> |
4057 | + <opt:parse-external-parsed-entity opt:skip-root-nodes="1"/> |
4058 | + </opt:options> |
4059 | +) |
4060 | |
4061 | === added file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-10.xq' |
4062 | --- test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-10.xq 1970-01-01 00:00:00 +0000 |
4063 | +++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-10.xq 2012-03-13 16:09:23 +0000 |
4064 | @@ -0,0 +1,9 @@ |
4065 | +import module namespace z = "http://www.zorba-xquery.com/modules/xml"; |
4066 | +import schema namespace opt = "http://www.zorba-xquery.com/modules/xml-options"; |
4067 | + |
4068 | +z:parse("<?xml version='1.0'?> |
4069 | +<root><from1>Jani1</from1></root>", |
4070 | + <opt:options> |
4071 | + <opt:parse-external-parsed-entity opt:skip-root-nodes="2"/> |
4072 | + </opt:options> |
4073 | +) |
4074 | |
4075 | === added file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-11.xq' |
4076 | --- test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-11.xq 1970-01-01 00:00:00 +0000 |
4077 | +++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-11.xq 2012-03-13 16:09:23 +0000 |
4078 | @@ -0,0 +1,9 @@ |
4079 | +import module namespace z = "http://www.zorba-xquery.com/modules/xml"; |
4080 | +import schema namespace opt = "http://www.zorba-xquery.com/modules/xml-options"; |
4081 | + |
4082 | +z:parse("<?xml version='1.0'?> |
4083 | +<root><from1>Jani1</from1></root>", |
4084 | + <opt:options> |
4085 | + <opt:parse-external-parsed-entity opt:skip-root-nodes="3"/> |
4086 | + </opt:options> |
4087 | +) |
4088 | |
4089 | === added file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-12.xq' |
4090 | --- test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-12.xq 1970-01-01 00:00:00 +0000 |
4091 | +++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-12.xq 2012-03-13 16:09:23 +0000 |
4092 | @@ -0,0 +1,9 @@ |
4093 | +import module namespace z = "http://www.zorba-xquery.com/modules/xml"; |
4094 | +import schema namespace opt = "http://www.zorba-xquery.com/modules/xml-options"; |
4095 | + |
4096 | +z:parse("<?xml version='1.0'?> |
4097 | +<root><root2><from1>Jani1</from1></root2></root>", |
4098 | + <opt:options> |
4099 | + <opt:parse-external-parsed-entity opt:skip-root-nodes="3"/> |
4100 | + </opt:options> |
4101 | +) |
4102 | |
4103 | === added file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-13.xq' |
4104 | --- test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-13.xq 1970-01-01 00:00:00 +0000 |
4105 | +++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-13.xq 2012-03-13 16:09:23 +0000 |
4106 | @@ -0,0 +1,9 @@ |
4107 | +import module namespace z = "http://www.zorba-xquery.com/modules/xml"; |
4108 | +import schema namespace opt = "http://www.zorba-xquery.com/modules/xml-options"; |
4109 | + |
4110 | +z:parse("<?xml version='1.0'?> |
4111 | +<root><root2><root3><from1>Jani1</from1></root3></root2></root>", |
4112 | + <opt:options> |
4113 | + <opt:parse-external-parsed-entity opt:skip-root-nodes="3"/> |
4114 | + </opt:options> |
4115 | +) |
4116 | |
4117 | === added file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-14.xq' |
4118 | --- test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-14.xq 1970-01-01 00:00:00 +0000 |
4119 | +++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-14.xq 2012-03-13 16:09:23 +0000 |
4120 | @@ -0,0 +1,9 @@ |
4121 | +import module namespace z = "http://www.zorba-xquery.com/modules/xml"; |
4122 | +import schema namespace opt = "http://www.zorba-xquery.com/modules/xml-options"; |
4123 | + |
4124 | +z:parse("<?xml version='1.0'?> |
4125 | +<root><root2><root3><from1>Jani1</from1></root3></root2></root>", |
4126 | + <opt:options> |
4127 | + <opt:parse-external-parsed-entity opt:skip-root-nodes="4"/> |
4128 | + </opt:options> |
4129 | +) |
4130 | |
4131 | === added file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-15.xq' |
4132 | --- test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-15.xq 1970-01-01 00:00:00 +0000 |
4133 | +++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-15.xq 2012-03-13 16:09:23 +0000 |
4134 | @@ -0,0 +1,8 @@ |
4135 | +import module namespace z = "http://www.zorba-xquery.com/modules/xml"; |
4136 | +import schema namespace opt = "http://www.zorba-xquery.com/modules/xml-options"; |
4137 | + |
4138 | +z:parse("<?xml version='1.0'?><root>root1 text<root2>root2 text<root3>root3 text<from1>Jani1</from1></root3></root2></root>", |
4139 | + <opt:options> |
4140 | + <opt:parse-external-parsed-entity opt:skip-root-nodes="4"/> |
4141 | + </opt:options> |
4142 | +) |
4143 | |
4144 | === added file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-16.xq' |
4145 | --- test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-16.xq 1970-01-01 00:00:00 +0000 |
4146 | +++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-16.xq 2012-03-13 16:09:23 +0000 |
4147 | @@ -0,0 +1,8 @@ |
4148 | +import module namespace z = "http://www.zorba-xquery.com/modules/xml"; |
4149 | +import schema namespace opt = "http://www.zorba-xquery.com/modules/xml-options"; |
4150 | + |
4151 | +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>", |
4152 | + <opt:options> |
4153 | + <opt:parse-external-parsed-entity opt:skip-root-nodes="4"/> |
4154 | + </opt:options> |
4155 | +) |
4156 | |
4157 | === added file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-17.xq' |
4158 | --- test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-17.xq 1970-01-01 00:00:00 +0000 |
4159 | +++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-17.xq 2012-03-13 16:09:23 +0000 |
4160 | @@ -0,0 +1,8 @@ |
4161 | +import module namespace z = "http://www.zorba-xquery.com/modules/xml"; |
4162 | +import schema namespace opt = "http://www.zorba-xquery.com/modules/xml-options"; |
4163 | + |
4164 | +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>", |
4165 | + <opt:options> |
4166 | + <opt:parse-external-parsed-entity opt:skip-root-nodes="3"/> |
4167 | + </opt:options> |
4168 | +) |
4169 | |
4170 | === added file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-18.xq' |
4171 | --- test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-18.xq 1970-01-01 00:00:00 +0000 |
4172 | +++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-18.xq 2012-03-13 16:09:23 +0000 |
4173 | @@ -0,0 +1,9 @@ |
4174 | +import module namespace z = "http://www.zorba-xquery.com/modules/xml"; |
4175 | +import schema namespace opt = "http://www.zorba-xquery.com/modules/xml-options"; |
4176 | + |
4177 | +z:parse("<?xml version='1.0'?> |
4178 | +<root>Jani0<from1>Jani1</from1></root>", |
4179 | + <opt:options> |
4180 | + <opt:parse-external-parsed-entity opt:skip-root-nodes="2"/> |
4181 | + </opt:options> |
4182 | +) |
4183 | |
4184 | === added file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-19.xq' |
4185 | --- test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-19.xq 1970-01-01 00:00:00 +0000 |
4186 | +++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-19.xq 2012-03-13 16:09:23 +0000 |
4187 | @@ -0,0 +1,15 @@ |
4188 | +import module namespace z = "http://www.zorba-xquery.com/modules/xml"; |
4189 | +import schema namespace opt = "http://www.zorba-xquery.com/modules/xml-options"; |
4190 | + |
4191 | +z:parse("<?xml version='1.0'?> |
4192 | +<level1> |
4193 | + <level2> |
4194 | + <level3> |
4195 | + <level4>level4 text</level4> |
4196 | + </level3> |
4197 | + </level2> |
4198 | +</level1>", |
4199 | + <opt:options> |
4200 | + <opt:parse-external-parsed-entity opt:skip-root-nodes="0"/> |
4201 | + </opt:options> |
4202 | +) |
4203 | |
4204 | === added file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-20.xq' |
4205 | --- test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-20.xq 1970-01-01 00:00:00 +0000 |
4206 | +++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-20.xq 2012-03-13 16:09:23 +0000 |
4207 | @@ -0,0 +1,15 @@ |
4208 | +import module namespace z = "http://www.zorba-xquery.com/modules/xml"; |
4209 | +import schema namespace opt = "http://www.zorba-xquery.com/modules/xml-options"; |
4210 | + |
4211 | +z:parse("<?xml version='1.0'?> |
4212 | +<level1> |
4213 | + <level2> |
4214 | + <level3> |
4215 | + <level4>level4 text</level4> |
4216 | + </level3> |
4217 | + </level2> |
4218 | +</level1>", |
4219 | + <opt:options> |
4220 | + <opt:parse-external-parsed-entity opt:skip-root-nodes="1"/> |
4221 | + </opt:options> |
4222 | +) |
4223 | |
4224 | === added file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-21.xq' |
4225 | --- test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-21.xq 1970-01-01 00:00:00 +0000 |
4226 | +++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-21.xq 2012-03-13 16:09:23 +0000 |
4227 | @@ -0,0 +1,15 @@ |
4228 | +import module namespace z = "http://www.zorba-xquery.com/modules/xml"; |
4229 | +import schema namespace opt = "http://www.zorba-xquery.com/modules/xml-options"; |
4230 | + |
4231 | +z:parse("<?xml version='1.0'?> |
4232 | +<level1> |
4233 | + <level2> |
4234 | + <level3> |
4235 | + <level4>level4 text</level4> |
4236 | + </level3> |
4237 | + </level2> |
4238 | +</level1>", |
4239 | + <opt:options> |
4240 | + <opt:parse-external-parsed-entity opt:skip-root-nodes="2"/> |
4241 | + </opt:options> |
4242 | +) |
4243 | |
4244 | === added file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-22.xq' |
4245 | --- test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-22.xq 1970-01-01 00:00:00 +0000 |
4246 | +++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-22.xq 2012-03-13 16:09:23 +0000 |
4247 | @@ -0,0 +1,15 @@ |
4248 | +import module namespace z = "http://www.zorba-xquery.com/modules/xml"; |
4249 | +import schema namespace opt = "http://www.zorba-xquery.com/modules/xml-options"; |
4250 | + |
4251 | +z:parse("<?xml version='1.0'?> |
4252 | +<level1> |
4253 | + <level2> |
4254 | + <level3> |
4255 | + <level4>level4 text</level4> |
4256 | + </level3> |
4257 | + </level2> |
4258 | +</level1>", |
4259 | + <opt:options> |
4260 | + <opt:parse-external-parsed-entity opt:skip-root-nodes="3"/> |
4261 | + </opt:options> |
4262 | +) |
4263 | |
4264 | === added file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-23.xq' |
4265 | --- test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-23.xq 1970-01-01 00:00:00 +0000 |
4266 | +++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-23.xq 2012-03-13 16:09:23 +0000 |
4267 | @@ -0,0 +1,15 @@ |
4268 | +import module namespace z = "http://www.zorba-xquery.com/modules/xml"; |
4269 | +import schema namespace opt = "http://www.zorba-xquery.com/modules/xml-options"; |
4270 | + |
4271 | +z:parse("<?xml version='1.0'?> |
4272 | +<level1> |
4273 | + <level2> |
4274 | + <level3> |
4275 | + <level4>level4 text</level4> |
4276 | + </level3> |
4277 | + </level2> |
4278 | +</level1>", |
4279 | + <opt:options> |
4280 | + <opt:parse-external-parsed-entity opt:skip-root-nodes="4"/> |
4281 | + </opt:options> |
4282 | +) |
4283 | |
4284 | === added file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-24.xq' |
4285 | --- test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-24.xq 1970-01-01 00:00:00 +0000 |
4286 | +++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-24.xq 2012-03-13 16:09:23 +0000 |
4287 | @@ -0,0 +1,16 @@ |
4288 | +import module namespace z = "http://www.zorba-xquery.com/modules/xml"; |
4289 | +import schema namespace opt = "http://www.zorba-xquery.com/modules/xml-options"; |
4290 | + |
4291 | +z:parse("<?xml version='1.0'?> |
4292 | +<level1> |
4293 | + <level2> |
4294 | + <level3> |
4295 | + <level4>level4 text</level4> |
4296 | + level3 end |
4297 | + </level3> |
4298 | + </level2> |
4299 | +</level1>", |
4300 | + <opt:options> |
4301 | + <opt:parse-external-parsed-entity opt:skip-root-nodes="3"/> |
4302 | + </opt:options> |
4303 | +) |
4304 | |
4305 | === added file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-25.xq' |
4306 | --- test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-25.xq 1970-01-01 00:00:00 +0000 |
4307 | +++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-25.xq 2012-03-13 16:09:23 +0000 |
4308 | @@ -0,0 +1,21 @@ |
4309 | +import module namespace z = "http://www.zorba-xquery.com/modules/xml"; |
4310 | +import schema namespace opt = "http://www.zorba-xquery.com/modules/xml-options"; |
4311 | + |
4312 | +z:parse("<?xml version='1.0'?> |
4313 | +<level1> |
4314 | + level1 text start |
4315 | + <level2> |
4316 | + level2 text start |
4317 | + <level3> |
4318 | + level3 text start |
4319 | + <level4>level4 text</level4> |
4320 | + level3 text end |
4321 | + </level3> |
4322 | + level2 text end |
4323 | + </level2> |
4324 | + level1 text end |
4325 | +</level1>", |
4326 | + <opt:options> |
4327 | + <opt:parse-external-parsed-entity opt:skip-root-nodes="0"/> |
4328 | + </opt:options> |
4329 | +) |
4330 | |
4331 | === added file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-26.xq' |
4332 | --- test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-26.xq 1970-01-01 00:00:00 +0000 |
4333 | +++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-26.xq 2012-03-13 16:09:23 +0000 |
4334 | @@ -0,0 +1,21 @@ |
4335 | +import module namespace z = "http://www.zorba-xquery.com/modules/xml"; |
4336 | +import schema namespace opt = "http://www.zorba-xquery.com/modules/xml-options"; |
4337 | + |
4338 | +z:parse("<?xml version='1.0'?> |
4339 | +<level1> |
4340 | + level1 text start |
4341 | + <level2> |
4342 | + level2 text start |
4343 | + <level3> |
4344 | + level3 text start |
4345 | + <level4>level4 text</level4> |
4346 | + level3 text end |
4347 | + </level3> |
4348 | + level2 text end |
4349 | + </level2> |
4350 | + level1 text end |
4351 | +</level1>", |
4352 | + <opt:options> |
4353 | + <opt:parse-external-parsed-entity opt:skip-root-nodes="1"/> |
4354 | + </opt:options> |
4355 | +) |
4356 | |
4357 | === added file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-27.xq' |
4358 | --- test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-27.xq 1970-01-01 00:00:00 +0000 |
4359 | +++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-27.xq 2012-03-13 16:09:23 +0000 |
4360 | @@ -0,0 +1,21 @@ |
4361 | +import module namespace z = "http://www.zorba-xquery.com/modules/xml"; |
4362 | +import schema namespace opt = "http://www.zorba-xquery.com/modules/xml-options"; |
4363 | + |
4364 | +z:parse("<?xml version='1.0'?> |
4365 | +<level1> |
4366 | + level1 text start |
4367 | + <level2> |
4368 | + level2 text start |
4369 | + <level3> |
4370 | + level3 text start |
4371 | + <level4>level4 text</level4> |
4372 | + level3 text end |
4373 | + </level3> |
4374 | + level2 text end |
4375 | + </level2> |
4376 | + level1 text end |
4377 | +</level1>", |
4378 | + <opt:options> |
4379 | + <opt:parse-external-parsed-entity opt:skip-root-nodes="2"/> |
4380 | + </opt:options> |
4381 | +) |
4382 | |
4383 | === added file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-28.xq' |
4384 | --- test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-28.xq 1970-01-01 00:00:00 +0000 |
4385 | +++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-28.xq 2012-03-13 16:09:23 +0000 |
4386 | @@ -0,0 +1,21 @@ |
4387 | +import module namespace z = "http://www.zorba-xquery.com/modules/xml"; |
4388 | +import schema namespace opt = "http://www.zorba-xquery.com/modules/xml-options"; |
4389 | + |
4390 | +z:parse("<?xml version='1.0'?> |
4391 | +<level1> |
4392 | + level1 text start |
4393 | + <level2> |
4394 | + level2 text start |
4395 | + <level3> |
4396 | + level3 text start |
4397 | + <level4>level4 text</level4> |
4398 | + level3 text end |
4399 | + </level3> |
4400 | + level2 text end |
4401 | + </level2> |
4402 | + level1 text end |
4403 | +</level1>", |
4404 | + <opt:options> |
4405 | + <opt:parse-external-parsed-entity opt:skip-root-nodes="3"/> |
4406 | + </opt:options> |
4407 | +) |
4408 | |
4409 | === added file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-29.xq' |
4410 | --- test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-29.xq 1970-01-01 00:00:00 +0000 |
4411 | +++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-29.xq 2012-03-13 16:09:23 +0000 |
4412 | @@ -0,0 +1,21 @@ |
4413 | +import module namespace z = "http://www.zorba-xquery.com/modules/xml"; |
4414 | +import schema namespace opt = "http://www.zorba-xquery.com/modules/xml-options"; |
4415 | + |
4416 | +z:parse("<?xml version='1.0'?> |
4417 | +<level1> |
4418 | + level1 text start |
4419 | + <level2> |
4420 | + level2 text start |
4421 | + <level3> |
4422 | + level3 text start |
4423 | + <level4>level4 text</level4> |
4424 | + level3 text end |
4425 | + </level3> |
4426 | + level2 text end |
4427 | + </level2> |
4428 | + level1 text end |
4429 | +</level1>", |
4430 | + <opt:options> |
4431 | + <opt:parse-external-parsed-entity opt:skip-root-nodes="4"/> |
4432 | + </opt:options> |
4433 | +) |
4434 | |
4435 | === added file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-30.xq' |
4436 | --- test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-30.xq 1970-01-01 00:00:00 +0000 |
4437 | +++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-30.xq 2012-03-13 16:09:23 +0000 |
4438 | @@ -0,0 +1,21 @@ |
4439 | +import module namespace z = "http://www.zorba-xquery.com/modules/xml"; |
4440 | +import schema namespace opt = "http://www.zorba-xquery.com/modules/xml-options"; |
4441 | + |
4442 | +z:parse("<?xml version='1.0'?> |
4443 | +<level1> |
4444 | + level1 text start |
4445 | + <level2> |
4446 | + level2 text start |
4447 | + <level3> |
4448 | + level3 text start |
4449 | + <level4>level4 text</level4> |
4450 | + level3 text end |
4451 | + </level3> |
4452 | + level2 text end |
4453 | + </level2> |
4454 | + level1 text end |
4455 | +</level1>", |
4456 | + <opt:options> |
4457 | + <opt:parse-external-parsed-entity opt:skip-root-nodes="5"/> |
4458 | + </opt:options> |
4459 | +) |
4460 | |
4461 | === added file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-31.xq' |
4462 | --- test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-31.xq 1970-01-01 00:00:00 +0000 |
4463 | +++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-31.xq 2012-03-13 16:09:23 +0000 |
4464 | @@ -0,0 +1,65 @@ |
4465 | +import module namespace z = "http://www.zorba-xquery.com/modules/xml"; |
4466 | +import schema namespace opt = "http://www.zorba-xquery.com/modules/xml-options"; |
4467 | + |
4468 | +z:parse("<?xml version='1.0'?> |
4469 | +level0 text |
4470 | +<level1> |
4471 | + level1 text start |
4472 | + <level2> |
4473 | + level2 text start |
4474 | + <level3> |
4475 | + level3 text start |
4476 | + <level4>level4 text</level4> |
4477 | + level3 text end |
4478 | + </level3> |
4479 | + level2 text end |
4480 | + </level2> |
4481 | + level1 text end |
4482 | +</level1> |
4483 | +level0 text |
4484 | +<level1> |
4485 | + level1 text start |
4486 | + <level2> |
4487 | + level2 text start |
4488 | + <level3> |
4489 | + level3 text start |
4490 | + <level4>level4 text</level4> |
4491 | + level3 text end |
4492 | + </level3> |
4493 | + level2 text end |
4494 | + </level2> |
4495 | + level1 text end |
4496 | +</level1> |
4497 | +level0 text |
4498 | +<level1> |
4499 | + level1 text start |
4500 | + <level2> |
4501 | + level2 text start |
4502 | + <level3> |
4503 | + level3 text start |
4504 | + <level4>level4 text</level4> |
4505 | + level3 text end |
4506 | + </level3> |
4507 | + level2 text end |
4508 | + </level2> |
4509 | + level1 text end |
4510 | +</level1> |
4511 | +level0 text |
4512 | +<level1> |
4513 | + level1 text start |
4514 | + <level2> |
4515 | + level2 text start |
4516 | + <level3> |
4517 | + level3 text start |
4518 | + <level4>level4 text</level4> |
4519 | + level3 text end |
4520 | + </level3> |
4521 | + level2 text end |
4522 | + </level2> |
4523 | + level1 text end |
4524 | +</level1> |
4525 | +level0 text", |
4526 | + <opt:options> |
4527 | + <opt:parse-external-parsed-entity opt:skip-root-nodes="0"/> |
4528 | + </opt:options> |
4529 | +) |
4530 | |
4531 | === added file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-32.xq' |
4532 | --- test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-32.xq 1970-01-01 00:00:00 +0000 |
4533 | +++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-32.xq 2012-03-13 16:09:23 +0000 |
4534 | @@ -0,0 +1,65 @@ |
4535 | +import module namespace z = "http://www.zorba-xquery.com/modules/xml"; |
4536 | +import schema namespace opt = "http://www.zorba-xquery.com/modules/xml-options"; |
4537 | + |
4538 | +z:parse("<?xml version='1.0'?> |
4539 | +level0 text |
4540 | +<level1> |
4541 | + level1 text start |
4542 | + <level2> |
4543 | + level2 text start |
4544 | + <level3> |
4545 | + level3 text start |
4546 | + <level4>level4 text</level4> |
4547 | + level3 text end |
4548 | + </level3> |
4549 | + level2 text end |
4550 | + </level2> |
4551 | + level1 text end |
4552 | +</level1> |
4553 | +level0 text |
4554 | +<level1> |
4555 | + level1 text start |
4556 | + <level2> |
4557 | + level2 text start |
4558 | + <level3> |
4559 | + level3 text start |
4560 | + <level4>level4 text</level4> |
4561 | + level3 text end |
4562 | + </level3> |
4563 | + level2 text end |
4564 | + </level2> |
4565 | + level1 text end |
4566 | +</level1> |
4567 | +level0 text |
4568 | +<level1> |
4569 | + level1 text start |
4570 | + <level2> |
4571 | + level2 text start |
4572 | + <level3> |
4573 | + level3 text start |
4574 | + <level4>level4 text</level4> |
4575 | + level3 text end |
4576 | + </level3> |
4577 | + level2 text end |
4578 | + </level2> |
4579 | + level1 text end |
4580 | +</level1> |
4581 | +level0 text |
4582 | +<level1> |
4583 | + level1 text start |
4584 | + <level2> |
4585 | + level2 text start |
4586 | + <level3> |
4587 | + level3 text start |
4588 | + <level4>level4 text</level4> |
4589 | + level3 text end |
4590 | + </level3> |
4591 | + level2 text end |
4592 | + </level2> |
4593 | + level1 text end |
4594 | +</level1> |
4595 | +level0 text", |
4596 | + <opt:options> |
4597 | + <opt:parse-external-parsed-entity opt:skip-root-nodes="1"/> |
4598 | + </opt:options> |
4599 | +) |
4600 | |
4601 | === added file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-33.xq' |
4602 | --- test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-33.xq 1970-01-01 00:00:00 +0000 |
4603 | +++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-33.xq 2012-03-13 16:09:23 +0000 |
4604 | @@ -0,0 +1,65 @@ |
4605 | +import module namespace z = "http://www.zorba-xquery.com/modules/xml"; |
4606 | +import schema namespace opt = "http://www.zorba-xquery.com/modules/xml-options"; |
4607 | + |
4608 | +z:parse("<?xml version='1.0'?> |
4609 | +level0 text |
4610 | +<level1> |
4611 | + level1 text start |
4612 | + <level2> |
4613 | + level2 text start |
4614 | + <level3> |
4615 | + level3 text start |
4616 | + <level4>level4 text</level4> |
4617 | + level3 text end |
4618 | + </level3> |
4619 | + level2 text end |
4620 | + </level2> |
4621 | + level1 text end |
4622 | +</level1> |
4623 | +level0 text |
4624 | +<level1> |
4625 | + level1 text start |
4626 | + <level2> |
4627 | + level2 text start |
4628 | + <level3> |
4629 | + level3 text start |
4630 | + <level4>level4 text</level4> |
4631 | + level3 text end |
4632 | + </level3> |
4633 | + level2 text end |
4634 | + </level2> |
4635 | + level1 text end |
4636 | +</level1> |
4637 | +level0 text |
4638 | +<level1> |
4639 | + level1 text start |
4640 | + <level2> |
4641 | + level2 text start |
4642 | + <level3> |
4643 | + level3 text start |
4644 | + <level4>level4 text</level4> |
4645 | + level3 text end |
4646 | + </level3> |
4647 | + level2 text end |
4648 | + </level2> |
4649 | + level1 text end |
4650 | +</level1> |
4651 | +level0 text |
4652 | +<level1> |
4653 | + level1 text start |
4654 | + <level2> |
4655 | + level2 text start |
4656 | + <level3> |
4657 | + level3 text start |
4658 | + <level4>level4 text</level4> |
4659 | + level3 text end |
4660 | + </level3> |
4661 | + level2 text end |
4662 | + </level2> |
4663 | + level1 text end |
4664 | +</level1> |
4665 | +level0 text", |
4666 | + <opt:options> |
4667 | + <opt:parse-external-parsed-entity opt:skip-root-nodes="2"/> |
4668 | + </opt:options> |
4669 | +) |
4670 | |
4671 | === added file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-34.xq' |
4672 | --- test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-34.xq 1970-01-01 00:00:00 +0000 |
4673 | +++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-34.xq 2012-03-13 16:09:23 +0000 |
4674 | @@ -0,0 +1,65 @@ |
4675 | +import module namespace z = "http://www.zorba-xquery.com/modules/xml"; |
4676 | +import schema namespace opt = "http://www.zorba-xquery.com/modules/xml-options"; |
4677 | + |
4678 | +z:parse("<?xml version='1.0'?> |
4679 | +level0 text |
4680 | +<level1> |
4681 | + level1 text start |
4682 | + <level2> |
4683 | + level2 text start |
4684 | + <level3> |
4685 | + level3 text start |
4686 | + <level4>level4 text</level4> |
4687 | + level3 text end |
4688 | + </level3> |
4689 | + level2 text end |
4690 | + </level2> |
4691 | + level1 text end |
4692 | +</level1> |
4693 | +level0 text |
4694 | +<level1> |
4695 | + level1 text start |
4696 | + <level2> |
4697 | + level2 text start |
4698 | + <level3> |
4699 | + level3 text start |
4700 | + <level4>level4 text</level4> |
4701 | + level3 text end |
4702 | + </level3> |
4703 | + level2 text end |
4704 | + </level2> |
4705 | + level1 text end |
4706 | +</level1> |
4707 | +level0 text |
4708 | +<level1> |
4709 | + level1 text start |
4710 | + <level2> |
4711 | + level2 text start |
4712 | + <level3> |
4713 | + level3 text start |
4714 | + <level4>level4 text</level4> |
4715 | + level3 text end |
4716 | + </level3> |
4717 | + level2 text end |
4718 | + </level2> |
4719 | + level1 text end |
4720 | +</level1> |
4721 | +level0 text |
4722 | +<level1> |
4723 | + level1 text start |
4724 | + <level2> |
4725 | + level2 text start |
4726 | + <level3> |
4727 | + level3 text start |
4728 | + <level4>level4 text</level4> |
4729 | + level3 text end |
4730 | + </level3> |
4731 | + level2 text end |
4732 | + </level2> |
4733 | + level1 text end |
4734 | +</level1> |
4735 | +level0 text", |
4736 | + <opt:options> |
4737 | + <opt:parse-external-parsed-entity opt:skip-root-nodes="3"/> |
4738 | + </opt:options> |
4739 | +) |
4740 | |
4741 | === added file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-35.xq' |
4742 | --- test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-35.xq 1970-01-01 00:00:00 +0000 |
4743 | +++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-35.xq 2012-03-13 16:09:23 +0000 |
4744 | @@ -0,0 +1,65 @@ |
4745 | +import module namespace z = "http://www.zorba-xquery.com/modules/xml"; |
4746 | +import schema namespace opt = "http://www.zorba-xquery.com/modules/xml-options"; |
4747 | + |
4748 | +z:parse("<?xml version='1.0'?> |
4749 | +level0 text |
4750 | +<level1> |
4751 | + level1 text start |
4752 | + <level2> |
4753 | + level2 text start |
4754 | + <level3> |
4755 | + level3 text start |
4756 | + <level4>level4 text</level4> |
4757 | + level3 text end |
4758 | + </level3> |
4759 | + level2 text end |
4760 | + </level2> |
4761 | + level1 text end |
4762 | +</level1> |
4763 | +level0 text |
4764 | +<level1> |
4765 | + level1 text start |
4766 | + <level2> |
4767 | + level2 text start |
4768 | + <level3> |
4769 | + level3 text start |
4770 | + <level4>level4 text</level4> |
4771 | + level3 text end |
4772 | + </level3> |
4773 | + level2 text end |
4774 | + </level2> |
4775 | + level1 text end |
4776 | +</level1> |
4777 | +level0 text |
4778 | +<level1> |
4779 | + level1 text start |
4780 | + <level2> |
4781 | + level2 text start |
4782 | + <level3> |
4783 | + level3 text start |
4784 | + <level4>level4 text</level4> |
4785 | + level3 text end |
4786 | + </level3> |
4787 | + level2 text end |
4788 | + </level2> |
4789 | + level1 text end |
4790 | +</level1> |
4791 | +level0 text |
4792 | +<level1> |
4793 | + level1 text start |
4794 | + <level2> |
4795 | + level2 text start |
4796 | + <level3> |
4797 | + level3 text start |
4798 | + <level4>level4 text</level4> |
4799 | + level3 text end |
4800 | + </level3> |
4801 | + level2 text end |
4802 | + </level2> |
4803 | + level1 text end |
4804 | +</level1> |
4805 | +level0 text", |
4806 | + <opt:options> |
4807 | + <opt:parse-external-parsed-entity opt:skip-root-nodes="4"/> |
4808 | + </opt:options> |
4809 | +) |
4810 | |
4811 | === added file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-36.xq' |
4812 | --- test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-36.xq 1970-01-01 00:00:00 +0000 |
4813 | +++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-36.xq 2012-03-13 16:09:23 +0000 |
4814 | @@ -0,0 +1,65 @@ |
4815 | +import module namespace z = "http://www.zorba-xquery.com/modules/xml"; |
4816 | +import schema namespace opt = "http://www.zorba-xquery.com/modules/xml-options"; |
4817 | + |
4818 | +z:parse("<?xml version='1.0'?> |
4819 | +level0 text |
4820 | +<level1> |
4821 | + level1 text start |
4822 | + <level2> |
4823 | + level2 text start |
4824 | + <level3> |
4825 | + level3 text start |
4826 | + <level4>level4 text</level4> |
4827 | + level3 text end |
4828 | + </level3> |
4829 | + level2 text end |
4830 | + </level2> |
4831 | + level1 text end |
4832 | +</level1> |
4833 | +level0 text |
4834 | +<level1> |
4835 | + level1 text start |
4836 | + <level2> |
4837 | + level2 text start |
4838 | + <level3> |
4839 | + level3 text start |
4840 | + <level4>level4 text</level4> |
4841 | + level3 text end |
4842 | + </level3> |
4843 | + level2 text end |
4844 | + </level2> |
4845 | + level1 text end |
4846 | +</level1> |
4847 | +level0 text |
4848 | +<level1> |
4849 | + level1 text start |
4850 | + <level2> |
4851 | + level2 text start |
4852 | + <level3> |
4853 | + level3 text start |
4854 | + <level4>level4 text</level4> |
4855 | + level3 text end |
4856 | + </level3> |
4857 | + level2 text end |
4858 | + </level2> |
4859 | + level1 text end |
4860 | +</level1> |
4861 | +level0 text |
4862 | +<level1> |
4863 | + level1 text start |
4864 | + <level2> |
4865 | + level2 text start |
4866 | + <level3> |
4867 | + level3 text start |
4868 | + <level4>level4 text</level4> |
4869 | + level3 text end |
4870 | + </level3> |
4871 | + level2 text end |
4872 | + </level2> |
4873 | + level1 text end |
4874 | +</level1> |
4875 | +level0 text", |
4876 | + <opt:options> |
4877 | + <opt:parse-external-parsed-entity opt:skip-root-nodes="5"/> |
4878 | + </opt:options> |
4879 | +) |
4880 | |
4881 | === added file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-37.xq' |
4882 | --- test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-37.xq 1970-01-01 00:00:00 +0000 |
4883 | +++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-37.xq 2012-03-13 16:09:23 +0000 |
4884 | @@ -0,0 +1,20 @@ |
4885 | +import module namespace z = "http://www.zorba-xquery.com/modules/xml"; |
4886 | +import schema namespace opt = "http://www.zorba-xquery.com/modules/xml-options"; |
4887 | + |
4888 | +z:parse("<doc> |
4889 | + <foo>0</foo> |
4890 | + <foo>1</foo> |
4891 | + <foo>2</foo> |
4892 | + <foo>3</foo> |
4893 | + <foo>4</foo> |
4894 | + <foo>5</foo> |
4895 | + <foo>6</foo> |
4896 | + <foo>7</foo> |
4897 | + <foo>8</foo> |
4898 | + <foo>9</foo> |
4899 | + <foo>10</foo> |
4900 | +</doc>", |
4901 | + <opt:options> |
4902 | + <opt:parse-external-parsed-entity opt:skip-root-nodes="0"/> |
4903 | + </opt:options> |
4904 | +) |
4905 | |
4906 | === added file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-38.xq' |
4907 | --- test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-38.xq 1970-01-01 00:00:00 +0000 |
4908 | +++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-38.xq 2012-03-13 16:09:23 +0000 |
4909 | @@ -0,0 +1,20 @@ |
4910 | +import module namespace z = "http://www.zorba-xquery.com/modules/xml"; |
4911 | +import schema namespace opt = "http://www.zorba-xquery.com/modules/xml-options"; |
4912 | + |
4913 | +z:parse("<doc> |
4914 | + <foo>0</foo> |
4915 | + <foo>1</foo> |
4916 | + <foo>2</foo> |
4917 | + <foo>3</foo> |
4918 | + <foo>4</foo> |
4919 | + <foo>5</foo> |
4920 | + <foo>6</foo> |
4921 | + <foo>7</foo> |
4922 | + <foo>8</foo> |
4923 | + <foo>9</foo> |
4924 | + <foo>10</foo> |
4925 | +</doc>", |
4926 | + <opt:options> |
4927 | + <opt:parse-external-parsed-entity opt:skip-root-nodes="1"/> |
4928 | + </opt:options> |
4929 | +) |
4930 | |
4931 | === added file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-39.xq' |
4932 | --- test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-39.xq 1970-01-01 00:00:00 +0000 |
4933 | +++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-39.xq 2012-03-13 16:09:23 +0000 |
4934 | @@ -0,0 +1,20 @@ |
4935 | +import module namespace z = "http://www.zorba-xquery.com/modules/xml"; |
4936 | +import schema namespace opt = "http://www.zorba-xquery.com/modules/xml-options"; |
4937 | + |
4938 | +z:parse("<doc> |
4939 | + <foo>0</foo> |
4940 | + <foo>1</foo> |
4941 | + <foo>2</foo> |
4942 | + <foo>3</foo> |
4943 | + <foo>4</foo> |
4944 | + <foo>5</foo> |
4945 | + <foo>6</foo> |
4946 | + <foo>7</foo> |
4947 | + <foo>8</foo> |
4948 | + <foo>9</foo> |
4949 | + <foo>10</foo> |
4950 | +</doc>", |
4951 | + <opt:options> |
4952 | + <opt:parse-external-parsed-entity opt:skip-root-nodes="2"/> |
4953 | + </opt:options> |
4954 | +) |
4955 | |
4956 | === added file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-40.xq' |
4957 | --- test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-40.xq 1970-01-01 00:00:00 +0000 |
4958 | +++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-40.xq 2012-03-13 16:09:23 +0000 |
4959 | @@ -0,0 +1,9 @@ |
4960 | +import module namespace z = "http://www.zorba-xquery.com/modules/xml"; |
4961 | +import schema namespace opt = "http://www.zorba-xquery.com/modules/xml-options"; |
4962 | + |
4963 | +z:parse("<?xml version='1.0'?> |
4964 | +<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>", |
4965 | + <opt:options> |
4966 | + <opt:parse-external-parsed-entity opt:skip-root-nodes="0"/> |
4967 | + </opt:options> |
4968 | +) |
4969 | |
4970 | === added file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-41.xq' |
4971 | --- test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-41.xq 1970-01-01 00:00:00 +0000 |
4972 | +++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-41.xq 2012-03-13 16:09:23 +0000 |
4973 | @@ -0,0 +1,9 @@ |
4974 | +import module namespace z = "http://www.zorba-xquery.com/modules/xml"; |
4975 | +import schema namespace opt = "http://www.zorba-xquery.com/modules/xml-options"; |
4976 | + |
4977 | +z:parse("<?xml version='1.0'?> |
4978 | +<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>", |
4979 | + <opt:options> |
4980 | + <opt:parse-external-parsed-entity opt:skip-root-nodes="1"/> |
4981 | + </opt:options> |
4982 | +) |
4983 | |
4984 | === added file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-42.xq' |
4985 | --- test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-42.xq 1970-01-01 00:00:00 +0000 |
4986 | +++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-42.xq 2012-03-13 16:09:23 +0000 |
4987 | @@ -0,0 +1,9 @@ |
4988 | +import module namespace z = "http://www.zorba-xquery.com/modules/xml"; |
4989 | +import schema namespace opt = "http://www.zorba-xquery.com/modules/xml-options"; |
4990 | + |
4991 | +z:parse("<?xml version='1.0'?> |
4992 | +<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>", |
4993 | + <opt:options> |
4994 | + <opt:parse-external-parsed-entity opt:skip-root-nodes="2"/> |
4995 | + </opt:options> |
4996 | +) |
4997 | |
4998 | === added file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-43.xq' |
4999 | --- test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-43.xq 1970-01-01 00:00:00 +0000 |
5000 | +++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-43.xq 2012-03-13 16:09:23 +0000 |
The branch doesn't compile on my machine: zorba_simplesto re.dir/ functions/ func_nodes. cpp.o wcandillon/ tmp/parse- fragment/ build/src/ functions/ func_nodes. cpp:26: wcandillon/ tmp/parse- fragment/ build/src/ runtime/ nodes/nodes. h:211: error: stray '#' in program wcandillon/ tmp/parse- fragment/ build/src/ runtime/ nodes/nodes. h:212: error: stray '#' in program wcandillon/ tmp/parse- fragment/ build/src/ runtime/ nodes/nodes. h:212: error: stray '#' in program wcandillon/ tmp/parse- fragment/ build/src/ runtime/ nodes/nodes. h:211: error: expected ',' or '...' before numeric constant wcandillon/ tmp/parse- fragment/ build/src/ runtime/ nodes/nodes. h:211: error: expected `)' before ';' token wcandillon/ tmp/parse- fragment/ build/src/ runtime/ nodes/nodes. h:211: error: ISO C++ forbids declaration of 'aAttr' with no type wcandillon/ tmp/parse- fragment/ build/src/ runtime/ nodes/nodes. h:211: error: expected ';' before ')' token wcandillon/ tmp/parse- fragment/ build/src/ runtime/ nodes/nodes. h:212: error: expected ',' or '...' before numeric constant wcandillon/ tmp/parse- fragment/ build/src/ runtime/ nodes/nodes. h:212: error: expected `)' before ';' token wcandillon/ tmp/parse- fragment/ build/src/ runtime/ nodes/nodes. h:212: error: ISO C++ forbids declaration of 'aLangAttr' with no type wcandillon/ tmp/parse- fragment/ build/src/ runtime/ nodes/nodes. h:212: error: expected unqualified-id before 'const' wcandillon/ tmp/parse- fragment/ build/src/ runtime/ nodes/nodes. h:212: error: ISO C++ forbids declaration of 'aRequestLang' with no type wcandillon/ tmp/parse- fragment/ build/src/ runtime/ nodes/nodes. h:212: error: expected ';' before ')' token
[ 0%] Building CXX object src/CMakeFiles/
In file included from /Users/
/Users/
/Users/
/Users/
/Users/
/Users/
/Users/
/Users/
/Users/
/Users/
/Users/
/Users/
/Users/
/Users/
@Matthias, are you experiencing the same issue on mac?