[Zorba-coders] [Merge] lp:~nbrinza/zorba/parse-fragment into lp:zorba
The proposal to merge lp:~nbrinza/zorba/parse-fragment into lp:zorba has been updated. Status: Approved => Merged For more details, see: https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/144007 -- https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/144007 Your team Zorba Coders is subscribed to branch lp:zorba. -- Mailing list: https://launchpad.net/~zorba-coders Post to : zorba-coders@lists.launchpad.net Unsubscribe : https://launchpad.net/~zorba-coders More help : https://help.launchpad.net/ListHelp
[Zorba-coders] [Merge] lp:~nbrinza/zorba/parse-fragment into lp:zorba
Validation queue job parse-fragment-2013-01-30T01-53-04.029Z is finished. The final status was: All tests succeeded! -- https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/144007 Your team Zorba Coders is subscribed to branch lp:zorba. -- Mailing list: https://launchpad.net/~zorba-coders Post to : zorba-coders@lists.launchpad.net Unsubscribe : https://launchpad.net/~zorba-coders More help : https://help.launchpad.net/ListHelp
[Zorba-coders] [Merge] lp:~nbrinza/zorba/parse-fragment into lp:zorba
Validation queue starting for merge proposal. Log at: http://zorbatest.lambda.nu:8080/remotequeue/parse-fragment-2013-01-30T01-53-04.029Z/log.html -- https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/144007 Your team Zorba Coders is subscribed to branch lp:zorba. -- Mailing list: https://launchpad.net/~zorba-coders Post to : zorba-coders@lists.launchpad.net Unsubscribe : https://launchpad.net/~zorba-coders More help : https://help.launchpad.net/ListHelp
[Zorba-coders] [Merge] lp:~nbrinza/zorba/parse-fragment into lp:zorba
The proposal to merge lp:~nbrinza/zorba/parse-fragment into lp:zorba has been updated. Status: Needs review => Approved For more details, see: https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/144007 -- https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/144007 Your team Zorba Coders is subscribed to branch lp:zorba. -- Mailing list: https://launchpad.net/~zorba-coders Post to : zorba-coders@lists.launchpad.net Unsubscribe : https://launchpad.net/~zorba-coders More help : https://help.launchpad.net/ListHelp
Re: [Zorba-coders] [Merge] lp:~nbrinza/zorba/parse-fragment into lp:zorba
Review: Approve Confirmed that this fixes both outstanding Fedora bugs (tested on Fedora) as well as the infinite-loop bug (tested on Ubuntu). Yay! -- https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/144007 Your team Zorba Coders is subscribed to branch lp:zorba. -- Mailing list: https://launchpad.net/~zorba-coders Post to : zorba-coders@lists.launchpad.net Unsubscribe : https://launchpad.net/~zorba-coders More help : https://help.launchpad.net/ListHelp
[Zorba-coders] [Merge] lp:~nbrinza/zorba/parse-fragment into lp:zorba
Validation queue job parse-fragment-2013-01-21T08-58-10.778Z is finished. The final status was: All tests succeeded! -- https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/144007 Your team Zorba Coders is subscribed to branch lp:zorba. -- Mailing list: https://launchpad.net/~zorba-coders Post to : zorba-coders@lists.launchpad.net Unsubscribe : https://launchpad.net/~zorba-coders More help : https://help.launchpad.net/ListHelp
Re: [Zorba-coders] [Merge] lp:~nbrinza/zorba/parse-fragment into lp:zorba
Voting does not meet specified criteria. Required: Approve > 1, Disapprove < 1, Needs Fixing < 1, Pending < 1. Got: 1 Approve, 1 Pending. -- https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/144007 Your team Zorba Coders is subscribed to branch lp:zorba. -- Mailing list: https://launchpad.net/~zorba-coders Post to : zorba-coders@lists.launchpad.net Unsubscribe : https://launchpad.net/~zorba-coders More help : https://help.launchpad.net/ListHelp
[Zorba-coders] [Merge] lp:~nbrinza/zorba/parse-fragment into lp:zorba
The proposal to merge lp:~nbrinza/zorba/parse-fragment into lp:zorba has been updated. Status: Approved => Needs review For more details, see: https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/144007 -- https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/144007 Your team Zorba Coders is subscribed to branch lp:zorba. -- Mailing list: https://launchpad.net/~zorba-coders Post to : zorba-coders@lists.launchpad.net Unsubscribe : https://launchpad.net/~zorba-coders More help : https://help.launchpad.net/ListHelp
Re: [Zorba-coders] [Merge] lp:~nbrinza/zorba/parse-fragment into lp:zorba
Yeah, there were some weird failures in the RQ -- the JDBC ones and around 3 URI tests that did not fail on my machine. -- https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/144007 Your team Zorba Coders is subscribed to branch lp:zorba. -- Mailing list: https://launchpad.net/~zorba-coders Post to : zorba-coders@lists.launchpad.net Unsubscribe : https://launchpad.net/~zorba-coders More help : https://help.launchpad.net/ListHelp
[Zorba-coders] [Merge] lp:~nbrinza/zorba/parse-fragment into lp:zorba
Validation queue starting for merge proposal. Log at: http://zorbatest.lambda.nu:8080/remotequeue/parse-fragment-2013-01-21T08-58-10.778Z/log.html -- https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/144007 Your team Zorba Coders is subscribed to branch lp:zorba. -- Mailing list: https://launchpad.net/~zorba-coders Post to : zorba-coders@lists.launchpad.net Unsubscribe : https://launchpad.net/~zorba-coders More help : https://help.launchpad.net/ListHelp
Re: [Zorba-coders] [Merge] lp:~nbrinza/zorba/parse-fragment into lp:zorba
Think I've fixed it; trying again. -- https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/144007 Your team Zorba Coders is subscribed to branch lp:zorba. -- Mailing list: https://launchpad.net/~zorba-coders Post to : zorba-coders@lists.launchpad.net Unsubscribe : https://launchpad.net/~zorba-coders More help : https://help.launchpad.net/ListHelp
[Zorba-coders] [Merge] lp:~nbrinza/zorba/parse-fragment into lp:zorba
The proposal to merge lp:~nbrinza/zorba/parse-fragment into lp:zorba has been updated. Status: Needs review => Approved For more details, see: https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/144007 -- https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/144007 Your team Zorba Coders is subscribed to branch lp:zorba. -- Mailing list: https://launchpad.net/~zorba-coders Post to : zorba-coders@lists.launchpad.net Unsubscribe : https://launchpad.net/~zorba-coders More help : https://help.launchpad.net/ListHelp
Re: [Zorba-coders] [Merge] lp:~nbrinza/zorba/parse-fragment into lp:zorba
I've fixed the RQ problem that caused the JDBC and Oracle NoSQL failures. However, the 4 XQXQ failures I don't understand yet. -- https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/144007 Your team Zorba Coders is subscribed to branch lp:zorba. -- Mailing list: https://launchpad.net/~zorba-coders Post to : zorba-coders@lists.launchpad.net Unsubscribe : https://launchpad.net/~zorba-coders More help : https://help.launchpad.net/ListHelp
Re: [Zorba-coders] [Merge] lp:~nbrinza/zorba/parse-fragment into lp:zorba
I can confirm that all "parse" and "parse-xml-fragment" tests pass on my Fedora x64 bit machine. -- https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/144007 Your team Zorba Coders is subscribed to branch lp:zorba. -- Mailing list: https://launchpad.net/~zorba-coders Post to : zorba-coders@lists.launchpad.net Unsubscribe : https://launchpad.net/~zorba-coders More help : https://help.launchpad.net/ListHelp
[Zorba-coders] [Merge] lp:~nbrinza/zorba/parse-fragment into lp:zorba
The proposal to merge lp:~nbrinza/zorba/parse-fragment into lp:zorba has been updated. Status: Approved => Needs review For more details, see: https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/144007 -- https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/144007 Your team Zorba Coders is subscribed to branch lp:zorba. -- Mailing list: https://launchpad.net/~zorba-coders Post to : zorba-coders@lists.launchpad.net Unsubscribe : https://launchpad.net/~zorba-coders More help : https://help.launchpad.net/ListHelp
Re: [Zorba-coders] [Merge] lp:~nbrinza/zorba/parse-fragment into lp:zorba
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/zo/testing/zorbatest/tester/TarmacLander.cmake:275 (message): Validation queue job parse-fragment-2013-01-20T14-06-13.72Z is finished. The final status was: 21 tests did not succeed - changes not commited. Error in read script: /home/ceej/zo/testing/zorbatest/tester/TarmacLander.cmake -- https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/144007 Your team Zorba Coders is subscribed to branch lp:zorba. -- Mailing list: https://launchpad.net/~zorba-coders Post to : zorba-coders@lists.launchpad.net Unsubscribe : https://launchpad.net/~zorba-coders More help : https://help.launchpad.net/ListHelp
[Zorba-coders] [Merge] lp:~nbrinza/zorba/parse-fragment into lp:zorba
Validation queue starting for merge proposal. Log at: http://zorbatest.lambda.nu:8080/remotequeue/parse-fragment-2013-01-20T14-06-13.72Z/log.html -- https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/144007 Your team Zorba Coders is subscribed to branch lp:zorba. -- Mailing list: https://launchpad.net/~zorba-coders Post to : zorba-coders@lists.launchpad.net Unsubscribe : https://launchpad.net/~zorba-coders More help : https://help.launchpad.net/ListHelp
[Zorba-coders] [Merge] lp:~nbrinza/zorba/parse-fragment into lp:zorba
The proposal to merge lp:~nbrinza/zorba/parse-fragment into lp:zorba has been updated. Status: Needs review => Approved For more details, see: https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/144007 -- https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/144007 Your team Zorba Coders is subscribed to branch lp:zorba. -- Mailing list: https://launchpad.net/~zorba-coders Post to : zorba-coders@lists.launchpad.net Unsubscribe : https://launchpad.net/~zorba-coders More help : https://help.launchpad.net/ListHelp
[Zorba-coders] [Merge] lp:~nbrinza/zorba/parse-fragment into lp:zorba
The proposal to merge lp:~nbrinza/zorba/parse-fragment into lp:zorba has been updated. Status: Approved => Needs review For more details, see: https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/144007 -- https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/144007 Your team Zorba Coders is subscribed to branch lp:zorba. -- Mailing list: https://launchpad.net/~zorba-coders Post to : zorba-coders@lists.launchpad.net Unsubscribe : https://launchpad.net/~zorba-coders More help : https://help.launchpad.net/ListHelp
Re: [Zorba-coders] [Merge] lp:~nbrinza/zorba/parse-fragment into lp:zorba
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/zo/testing/zorbatest/tester/TarmacLander.cmake:275 (message): Validation queue job parse-fragment-2013-01-20T02-23-09.94Z is finished. The final status was: 22 tests did not succeed - changes not commited. Error in read script: /home/ceej/zo/testing/zorbatest/tester/TarmacLander.cmake -- https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/144007 Your team Zorba Coders is subscribed to branch lp:zorba. -- Mailing list: https://launchpad.net/~zorba-coders Post to : zorba-coders@lists.launchpad.net Unsubscribe : https://launchpad.net/~zorba-coders More help : https://help.launchpad.net/ListHelp
[Zorba-coders] [Merge] lp:~nbrinza/zorba/parse-fragment into lp:zorba
Validation queue starting for merge proposal. Log at: http://zorbatest.lambda.nu:8080/remotequeue/parse-fragment-2013-01-20T02-23-09.94Z/log.html -- https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/144007 Your team Zorba Coders is subscribed to branch lp:zorba. -- Mailing list: https://launchpad.net/~zorba-coders Post to : zorba-coders@lists.launchpad.net Unsubscribe : https://launchpad.net/~zorba-coders More help : https://help.launchpad.net/ListHelp
[Zorba-coders] [Merge] lp:~nbrinza/zorba/parse-fragment into lp:zorba
The proposal to merge lp:~nbrinza/zorba/parse-fragment into lp:zorba has been updated. Status: Needs review => Approved For more details, see: https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/144007 -- https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/144007 Your team Zorba Coders is subscribed to branch lp:zorba. -- Mailing list: https://launchpad.net/~zorba-coders Post to : zorba-coders@lists.launchpad.net Unsubscribe : https://launchpad.net/~zorba-coders More help : https://help.launchpad.net/ListHelp
[Zorba-coders] [Merge] lp:~nbrinza/zorba/parse-fragment into lp:zorba
The proposal to merge lp:~nbrinza/zorba/parse-fragment into lp:zorba has been updated. Status: Approved => Needs review For more details, see: https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/144007 -- https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/144007 Your team Zorba Coders is subscribed to branch lp:zorba. -- Mailing list: https://launchpad.net/~zorba-coders Post to : zorba-coders@lists.launchpad.net Unsubscribe : https://launchpad.net/~zorba-coders More help : https://help.launchpad.net/ListHelp
Re: [Zorba-coders] [Merge] lp:~nbrinza/zorba/parse-fragment into lp:zorba
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/zo/testing/zorbatest/tester/TarmacLander.cmake:275 (message): Validation queue job parse-fragment-2013-01-20T01-35-16.016Z is finished. The final status was: 21 tests did not succeed - changes not commited. Error in read script: /home/ceej/zo/testing/zorbatest/tester/TarmacLander.cmake -- https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/144007 Your team Zorba Coders is subscribed to branch lp:zorba. -- Mailing list: https://launchpad.net/~zorba-coders Post to : zorba-coders@lists.launchpad.net Unsubscribe : https://launchpad.net/~zorba-coders More help : https://help.launchpad.net/ListHelp
[Zorba-coders] [Merge] lp:~nbrinza/zorba/parse-fragment into lp:zorba
Validation queue starting for merge proposal. Log at: http://zorbatest.lambda.nu:8080/remotequeue/parse-fragment-2013-01-20T01-35-16.016Z/log.html -- https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/144007 Your team Zorba Coders is subscribed to branch lp:zorba. -- Mailing list: https://launchpad.net/~zorba-coders Post to : zorba-coders@lists.launchpad.net Unsubscribe : https://launchpad.net/~zorba-coders More help : https://help.launchpad.net/ListHelp
[Zorba-coders] [Merge] lp:~nbrinza/zorba/parse-fragment into lp:zorba
The proposal to merge lp:~nbrinza/zorba/parse-fragment into lp:zorba has been updated. Commit Message changed to: Fix for bugs #1099535 #1099648 and #106 For more details, see: https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/144007 -- https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/144007 Your team Zorba Coders is subscribed to branch lp:zorba. -- Mailing list: https://launchpad.net/~zorba-coders Post to : zorba-coders@lists.launchpad.net Unsubscribe : https://launchpad.net/~zorba-coders More help : https://help.launchpad.net/ListHelp
[Zorba-coders] [Merge] lp:~nbrinza/zorba/parse-fragment into lp:zorba
The proposal to merge lp:~nbrinza/zorba/parse-fragment into lp:zorba has been updated. Status: Needs review => Approved For more details, see: https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/144007 -- https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/144007 Your team Zorba Coders is subscribed to branch lp:zorba. -- Mailing list: https://launchpad.net/~zorba-coders Post to : zorba-coders@lists.launchpad.net Unsubscribe : https://launchpad.net/~zorba-coders More help : https://help.launchpad.net/ListHelp
Re: [Zorba-coders] [Merge] lp:~nbrinza/zorba/parse-fragment into lp:zorba
Review: Approve -- https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/144007 Your team Zorba Coders is subscribed to branch lp:zorba. -- Mailing list: https://launchpad.net/~zorba-coders Post to : zorba-coders@lists.launchpad.net Unsubscribe : https://launchpad.net/~zorba-coders More help : https://help.launchpad.net/ListHelp
[Zorba-coders] [Merge] lp:~nbrinza/zorba/parse-fragment into lp:zorba
Nicolae Brinza has proposed merging lp:~nbrinza/zorba/parse-fragment into lp:zorba. Requested reviews: Nicolae Brinza (nbrinza) Chris Hillery (ceejatec) Related bugs: Bug #1016606 in Zorba: "xml:parse unable to parse content containing a DOCTYPE" https://bugs.launchpad.net/zorba/+bug/1016606 Bug #1023170 in Zorba: "Segfault in xml:parse" https://bugs.launchpad.net/zorba/+bug/1023170 Bug #1024033 in Zorba: "segfault in parse-xml:parse()" https://bugs.launchpad.net/zorba/+bug/1024033 Bug #1027270 in Zorba: "xml:parse() - infinite loop" https://bugs.launchpad.net/zorba/+bug/1027270 Bug #106 in Zorba: "fn:parse-xml-fragment broken on 64 bit" https://bugs.launchpad.net/zorba/+bug/106 Bug #1099535 in Zorba: "xml:parse endless loop" https://bugs.launchpad.net/zorba/+bug/1099535 Bug #1099648 in Zorba: "XML parsing failures on Red Hat" https://bugs.launchpad.net/zorba/+bug/1099648 For more details, see: https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/144007 Fix for bugs #1099535 #1099648 and #106 -- https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/144007 Your team Zorba Coders is subscribed to branch lp:zorba. === modified file 'ChangeLog' --- ChangeLog 2013-01-14 09:46:44 + +++ ChangeLog 2013-01-20 00:28:21 + @@ -1,6 +1,14 @@ Zorba - The XQuery Processor +version 2.9 + +Bug Fixes/Other Changes: + * Fixed bug #1099648 and #106 (XML parsing failures on Red Hat) + * Fixed bug #1099535 (xml:parse endless loop) + + + version 2.8 New Features: === modified file 'src/store/naive/loader.h' --- src/store/naive/loader.h 2012-09-19 21:16:15 + +++ src/store/naive/loader.h 2013-01-20 00:28:21 + @@ -261,7 +261,8 @@ const FragmentIStream* getFragmentStream() const { return theFragmentStream; }; protected: - bool fillBuffer(FragmentIStream* theFragmentStream); + // returns true if the input buffer is not yet fully consumed + bool fillBuffer(FragmentIStream* theFragmentStream); unsigned long getCurrentInputOffset() const; === modified file 'src/store/naive/loader_dtd.cpp' --- src/store/naive/loader_dtd.cpp 2012-09-19 21:16:15 + +++ src/store/naive/loader_dtd.cpp 2013-01-20 00:28:21 + @@ -149,6 +149,7 @@ { } +// returns true if the input buffer is not yet fully consumed bool FragmentXmlLoader::fillBuffer(FragmentIStream* theFragmentStream) { if (theFragmentStream->ctxt->input->length > 0 && theFragmentStream->current_offset < theFragmentStream->bytes_in_buffer) @@ -175,6 +176,7 @@ theFragmentStream->ctxt->input->length = (theFragmentStream->bytes_in_buffer < (theFragmentStream->theBuffer.size()-1) ? theFragmentStream->bytes_in_buffer : (theFragmentStream->theBuffer.size()-1)); theFragmentStream->ctxt->input->cur = theFragmentStream->ctxt->input->base; theFragmentStream->ctxt->input->end = theFragmentStream->ctxt->input->base + theFragmentStream->ctxt->input->length; + theFragmentStream->ctxt->checkIndex = 0; // this needs to be reset to force LibXml2 to rescan the buffer. Otherwise it might fail to detect opening/closing tags in certain inputs if (theFragmentStream->bytes_in_buffer < theFragmentStream->theBuffer.size()-1) theFragmentStream->theBuffer[theFragmentStream->bytes_in_buffer] = 0; @@ -241,7 +243,9 @@ // Initialize the parser input (only filename and the pointer to the current char) theFragmentStream->theBuffer[0] = ' '; // This assignment is needed for LibXml2-2.7.6, which tries to read the buffer when xmlPushInput() is called - input->cur = (xmlChar*)(&theFragmentStream->theBuffer[0]); + input->base = (xmlChar*)(&theFragmentStream->theBuffer[0]); + input->cur = input->base; + // input->cur = (xmlChar*)(&theFragmentStream->theBuffer[0]); input->filename = (const char*)(xmlCanonicPath((const xmlChar*)theDocUri.c_str())); xmlPushInput(theFragmentStream->ctxt, input); } @@ -250,6 +254,8 @@ theFragmentStream->ctxt->disableSAX = false; // xmlStopParser() sets disableSAX to true theFragmentStream->parsed_nodes_count = 0; theFragmentStream->forced_parser_stop = false; + +// theFragmentStream->ctxt->progressive = 1; if (theFragmentStream->state != FragmentIStream::FRAGMENT_FIRST_START_DOC) { @@ -257,7 +263,8 @@ FragmentXmlLoader::startDocument(theFragmentStream->ctxt->userData); } -while ( ! theFragmentStream->forced_parser_stop && fillBuffer(theFragmentStream)) +bool buffer_not_consumed; +while ( ! theFragmentStream->forced_parser_stop && (buffer_not_consumed = fillBuffer(theFragmentStream))) { if (theFragmentStream->only_one_doc_node && theFragmentStream->state != FragmentIStream::FRAGMENT_FIRST_START_DOC) { @@ -316,9 +323,17 @@ } /* + std::string buffer = (char*)theFragmentStream->ctxt->input->cur; + if (theFragmentStream->ctxt->input->length < buffer.size()) + buffer = buffer.substr
Re: [Zorba-coders] [Merge] lp:~nbrinza/zorba/parse-fragment into lp:zorba
Review: Approve -- https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/143519 Your team Zorba Coders is subscribed to branch lp:zorba. -- Mailing list: https://launchpad.net/~zorba-coders Post to : zorba-coders@lists.launchpad.net Unsubscribe : https://launchpad.net/~zorba-coders More help : https://help.launchpad.net/ListHelp
[Zorba-coders] [Merge] lp:~nbrinza/zorba/parse-fragment into lp:zorba
The proposal to merge lp:~nbrinza/zorba/parse-fragment into lp:zorba has been updated. Status: Approved => Needs review For more details, see: https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/143519 -- https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/143519 Your team Zorba Coders is subscribed to branch lp:zorba. -- Mailing list: https://launchpad.net/~zorba-coders Post to : zorba-coders@lists.launchpad.net Unsubscribe : https://launchpad.net/~zorba-coders More help : https://help.launchpad.net/ListHelp
Re: [Zorba-coders] [Merge] lp:~nbrinza/zorba/parse-fragment into lp:zorba
Voting does not meet specified criteria. Required: Approve > 1, Disapprove < 1, Needs Fixing < 1, Pending < 1. Got: 1 Pending. -- https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/143519 Your team Zorba Coders is subscribed to branch lp:zorba. -- Mailing list: https://launchpad.net/~zorba-coders Post to : zorba-coders@lists.launchpad.net Unsubscribe : https://launchpad.net/~zorba-coders More help : https://help.launchpad.net/ListHelp
[Zorba-coders] [Merge] lp:~nbrinza/zorba/parse-fragment into lp:zorba
Validation queue job parse-fragment-2013-01-16T14-41-25.479Z is finished. The final status was: All tests succeeded! -- https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/143519 Your team Zorba Coders is subscribed to branch lp:zorba. -- Mailing list: https://launchpad.net/~zorba-coders Post to : zorba-coders@lists.launchpad.net Unsubscribe : https://launchpad.net/~zorba-coders More help : https://help.launchpad.net/ListHelp
[Zorba-coders] [Merge] lp:~nbrinza/zorba/parse-fragment into lp:zorba
Validation queue starting for merge proposal. Log at: http://zorbatest.lambda.nu:8080/remotequeue/parse-fragment-2013-01-16T14-41-25.479Z/log.html -- https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/143519 Your team Zorba Coders is subscribed to branch lp:zorba. -- Mailing list: https://launchpad.net/~zorba-coders Post to : zorba-coders@lists.launchpad.net Unsubscribe : https://launchpad.net/~zorba-coders More help : https://help.launchpad.net/ListHelp
[Zorba-coders] [Merge] lp:~nbrinza/zorba/parse-fragment into lp:zorba
The proposal to merge lp:~nbrinza/zorba/parse-fragment into lp:zorba has been updated. Status: Needs review => Approved For more details, see: https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/143519 -- https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/143519 Your team Zorba Coders is subscribed to branch lp:zorba. -- Mailing list: https://launchpad.net/~zorba-coders Post to : zorba-coders@lists.launchpad.net Unsubscribe : https://launchpad.net/~zorba-coders More help : https://help.launchpad.net/ListHelp
[Zorba-coders] [Merge] lp:~nbrinza/zorba/parse-fragment into lp:zorba
Nicolae Brinza has proposed merging lp:~nbrinza/zorba/parse-fragment into lp:zorba. Commit message: Fix for bug #1099535 endless loop in xml:parse() Requested reviews: Chris Hillery (ceejatec) Related bugs: Bug #1016606 in Zorba: "xml:parse unable to parse content containing a DOCTYPE" https://bugs.launchpad.net/zorba/+bug/1016606 Bug #1023170 in Zorba: "Segfault in xml:parse" https://bugs.launchpad.net/zorba/+bug/1023170 Bug #1024033 in Zorba: "segfault in parse-xml:parse()" https://bugs.launchpad.net/zorba/+bug/1024033 Bug #1027270 in Zorba: "xml:parse() - infinite loop" https://bugs.launchpad.net/zorba/+bug/1027270 Bug #1099535 in Zorba: "xml:parse endless loop" https://bugs.launchpad.net/zorba/+bug/1099535 For more details, see: https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/143519 Fix for bug #1099535 endless loop in xml:parse() -- https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/143519 Your team Zorba Coders is subscribed to branch lp:zorba. === modified file 'ChangeLog' --- ChangeLog 2013-01-14 09:46:44 + +++ ChangeLog 2013-01-16 14:40:27 + @@ -1,6 +1,13 @@ Zorba - The XQuery Processor +version 2.9 + +Bug Fixes/Other Changes: + * Fixed bug #1099535 (xml:parse endless loop) + + + version 2.8 New Features: === modified file 'src/store/naive/loader.h' --- src/store/naive/loader.h 2012-09-19 21:16:15 + +++ src/store/naive/loader.h 2013-01-16 14:40:27 + @@ -261,7 +261,8 @@ const FragmentIStream* getFragmentStream() const { return theFragmentStream; }; protected: - bool fillBuffer(FragmentIStream* theFragmentStream); + // returns true if the input buffer is not yet fully consumed + bool fillBuffer(FragmentIStream* theFragmentStream); unsigned long getCurrentInputOffset() const; === modified file 'src/store/naive/loader_dtd.cpp' --- src/store/naive/loader_dtd.cpp 2012-09-19 21:16:15 + +++ src/store/naive/loader_dtd.cpp 2013-01-16 14:40:27 + @@ -149,6 +149,7 @@ { } +// returns true if the input buffer is not yet fully consumed bool FragmentXmlLoader::fillBuffer(FragmentIStream* theFragmentStream) { if (theFragmentStream->ctxt->input->length > 0 && theFragmentStream->current_offset < theFragmentStream->bytes_in_buffer) @@ -175,6 +176,7 @@ theFragmentStream->ctxt->input->length = (theFragmentStream->bytes_in_buffer < (theFragmentStream->theBuffer.size()-1) ? theFragmentStream->bytes_in_buffer : (theFragmentStream->theBuffer.size()-1)); theFragmentStream->ctxt->input->cur = theFragmentStream->ctxt->input->base; theFragmentStream->ctxt->input->end = theFragmentStream->ctxt->input->base + theFragmentStream->ctxt->input->length; + theFragmentStream->ctxt->checkIndex = 0; // this needs to be reset to force LibXml2 to rescan the buffer. Otherwise it might fail to detect opening/closing tags in certain inputs if (theFragmentStream->bytes_in_buffer < theFragmentStream->theBuffer.size()-1) theFragmentStream->theBuffer[theFragmentStream->bytes_in_buffer] = 0; @@ -250,6 +252,8 @@ theFragmentStream->ctxt->disableSAX = false; // xmlStopParser() sets disableSAX to true theFragmentStream->parsed_nodes_count = 0; theFragmentStream->forced_parser_stop = false; + +// theFragmentStream->ctxt->progressive = 1; if (theFragmentStream->state != FragmentIStream::FRAGMENT_FIRST_START_DOC) { @@ -257,7 +261,8 @@ FragmentXmlLoader::startDocument(theFragmentStream->ctxt->userData); } -while ( ! theFragmentStream->forced_parser_stop && fillBuffer(theFragmentStream)) +bool buffer_not_consumed; +while ( ! theFragmentStream->forced_parser_stop && (buffer_not_consumed = fillBuffer(theFragmentStream))) { if (theFragmentStream->only_one_doc_node && theFragmentStream->state != FragmentIStream::FRAGMENT_FIRST_START_DOC) { @@ -316,9 +321,15 @@ } /* + std::string buffer = (char*)theFragmentStream->ctxt->input->cur; std::cerr << "\n==\n--> skip_root: " << theFragmentStream->root_elements_to_skip << " current_depth: " << theFragmentStream->current_element_depth - << " state: " << theFragmentStream->ctxt->instate - << " about to parse: [" << theFragmentStream->ctxt->input->cur << "] " << std::endl; + << " state: " << theFragmentStream->ctxt->instate + << " about to parse: ["; + if (buffer.size() > 500) +std::cerr << buffer.substr(0, 160) << "\n...\n" << buffer.substr(buffer.size()-160); + else +std::cerr << theFragmentStream->ctxt->input->cur; + std::cerr << "] " << std::endl; */ xmlParseChunk(theFragmentStream->ctxt, (const char*)theFragmentStream->ctxt->input->cur, @@ -334,6 +345,8 @@ if (theXQueryDiagnostics->errors().empty() && theFragmentStream->current_offset == 0 && theFragmentStream->ctxt->checkIndex > 0) { + assert(buffer_not_consumed == true)
[Zorba-coders] [Merge] lp:~nbrinza/zorba/parse-fragment into lp:zorba
The proposal to merge lp:~nbrinza/zorba/parse-fragment into lp:zorba has been updated. Status: Approved => Merged For more details, see: https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/121884 -- https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/121884 Your team Zorba Coders is subscribed to branch lp:zorba. -- Mailing list: https://launchpad.net/~zorba-coders Post to : zorba-coders@lists.launchpad.net Unsubscribe : https://launchpad.net/~zorba-coders More help : https://help.launchpad.net/ListHelp
[Zorba-coders] [Merge] lp:~nbrinza/zorba/parse-fragment into lp:zorba
Validation queue job parse-fragment-2012-08-30T08-02-09.972Z is finished. The final status was: All tests succeeded! -- https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/121884 Your team Zorba Coders is subscribed to branch lp:zorba. -- Mailing list: https://launchpad.net/~zorba-coders Post to : zorba-coders@lists.launchpad.net Unsubscribe : https://launchpad.net/~zorba-coders More help : https://help.launchpad.net/ListHelp
[Zorba-coders] [Merge] lp:~nbrinza/zorba/parse-fragment into lp:zorba
Validation queue starting for merge proposal. Log at: http://zorbatest.lambda.nu:8080/remotequeue/parse-fragment-2012-08-30T08-02-09.972Z/log.html -- https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/121884 Your team Zorba Coders is subscribed to branch lp:zorba. -- Mailing list: https://launchpad.net/~zorba-coders Post to : zorba-coders@lists.launchpad.net Unsubscribe : https://launchpad.net/~zorba-coders More help : https://help.launchpad.net/ListHelp
[Zorba-coders] [Merge] lp:~nbrinza/zorba/parse-fragment into lp:zorba
The proposal to merge lp:~nbrinza/zorba/parse-fragment into lp:zorba has been updated. Status: Needs review => Approved For more details, see: https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/121884 -- https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/121884 Your team Zorba Coders is subscribed to branch lp:zorba. -- Mailing list: https://launchpad.net/~zorba-coders Post to : zorba-coders@lists.launchpad.net Unsubscribe : https://launchpad.net/~zorba-coders More help : https://help.launchpad.net/ListHelp
Re: [Zorba-coders] [Merge] lp:~nbrinza/zorba/parse-fragment into lp:zorba
Review: Approve -- https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/121884 Your team Zorba Coders is subscribed to branch lp:zorba. -- Mailing list: https://launchpad.net/~zorba-coders Post to : zorba-coders@lists.launchpad.net Unsubscribe : https://launchpad.net/~zorba-coders More help : https://help.launchpad.net/ListHelp
[Zorba-coders] [Merge] lp:~nbrinza/zorba/parse-fragment into lp:zorba
The proposal to merge lp:~nbrinza/zorba/parse-fragment into lp:zorba has been updated. Status: Approved => Needs review For more details, see: https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/121884 -- https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/121884 Your team Zorba Coders is subscribed to branch lp:zorba. -- Mailing list: https://launchpad.net/~zorba-coders Post to : zorba-coders@lists.launchpad.net Unsubscribe : https://launchpad.net/~zorba-coders More help : https://help.launchpad.net/ListHelp
Re: [Zorba-coders] [Merge] lp:~nbrinza/zorba/parse-fragment into lp:zorba
Voting does not meet specified criteria. Required: Approve > 1, Disapprove < 1, Needs Fixing < 1, Pending < 1. Got: 1 Approve, 1 Pending. -- https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/121884 Your team Zorba Coders is subscribed to branch lp:zorba. -- Mailing list: https://launchpad.net/~zorba-coders Post to : zorba-coders@lists.launchpad.net Unsubscribe : https://launchpad.net/~zorba-coders More help : https://help.launchpad.net/ListHelp
[Zorba-coders] [Merge] lp:~nbrinza/zorba/parse-fragment into lp:zorba
Validation queue job parse-fragment-2012-08-30T00-12-33.526Z is finished. The final status was: All tests succeeded! -- https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/121884 Your team Zorba Coders is subscribed to branch lp:zorba. -- Mailing list: https://launchpad.net/~zorba-coders Post to : zorba-coders@lists.launchpad.net Unsubscribe : https://launchpad.net/~zorba-coders More help : https://help.launchpad.net/ListHelp
[Zorba-coders] [Merge] lp:~nbrinza/zorba/parse-fragment into lp:zorba
Validation queue starting for merge proposal. Log at: http://zorbatest.lambda.nu:8080/remotequeue/parse-fragment-2012-08-30T00-12-33.526Z/log.html -- https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/121884 Your team Zorba Coders is subscribed to branch lp:zorba. -- Mailing list: https://launchpad.net/~zorba-coders Post to : zorba-coders@lists.launchpad.net Unsubscribe : https://launchpad.net/~zorba-coders More help : https://help.launchpad.net/ListHelp
[Zorba-coders] [Merge] lp:~nbrinza/zorba/parse-fragment into lp:zorba
The proposal to merge lp:~nbrinza/zorba/parse-fragment into lp:zorba has been updated. Status: Needs review => Approved For more details, see: https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/121884 -- https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/121884 Your team Zorba Coders is subscribed to branch lp:zorba. -- Mailing list: https://launchpad.net/~zorba-coders Post to : zorba-coders@lists.launchpad.net Unsubscribe : https://launchpad.net/~zorba-coders More help : https://help.launchpad.net/ListHelp
Re: [Zorba-coders] [Merge] lp:~nbrinza/zorba/parse-fragment into lp:zorba
Review: Approve -- https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/121884 Your team Zorba Coders is subscribed to branch lp:zorba. -- Mailing list: https://launchpad.net/~zorba-coders Post to : zorba-coders@lists.launchpad.net Unsubscribe : https://launchpad.net/~zorba-coders More help : https://help.launchpad.net/ListHelp
[Zorba-coders] [Merge] lp:~nbrinza/zorba/parse-fragment into lp:zorba
The proposal to merge lp:~nbrinza/zorba/parse-fragment into lp:zorba has been updated. Commit Message changed to: Fixes for bugs #1023170, #1024033, #1027270 For more details, see: https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/121884 -- https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/121884 Your team Zorba Coders is subscribed to branch lp:zorba. -- Mailing list: https://launchpad.net/~zorba-coders Post to : zorba-coders@lists.launchpad.net Unsubscribe : https://launchpad.net/~zorba-coders More help : https://help.launchpad.net/ListHelp
Re: [Zorba-coders] [Merge] lp:~nbrinza/zorba/parse-fragment into lp:zorba
Updated the Changelog. (And re-merged with the trunk, to make sure there are no conflicts). -- https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/121884 Your team Zorba Coders is subscribed to branch lp:zorba. -- Mailing list: https://launchpad.net/~zorba-coders Post to : zorba-coders@lists.launchpad.net Unsubscribe : https://launchpad.net/~zorba-coders More help : https://help.launchpad.net/ListHelp
[Zorba-coders] [Merge] lp:~nbrinza/zorba/parse-fragment into lp:zorba
Nicolae Brinza has proposed merging lp:~nbrinza/zorba/parse-fragment into lp:zorba. Requested reviews: Chris Hillery (ceejatec) Matthias Brantner (matthias-brantner) Related bugs: Bug #1016606 in Zorba: "xml:parse unable to parse content containing a DOCTYPE" https://bugs.launchpad.net/zorba/+bug/1016606 Bug #1023170 in Zorba: "Segfault in xml:parse" https://bugs.launchpad.net/zorba/+bug/1023170 Bug #1024033 in Zorba: "segfault in parse-xml:parse()" https://bugs.launchpad.net/zorba/+bug/1024033 Bug #1027270 in Zorba: "xml:parse() - infinite loop" https://bugs.launchpad.net/zorba/+bug/1027270 For more details, see: https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/121884 Fixes for bugs #1023170, #1024033, #1027270 -- https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/121884 Your team Zorba Coders is subscribed to branch lp:zorba. === modified file 'ChangeLog' --- ChangeLog 2012-08-29 11:12:58 + +++ ChangeLog 2012-08-29 15:25:24 + @@ -4,11 +4,14 @@ New Features: * Allow prolog variables to be referenced before they are declared (XQuery 3.0 feature) + * xml:parse (fragment parsing) now allows for a DOCTYPE declaration at the +beginning of the XML document (requested in bug #1016606). Optimizations: * New memory management for compiler expressions (no more ref counting) Bug Fixes/Other Changes: + * Fixed bug #1024033 and #1023170 (segfaults in parse-xml:parse()) * Fixed bug #898792 (Dynamically computed strings can now be cast to xs:QName) * Fixed bugs #899364 and 899363 (throw XQST0103 in case of non-distinct window variables) === modified file 'src/runtime/parsing_and_serializing/fragment_istream.h' --- src/runtime/parsing_and_serializing/fragment_istream.h 2012-08-29 11:12:58 + +++ src/runtime/parsing_and_serializing/fragment_istream.h 2012-08-29 15:25:24 + @@ -30,8 +30,7 @@ class FragmentIStream : public std::istream { public: - static const unsigned int BUFFER_SIZE = 4096; - static const unsigned int LOOKAHEAD_BYTES = 3; // lookahead fetching is implemented, but currently not used + static const unsigned int DEFAULT_BUFFER_SIZE = 4096; static const unsigned int PARSED_NODES_BATCH_SIZE = 1024; // names of these states are orientative @@ -44,7 +43,8 @@ public: std::istringstream* theIss; std::istream* theStream; - char* theBuffer; + StreamReleaser theStreamReleaser; + std::vector theBuffer; unsigned long bytes_in_buffer; unsigned long current_offset; int current_element_depth; @@ -64,7 +64,7 @@ std::istream(NULL), theIss(NULL), theStream(NULL), -theBuffer(NULL), +theStreamReleaser(nullptr), bytes_in_buffer(0), current_offset(0), current_element_depth(0), @@ -83,18 +83,30 @@ { return reached_eof && current_offset >= bytes_in_buffer; } + + StreamReleaser getStreamReleaser() + { +return theStreamReleaser; + } + + void setStreamReleaser(StreamReleaser aReleaser) + { +theStreamReleaser = aReleaser; + } void reset() { -if (theBuffer) -{ - delete[] theBuffer; -} +theBuffer.clear(); if (theIss) { delete theIss; } + +if (theStreamReleaser) +{ + theStreamReleaser(theStream); +} if (ctxt) { @@ -104,7 +116,6 @@ theIss = NULL; theStream = NULL; -theBuffer = NULL; bytes_in_buffer = 0; current_offset = 0; current_element_depth = 0; @@ -117,7 +128,7 @@ children = NULL; only_one_doc_node = false; } - + virtual ~FragmentIStream() { reset(); === modified file 'src/runtime/parsing_and_serializing/parse_fragment_impl.cpp' --- src/runtime/parsing_and_serializing/parse_fragment_impl.cpp 2012-08-29 11:12:58 + +++ src/runtime/parsing_and_serializing/parse_fragment_impl.cpp 2012-08-29 15:25:24 + @@ -197,6 +197,8 @@ if (result->isStreamable()) { state->theFragmentStream.theStream = &result->getStream(); + state->theFragmentStream.setStreamReleaser(result->getStreamReleaser()); + result->setStreamReleaser(nullptr); } else { === modified file 'src/store/naive/loader_dtd.cpp' --- src/store/naive/loader_dtd.cpp 2012-08-29 11:12:58 + +++ src/store/naive/loader_dtd.cpp 2012-08-29 15:25:24 + @@ -153,13 +153,13 @@ { if (theFragmentStream->ctxt->input->length > 0 && theFragmentStream->current_offset < theFragmentStream->bytes_in_buffer) { -memmove(theFragmentStream->theBuffer, theFragmentStream->theBuffer + theFragmentStream->current_offset, +memmove(&theFragmentStream->theBuffer[0], &theFragmentStream->theBuffer[0] + theFragmentStream->current_offset, theFragmentStream->bytes_in_buffer - theFragmentStream->current_offset); } theFragmentStream->bytes_in_buffer -= theFragmentStream->current_offset; - std::streamsize numChars = readPacket(*theFragmentStream->theStream, theFragmentStream->theBuffer + theFragm
Re: [Zorba-coders] [Merge] lp:~nbrinza/zorba/parse-fragment into lp:zorba
Review: Needs Fixing Could you please add the changes to the ChangeLog? -- https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/117814 Your team Zorba Coders is subscribed to branch lp:zorba. -- Mailing list: https://launchpad.net/~zorba-coders Post to : zorba-coders@lists.launchpad.net Unsubscribe : https://launchpad.net/~zorba-coders More help : https://help.launchpad.net/ListHelp
[Zorba-coders] [Merge] lp:~nbrinza/zorba/parse-fragment into lp:zorba
The proposal to merge lp:~nbrinza/zorba/parse-fragment into lp:zorba has been updated. Status: Approved => Needs review For more details, see: https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/117814 -- https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/117814 Your team Zorba Coders is subscribed to branch lp:zorba. -- Mailing list: https://launchpad.net/~zorba-coders Post to : zorba-coders@lists.launchpad.net Unsubscribe : https://launchpad.net/~zorba-coders More help : https://help.launchpad.net/ListHelp
Re: [Zorba-coders] [Merge] lp:~nbrinza/zorba/parse-fragment into lp:zorba
Voting does not meet specified criteria. Required: Approve > 1, Disapprove < 1, Needs Fixing < 1, Pending < 1. Got: 2 Pending. -- https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/117814 Your team Zorba Coders is subscribed to branch lp:zorba. -- Mailing list: https://launchpad.net/~zorba-coders Post to : zorba-coders@lists.launchpad.net Unsubscribe : https://launchpad.net/~zorba-coders More help : https://help.launchpad.net/ListHelp
[Zorba-coders] [Merge] lp:~nbrinza/zorba/parse-fragment into lp:zorba
Validation queue job parse-fragment-2012-08-01T22-40-58.445Z is finished. The final status was: All tests succeeded! -- https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/117814 Your team Zorba Coders is subscribed to branch lp:zorba. -- Mailing list: https://launchpad.net/~zorba-coders Post to : zorba-coders@lists.launchpad.net Unsubscribe : https://launchpad.net/~zorba-coders More help : https://help.launchpad.net/ListHelp
[Zorba-coders] [Merge] lp:~nbrinza/zorba/parse-fragment into lp:zorba
Validation queue starting for merge proposal. Log at: http://zorbatest.lambda.nu:8080/remotequeue/parse-fragment-2012-08-01T22-40-58.445Z/log.html -- https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/117814 Your team Zorba Coders is subscribed to branch lp:zorba. -- Mailing list: https://launchpad.net/~zorba-coders Post to : zorba-coders@lists.launchpad.net Unsubscribe : https://launchpad.net/~zorba-coders More help : https://help.launchpad.net/ListHelp
[Zorba-coders] [Merge] lp:~nbrinza/zorba/parse-fragment into lp:zorba
The proposal to merge lp:~nbrinza/zorba/parse-fragment into lp:zorba has been updated. Status: Needs review => Approved For more details, see: https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/117814 -- https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/117814 Your team Zorba Coders is subscribed to branch lp:zorba. -- Mailing list: https://launchpad.net/~zorba-coders Post to : zorba-coders@lists.launchpad.net Unsubscribe : https://launchpad.net/~zorba-coders More help : https://help.launchpad.net/ListHelp
[Zorba-coders] [Merge] lp:~nbrinza/zorba/parse-fragment into lp:zorba
Nicolae Brinza has proposed merging lp:~nbrinza/zorba/parse-fragment into lp:zorba. Requested reviews: Matthias Brantner (matthias-brantner) Chris Hillery (ceejatec) Related bugs: Bug #1016606 in Zorba: "xml:parse unable to parse content containing a DOCTYPE" https://bugs.launchpad.net/zorba/+bug/1016606 Bug #1023170 in Zorba: "Segfault in xml:parse" https://bugs.launchpad.net/zorba/+bug/1023170 Bug #1024033 in Zorba: "segfault in parse-xml:parse()" https://bugs.launchpad.net/zorba/+bug/1024033 Bug #1027270 in Zorba: "xml:parse() - infinite loop" https://bugs.launchpad.net/zorba/+bug/1027270 For more details, see: https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/117814 Fixes for bugs #1023170, #1024033, #1027270 -- https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/117814 Your team Zorba Coders is subscribed to branch lp:zorba. === modified file 'src/runtime/parsing_and_serializing/fragment_istream.h' --- src/runtime/parsing_and_serializing/fragment_istream.h 2012-07-24 08:48:48 + +++ src/runtime/parsing_and_serializing/fragment_istream.h 2012-08-01 22:40:26 + @@ -30,8 +30,7 @@ class FragmentIStream : public std::istream { public: - static const unsigned int BUFFER_SIZE = 4096; - static const unsigned int LOOKAHEAD_BYTES = 3; // lookahead fetching is implemented, but currently not used + static const unsigned int DEFAULT_BUFFER_SIZE = 4096; static const unsigned int PARSED_NODES_BATCH_SIZE = 1024; // names of these states are orientative @@ -44,7 +43,8 @@ public: std::istringstream* theIss; std::istream* theStream; - char* theBuffer; + StreamReleaser theStreamReleaser; + std::vector theBuffer; unsigned long bytes_in_buffer; unsigned long current_offset; int current_element_depth; @@ -64,7 +64,7 @@ std::istream(NULL), theIss(NULL), theStream(NULL), -theBuffer(NULL), +theStreamReleaser(nullptr), bytes_in_buffer(0), current_offset(0), current_element_depth(0), @@ -83,18 +83,30 @@ { return reached_eof && current_offset >= bytes_in_buffer; } + + StreamReleaser getStreamReleaser() + { +return theStreamReleaser; + } + + void setStreamReleaser(StreamReleaser aReleaser) + { +theStreamReleaser = aReleaser; + } void reset() { -if (theBuffer) -{ - delete[] theBuffer; -} +theBuffer.clear(); if (theIss) { delete theIss; } + +if (theStreamReleaser) +{ + theStreamReleaser(theStream); +} if (ctxt) { @@ -104,7 +116,6 @@ theIss = NULL; theStream = NULL; -theBuffer = NULL; bytes_in_buffer = 0; current_offset = 0; current_element_depth = 0; @@ -117,7 +128,7 @@ children = NULL; only_one_doc_node = false; } - + virtual ~FragmentIStream() { reset(); === modified file 'src/runtime/parsing_and_serializing/parse_fragment_impl.cpp' --- src/runtime/parsing_and_serializing/parse_fragment_impl.cpp 2012-07-24 08:48:48 + +++ src/runtime/parsing_and_serializing/parse_fragment_impl.cpp 2012-08-01 22:40:26 + @@ -197,6 +197,8 @@ if (result->isStreamable()) { state->theFragmentStream.theStream = &result->getStream(); + state->theFragmentStream.setStreamReleaser(result->getStreamReleaser()); + result->setStreamReleaser(nullptr); } else { === modified file 'src/store/naive/loader_dtd.cpp' --- src/store/naive/loader_dtd.cpp 2012-07-24 08:48:48 + +++ src/store/naive/loader_dtd.cpp 2012-08-01 22:40:26 + @@ -153,13 +153,13 @@ { if (theFragmentStream->ctxt->input->length > 0 && theFragmentStream->current_offset < theFragmentStream->bytes_in_buffer) { -memmove(theFragmentStream->theBuffer, theFragmentStream->theBuffer + theFragmentStream->current_offset, +memmove(&theFragmentStream->theBuffer[0], &theFragmentStream->theBuffer[0] + theFragmentStream->current_offset, theFragmentStream->bytes_in_buffer - theFragmentStream->current_offset); } theFragmentStream->bytes_in_buffer -= theFragmentStream->current_offset; - std::streamsize numChars = readPacket(*theFragmentStream->theStream, theFragmentStream->theBuffer + theFragmentStream->bytes_in_buffer, - FragmentIStream::BUFFER_SIZE+FragmentIStream::LOOKAHEAD_BYTES - theFragmentStream->bytes_in_buffer); + std::streamsize numChars = readPacket(*theFragmentStream->theStream, &theFragmentStream->theBuffer[0] + theFragmentStream->bytes_in_buffer, + theFragmentStream->theBuffer.size() - 1 - theFragmentStream->bytes_in_buffer); if (numChars < 0) { theXQueryDiagnostics->add_error(NEW_ZORBA_EXCEPTION(zerr::ZSTR0020_LOADER_IO_ERROR)); @@ -171,13 +171,12 @@ theFragmentStream->bytes_in_buffer += numChars; theFragmentStream->current_offset = 0; - theFragmentStream->ctxt->input->base = (xmlChar*)(theFragmentStream->theBuffer)
[Zorba-coders] [Merge] lp:~nbrinza/zorba/parse-fragment into lp:zorba
The proposal to merge lp:~nbrinza/zorba/parse-fragment into lp:zorba has been updated. Status: Approved => Merged For more details, see: https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/115377 -- https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/115377 Your team Zorba Coders is subscribed to branch lp:zorba. -- Mailing list: https://launchpad.net/~zorba-coders Post to : zorba-coders@lists.launchpad.net Unsubscribe : https://launchpad.net/~zorba-coders More help : https://help.launchpad.net/ListHelp
[Zorba-coders] [Merge] lp:~nbrinza/zorba/parse-fragment into lp:zorba
Validation queue job parse-fragment-2012-07-17T16-40-56.285Z is finished. The final status was: All tests succeeded! -- https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/115377 Your team Zorba Coders is subscribed to branch lp:zorba. -- Mailing list: https://launchpad.net/~zorba-coders Post to : zorba-coders@lists.launchpad.net Unsubscribe : https://launchpad.net/~zorba-coders More help : https://help.launchpad.net/ListHelp
[Zorba-coders] [Merge] lp:~nbrinza/zorba/parse-fragment into lp:zorba
Validation queue starting for merge proposal. Log at: http://zorbatest.lambda.nu:8080/remotequeue/parse-fragment-2012-07-17T16-40-56.285Z/log.html -- https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/115377 Your team Zorba Coders is subscribed to branch lp:zorba. -- Mailing list: https://launchpad.net/~zorba-coders Post to : zorba-coders@lists.launchpad.net Unsubscribe : https://launchpad.net/~zorba-coders More help : https://help.launchpad.net/ListHelp
[Zorba-coders] [Merge] lp:~nbrinza/zorba/parse-fragment into lp:zorba
The proposal to merge lp:~nbrinza/zorba/parse-fragment into lp:zorba has been updated. Status: Needs review => Approved For more details, see: https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/115377 -- https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/115377 Your team Zorba Coders is subscribed to branch lp:zorba. -- Mailing list: https://launchpad.net/~zorba-coders Post to : zorba-coders@lists.launchpad.net Unsubscribe : https://launchpad.net/~zorba-coders More help : https://help.launchpad.net/ListHelp
Re: [Zorba-coders] [Merge] lp:~nbrinza/zorba/parse-fragment into lp:zorba
Review: Approve -- https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/115377 Your team Zorba Coders is subscribed to branch lp:zorba. -- Mailing list: https://launchpad.net/~zorba-coders Post to : zorba-coders@lists.launchpad.net Unsubscribe : https://launchpad.net/~zorba-coders More help : https://help.launchpad.net/ListHelp
[Zorba-coders] [Merge] lp:~nbrinza/zorba/parse-fragment into lp:zorba
The proposal to merge lp:~nbrinza/zorba/parse-fragment into lp:zorba has been updated. Status: Approved => Needs review For more details, see: https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/115377 -- https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/115377 Your team Zorba Coders is subscribed to branch lp:zorba. -- Mailing list: https://launchpad.net/~zorba-coders Post to : zorba-coders@lists.launchpad.net Unsubscribe : https://launchpad.net/~zorba-coders More help : https://help.launchpad.net/ListHelp
Re: [Zorba-coders] [Merge] lp:~nbrinza/zorba/parse-fragment into lp:zorba
Voting does not meet specified criteria. Required: Approve > 1, Disapprove < 1, Needs Fixing < 1, Pending < 1. Got: 1 Approve. -- https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/115377 Your team Zorba Coders is subscribed to branch lp:zorba. -- Mailing list: https://launchpad.net/~zorba-coders Post to : zorba-coders@lists.launchpad.net Unsubscribe : https://launchpad.net/~zorba-coders More help : https://help.launchpad.net/ListHelp
[Zorba-coders] [Merge] lp:~nbrinza/zorba/parse-fragment into lp:zorba
Validation queue job parse-fragment-2012-07-17T16-09-59.336Z is finished. The final status was: All tests succeeded! -- https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/115377 Your team Zorba Coders is subscribed to branch lp:zorba. -- Mailing list: https://launchpad.net/~zorba-coders Post to : zorba-coders@lists.launchpad.net Unsubscribe : https://launchpad.net/~zorba-coders More help : https://help.launchpad.net/ListHelp
[Zorba-coders] [Merge] lp:~nbrinza/zorba/parse-fragment into lp:zorba
Validation queue starting for merge proposal. Log at: http://zorbatest.lambda.nu:8080/remotequeue/parse-fragment-2012-07-17T16-09-59.336Z/log.html -- https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/115377 Your team Zorba Coders is subscribed to branch lp:zorba. -- Mailing list: https://launchpad.net/~zorba-coders Post to : zorba-coders@lists.launchpad.net Unsubscribe : https://launchpad.net/~zorba-coders More help : https://help.launchpad.net/ListHelp
[Zorba-coders] [Merge] lp:~nbrinza/zorba/parse-fragment into lp:zorba
The proposal to merge lp:~nbrinza/zorba/parse-fragment into lp:zorba has been updated. Status: Needs review => Approved For more details, see: https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/115377 -- https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/115377 Your team Zorba Coders is subscribed to branch lp:zorba. -- Mailing list: https://launchpad.net/~zorba-coders Post to : zorba-coders@lists.launchpad.net Unsubscribe : https://launchpad.net/~zorba-coders More help : https://help.launchpad.net/ListHelp
Re: [Zorba-coders] [Merge] lp:~nbrinza/zorba/parse-fragment into lp:zorba
Review: Approve -- https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/115377 Your team Zorba Coders is subscribed to branch lp:zorba. -- Mailing list: https://launchpad.net/~zorba-coders Post to : zorba-coders@lists.launchpad.net Unsubscribe : https://launchpad.net/~zorba-coders More help : https://help.launchpad.net/ListHelp
[Zorba-coders] [Merge] lp:~nbrinza/zorba/parse-fragment into lp:zorba
The proposal to merge lp:~nbrinza/zorba/parse-fragment into lp:zorba has been updated. Commit Message changed to: The parse-fragment function now allows a DOCTYPE declaration in the input. For more details, see: https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/115377 -- https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/115377 Your team Zorba Coders is subscribed to branch lp:zorba. -- Mailing list: https://launchpad.net/~zorba-coders Post to : zorba-coders@lists.launchpad.net Unsubscribe : https://launchpad.net/~zorba-coders More help : https://help.launchpad.net/ListHelp
Re: [Zorba-coders] [Merge] lp:~nbrinza/zorba/parse-fragment into lp:zorba
Actually it is a new feature, as the XML spec does not allow for DOCTYPE declarations in external parsed entities, and the implementation in the trunk is conformant to the spec. The bug merely registers the request from the user. I've mentioned the change in both sections of the Changelog, just in case :). -- https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/115377 Your team Zorba Coders is subscribed to branch lp:zorba. -- Mailing list: https://launchpad.net/~zorba-coders Post to : zorba-coders@lists.launchpad.net Unsubscribe : https://launchpad.net/~zorba-coders More help : https://help.launchpad.net/ListHelp
[Zorba-coders] [Merge] lp:~nbrinza/zorba/parse-fragment into lp:zorba
Nicolae Brinza has proposed merging lp:~nbrinza/zorba/parse-fragment into lp:zorba. Requested reviews: Matthias Brantner (matthias-brantner) For more details, see: https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/115377 The parse-fragment function now allows a DOCTYPE declaration in the input. -- https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/115377 Your team Zorba Coders is subscribed to branch lp:zorba. === modified file 'ChangeLog' --- ChangeLog 2012-07-12 17:29:55 + +++ ChangeLog 2012-07-17 15:50:41 + @@ -4,6 +4,8 @@ version 2.x New Features: + * The parse-fragment function now allows a DOCTYPE declaration in the input. +(Also fixed bug #1016606 with the feature request). * Implemented the new EQName syntax (use Q{namespace}local instead of "namespace":local). Also updated the fn:path() function. * Item::isSeekable API extension for streamable content (xs:string and xs:base64Binary). @@ -30,6 +32,7 @@ * Streaming execution for tumbling windows (also fixes bug #1010051). Bug Fixes/Other Changes: + * Fixed bug #1016606 (DOCTYPE in the input of the parse-fragment function) * Fixed bug #1002993 (bug during revalidation after update; improper condition for calling TypeOps::get_atomic_type_code() from SchemaValidatorImpl::isPossibleSimpleContentRevalImpl()) === modified file 'modules/com/zorba-xquery/www/modules/xml-options.xsd' --- modules/com/zorba-xquery/www/modules/xml-options.xsd 2012-07-12 17:29:55 + +++ modules/com/zorba-xquery/www/modules/xml-options.xsd 2012-07-17 15:50:41 + @@ -61,6 +61,7 @@ + === modified file 'modules/com/zorba-xquery/www/modules/xml.xq' --- modules/com/zorba-xquery/www/modules/xml.xq 2012-07-12 17:29:55 + +++ modules/com/zorba-xquery/www/modules/xml.xq 2012-07-17 15:50:41 + @@ -141,7 +141,11 @@ : external entities. If the option : is enabled, the input must conform to the syntax extParsedEnt (production : [78] in XML 1.0, see http://www.w3.org/TR/xml/#wf-entities";> - : Well-Formed Parsed Entities). The result of the function call is a list + : Well-Formed Parsed Entities). In addition, by default a DOCTYPE declaration is allowed, + : as described by the [28] doctypedecl production, see http://www.w3.org/TR/xml/#NT-doctypedecl";> + : Document Type Definition. A parameter is available to forbid the appearance of the DOCTYPE. + : + : The result of the function call is a list : of nodes corresponding to the top-level components of the content of the : external entity: that is, elements, processing instructions, comments, and : text nodes. CDATA sections and character references are expanded, and @@ -151,7 +155,7 @@ : (http://www.w3.org/TR/xml/#sec-well-formed";>production [1] in XML 1.0). : This option can not be used together with either theor the : option. Doing so will raise a zerr:ZXQD0003 error. - : The option has two parameters, given by attributes. The first + : The option has three parameters, given by attributes. The first : attribute is "skip-root-nodes" and it can have a non-negative value. Specifying the paramter : tells the parser to skip the given number of root nodes and return only their children. E.g. : skip-root-nodes="1" is equivalent to parse-xml($xml-string)/node()/node() . skip-root-nodes="2" is equivalent @@ -159,7 +163,8 @@ : boolean value. Specifying "true" will tell the parser to skip top level text nodes, returning : only the top level elements, comments, PIs, etc. This parameter works in combination with : the "skip-root-nodes" paramter, thus top level text nodes are skipped after "skip-root-nodes" has - : been applied. + : been applied. The third paramter is "error-on-doctype" and will generate an error if a DOCTYPE + : declaration appears in the input, which by default is allowed. : : : === modified file 'src/diagnostics/diagnostic_en.xml' --- src/diagnostics/diagnostic_en.xml 2012-07-12 17:29:55 + +++ src/diagnostics/diagnostic_en.xml 2012-07-17 15:50:41 + @@ -3834,7 +3834,15 @@ - invalid options passed to the parse-xml:parse() function, the element must in the schema target namespace + invalid options passed to the parse-xml:parse() function, the element must be in the schema target namespace + + + + a DOCTYPE declaration is not allowed + + + + a DOCTYPE declaration must appear before any element or text node, and at most once === modified file 'src/diagnostics/pregenerated/dict_en.cpp' --- src/diagnostics/pregenerated/dict_en.cpp 2012-07-12 17:29:55 + +++ src/diagnostics/pregenerated/dict_en.cpp 2012-07-17 15:50:41 + @@ -670,7 +670,9 @@ { "~OpNodeBeforeMustHaveNodes", "op:node-before() must have nodes as
Re: [Zorba-coders] [Merge] lp:~nbrinza/zorba/parse-fragment into lp:zorba
Review: Needs Fixing ChangeLog should mention the fix of bug https://bugs.launchpad.net/zorba/+bug/1016606. In fact, the patch fixes a bug and is not a new feature. ;-) -- https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/115344 Your team Zorba Coders is subscribed to branch lp:zorba. -- Mailing list: https://launchpad.net/~zorba-coders Post to : zorba-coders@lists.launchpad.net Unsubscribe : https://launchpad.net/~zorba-coders More help : https://help.launchpad.net/ListHelp
[Zorba-coders] [Merge] lp:~nbrinza/zorba/parse-fragment into lp:zorba
The proposal to merge lp:~nbrinza/zorba/parse-fragment into lp:zorba has been updated. Status: Approved => Needs review For more details, see: https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/115344 -- https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/115344 Your team Zorba Coders is requested to review the proposed merge of lp:~nbrinza/zorba/parse-fragment into lp:zorba. -- Mailing list: https://launchpad.net/~zorba-coders Post to : zorba-coders@lists.launchpad.net Unsubscribe : https://launchpad.net/~zorba-coders More help : https://help.launchpad.net/ListHelp
Re: [Zorba-coders] [Merge] lp:~nbrinza/zorba/parse-fragment into lp:zorba
Voting does not meet specified criteria. Required: Approve > 1, Disapprove < 1, Needs Fixing < 1, Pending < 1. Got: 1 Pending. -- https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/115344 Your team Zorba Coders is requested to review the proposed merge of lp:~nbrinza/zorba/parse-fragment into lp:zorba. -- Mailing list: https://launchpad.net/~zorba-coders Post to : zorba-coders@lists.launchpad.net Unsubscribe : https://launchpad.net/~zorba-coders More help : https://help.launchpad.net/ListHelp
[Zorba-coders] [Merge] lp:~nbrinza/zorba/parse-fragment into lp:zorba
Validation queue job parse-fragment-2012-07-17T13-46-58.988Z is finished. The final status was: All tests succeeded! -- https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/115345 Your team Zorba Coders is requested to review the proposed merge of lp:~nbrinza/zorba/parse-fragment into lp:zorba. -- Mailing list: https://launchpad.net/~zorba-coders Post to : zorba-coders@lists.launchpad.net Unsubscribe : https://launchpad.net/~zorba-coders More help : https://help.launchpad.net/ListHelp
[Zorba-coders] [Merge] lp:~nbrinza/zorba/parse-fragment into lp:zorba
The proposal to merge lp:~nbrinza/zorba/parse-fragment into lp:zorba has been updated. Status: Needs review => Approved For more details, see: https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/115344 -- https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/115344 Your team Zorba Coders is requested to review the proposed merge of lp:~nbrinza/zorba/parse-fragment into lp:zorba. -- Mailing list: https://launchpad.net/~zorba-coders Post to : zorba-coders@lists.launchpad.net Unsubscribe : https://launchpad.net/~zorba-coders More help : https://help.launchpad.net/ListHelp
[Zorba-coders] [Merge] lp:~nbrinza/zorba/parse-fragment into lp:zorba
Validation queue starting for merge proposal. Log at: http://zorbatest.lambda.nu:8080/remotequeue/parse-fragment-2012-07-17T13-46-58.988Z/log.html -- https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/115345 Your team Zorba Coders is requested to review the proposed merge of lp:~nbrinza/zorba/parse-fragment into lp:zorba. -- Mailing list: https://launchpad.net/~zorba-coders Post to : zorba-coders@lists.launchpad.net Unsubscribe : https://launchpad.net/~zorba-coders More help : https://help.launchpad.net/ListHelp
[Zorba-coders] [Merge] lp:~nbrinza/zorba/parse-fragment into lp:zorba
The proposal to merge lp:~nbrinza/zorba/parse-fragment into lp:zorba has been updated. Commit Message changed to: The parse-fragment function now allows a DOCTYPE declaration in the input. For more details, see: https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/115344 -- https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/115344 Your team Zorba Coders is requested to review the proposed merge of lp:~nbrinza/zorba/parse-fragment into lp:zorba. -- Mailing list: https://launchpad.net/~zorba-coders Post to : zorba-coders@lists.launchpad.net Unsubscribe : https://launchpad.net/~zorba-coders More help : https://help.launchpad.net/ListHelp
[Zorba-coders] [Merge] lp:~nbrinza/zorba/parse-fragment into lp:zorba
Nicolae Brinza has proposed merging lp:~nbrinza/zorba/parse-fragment into lp:zorba. Requested reviews: Zorba Coders (zorba-coders) For more details, see: https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/115345 The parse-fragment function now allows a DOCTYPE declaration in the input. -- https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/115345 Your team Zorba Coders is requested to review the proposed merge of lp:~nbrinza/zorba/parse-fragment into lp:zorba. === modified file 'ChangeLog' --- ChangeLog 2012-07-12 17:29:55 + +++ ChangeLog 2012-07-17 13:46:58 + @@ -4,6 +4,7 @@ version 2.x New Features: + * The parse-fragment function now allows a DOCTYPE declaration in the input. * Implemented the new EQName syntax (use Q{namespace}local instead of "namespace":local). Also updated the fn:path() function. * Item::isSeekable API extension for streamable content (xs:string and xs:base64Binary). === modified file 'modules/com/zorba-xquery/www/modules/xml-options.xsd' --- modules/com/zorba-xquery/www/modules/xml-options.xsd 2012-07-12 17:29:55 + +++ modules/com/zorba-xquery/www/modules/xml-options.xsd 2012-07-17 13:46:58 + @@ -61,6 +61,7 @@ + === modified file 'modules/com/zorba-xquery/www/modules/xml.xq' --- modules/com/zorba-xquery/www/modules/xml.xq 2012-07-12 17:29:55 + +++ modules/com/zorba-xquery/www/modules/xml.xq 2012-07-17 13:46:58 + @@ -141,7 +141,11 @@ : external entities. If the option : is enabled, the input must conform to the syntax extParsedEnt (production : [78] in XML 1.0, see http://www.w3.org/TR/xml/#wf-entities";> - : Well-Formed Parsed Entities). The result of the function call is a list + : Well-Formed Parsed Entities). In addition, by default a DOCTYPE declaration is allowed, + : as described by the [28] doctypedecl production, see http://www.w3.org/TR/xml/#NT-doctypedecl";> + : Document Type Definition. A parameter is available to forbid the appearance of the DOCTYPE. + : + : The result of the function call is a list : of nodes corresponding to the top-level components of the content of the : external entity: that is, elements, processing instructions, comments, and : text nodes. CDATA sections and character references are expanded, and @@ -151,7 +155,7 @@ : (http://www.w3.org/TR/xml/#sec-well-formed";>production [1] in XML 1.0). : This option can not be used together with either theor the : option. Doing so will raise a zerr:ZXQD0003 error. - : The option has two parameters, given by attributes. The first + : The option has three parameters, given by attributes. The first : attribute is "skip-root-nodes" and it can have a non-negative value. Specifying the paramter : tells the parser to skip the given number of root nodes and return only their children. E.g. : skip-root-nodes="1" is equivalent to parse-xml($xml-string)/node()/node() . skip-root-nodes="2" is equivalent @@ -159,7 +163,8 @@ : boolean value. Specifying "true" will tell the parser to skip top level text nodes, returning : only the top level elements, comments, PIs, etc. This parameter works in combination with : the "skip-root-nodes" paramter, thus top level text nodes are skipped after "skip-root-nodes" has - : been applied. + : been applied. The third paramter is "error-on-doctype" and will generate an error if a DOCTYPE + : declaration appears in the input, which by default is allowed. : : : === modified file 'src/diagnostics/diagnostic_en.xml' --- src/diagnostics/diagnostic_en.xml 2012-07-12 17:29:55 + +++ src/diagnostics/diagnostic_en.xml 2012-07-17 13:46:58 + @@ -3834,7 +3834,15 @@ - invalid options passed to the parse-xml:parse() function, the element must in the schema target namespace + invalid options passed to the parse-xml:parse() function, the element must be in the schema target namespace + + + + a DOCTYPE declaration is not allowed + + + + a DOCTYPE declaration must appear before any element or text node, and at most once === modified file 'src/diagnostics/pregenerated/dict_en.cpp' --- src/diagnostics/pregenerated/dict_en.cpp 2012-07-12 17:29:55 + +++ src/diagnostics/pregenerated/dict_en.cpp 2012-07-17 13:46:58 + @@ -670,7 +670,9 @@ { "~OpNodeBeforeMustHaveNodes", "op:node-before() must have nodes as parameters" }, { "~OperationNotDef_23", "$2 not defined for type \"$3\"" }, { "~OperationNotPossibleWithTypes_234", "\"$2\": operation not possible with parameters of type \"$3\" and \"$4\"" }, - { "~ParseFragmentInvalidOptions", "invalid options passed to the parse-xml:parse() function, the element must in the schema target namespace" }, + { "~ParseFragmentDoctypeNotAllowed", "a DOCTYPE dec
[Zorba-coders] [Merge] lp:~nbrinza/zorba/parse-fragment into lp:zorba
Nicolae Brinza has proposed merging lp:~nbrinza/zorba/parse-fragment into lp:zorba. Requested reviews: Zorba Coders (zorba-coders) For more details, see: https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/115344 The parse-fragment function now allows a DOCTYPE declaration in the input. -- https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/115344 Your team Zorba Coders is requested to review the proposed merge of lp:~nbrinza/zorba/parse-fragment into lp:zorba. === modified file 'ChangeLog' --- ChangeLog 2012-07-12 17:29:55 + +++ ChangeLog 2012-07-17 13:46:55 + @@ -4,6 +4,7 @@ version 2.x New Features: + * The parse-fragment function now allows a DOCTYPE declaration in the input. * Implemented the new EQName syntax (use Q{namespace}local instead of "namespace":local). Also updated the fn:path() function. * Item::isSeekable API extension for streamable content (xs:string and xs:base64Binary). === modified file 'modules/com/zorba-xquery/www/modules/xml-options.xsd' --- modules/com/zorba-xquery/www/modules/xml-options.xsd 2012-07-12 17:29:55 + +++ modules/com/zorba-xquery/www/modules/xml-options.xsd 2012-07-17 13:46:55 + @@ -61,6 +61,7 @@ + === modified file 'modules/com/zorba-xquery/www/modules/xml.xq' --- modules/com/zorba-xquery/www/modules/xml.xq 2012-07-12 17:29:55 + +++ modules/com/zorba-xquery/www/modules/xml.xq 2012-07-17 13:46:55 + @@ -141,7 +141,11 @@ : external entities. If the option : is enabled, the input must conform to the syntax extParsedEnt (production : [78] in XML 1.0, see http://www.w3.org/TR/xml/#wf-entities";> - : Well-Formed Parsed Entities). The result of the function call is a list + : Well-Formed Parsed Entities). In addition, by default a DOCTYPE declaration is allowed, + : as described by the [28] doctypedecl production, see http://www.w3.org/TR/xml/#NT-doctypedecl";> + : Document Type Definition. A parameter is available to forbid the appearance of the DOCTYPE. + : + : The result of the function call is a list : of nodes corresponding to the top-level components of the content of the : external entity: that is, elements, processing instructions, comments, and : text nodes. CDATA sections and character references are expanded, and @@ -151,7 +155,7 @@ : (http://www.w3.org/TR/xml/#sec-well-formed";>production [1] in XML 1.0). : This option can not be used together with either theor the : option. Doing so will raise a zerr:ZXQD0003 error. - : The option has two parameters, given by attributes. The first + : The option has three parameters, given by attributes. The first : attribute is "skip-root-nodes" and it can have a non-negative value. Specifying the paramter : tells the parser to skip the given number of root nodes and return only their children. E.g. : skip-root-nodes="1" is equivalent to parse-xml($xml-string)/node()/node() . skip-root-nodes="2" is equivalent @@ -159,7 +163,8 @@ : boolean value. Specifying "true" will tell the parser to skip top level text nodes, returning : only the top level elements, comments, PIs, etc. This parameter works in combination with : the "skip-root-nodes" paramter, thus top level text nodes are skipped after "skip-root-nodes" has - : been applied. + : been applied. The third paramter is "error-on-doctype" and will generate an error if a DOCTYPE + : declaration appears in the input, which by default is allowed. : : : === modified file 'src/diagnostics/diagnostic_en.xml' --- src/diagnostics/diagnostic_en.xml 2012-07-12 17:29:55 + +++ src/diagnostics/diagnostic_en.xml 2012-07-17 13:46:55 + @@ -3834,7 +3834,15 @@ - invalid options passed to the parse-xml:parse() function, the element must in the schema target namespace + invalid options passed to the parse-xml:parse() function, the element must be in the schema target namespace + + + + a DOCTYPE declaration is not allowed + + + + a DOCTYPE declaration must appear before any element or text node, and at most once === modified file 'src/diagnostics/pregenerated/dict_en.cpp' --- src/diagnostics/pregenerated/dict_en.cpp 2012-07-12 17:29:55 + +++ src/diagnostics/pregenerated/dict_en.cpp 2012-07-17 13:46:55 + @@ -670,7 +670,9 @@ { "~OpNodeBeforeMustHaveNodes", "op:node-before() must have nodes as parameters" }, { "~OperationNotDef_23", "$2 not defined for type \"$3\"" }, { "~OperationNotPossibleWithTypes_234", "\"$2\": operation not possible with parameters of type \"$3\" and \"$4\"" }, - { "~ParseFragmentInvalidOptions", "invalid options passed to the parse-xml:parse() function, the element must in the schema target namespace" }, + { "~ParseFragmentDoctypeNotAllowed", "a DOCTYPE dec
[Zorba-coders] [Merge] lp:~nbrinza/zorba/parse-fragment into lp:zorba
The proposal to merge lp:~nbrinza/zorba/parse-fragment into lp:zorba has been updated. Status: Approved => Merged For more details, see: https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/106000 -- https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/106000 Your team Zorba Coders is subscribed to branch lp:zorba. -- Mailing list: https://launchpad.net/~zorba-coders Post to : zorba-coders@lists.launchpad.net Unsubscribe : https://launchpad.net/~zorba-coders More help : https://help.launchpad.net/ListHelp
[Zorba-coders] [Merge] lp:~nbrinza/zorba/parse-fragment into lp:zorba
Validation queue job parse-fragment-2012-05-16T18-02-08.699Z is finished. The final status was: All tests succeeded! -- https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/106000 Your team Zorba Coders is subscribed to branch lp:zorba. -- Mailing list: https://launchpad.net/~zorba-coders Post to : zorba-coders@lists.launchpad.net Unsubscribe : https://launchpad.net/~zorba-coders More help : https://help.launchpad.net/ListHelp
[Zorba-coders] [Merge] lp:~nbrinza/zorba/parse-fragment into lp:zorba
Validation queue starting for merge proposal. Log at: http://zorbatest.lambda.nu:8080/remotequeue/parse-fragment-2012-05-16T18-02-08.699Z/log.html -- https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/106000 Your team Zorba Coders is subscribed to branch lp:zorba. -- Mailing list: https://launchpad.net/~zorba-coders Post to : zorba-coders@lists.launchpad.net Unsubscribe : https://launchpad.net/~zorba-coders More help : https://help.launchpad.net/ListHelp
[Zorba-coders] [Merge] lp:~nbrinza/zorba/parse-fragment into lp:zorba
The proposal to merge lp:~nbrinza/zorba/parse-fragment into lp:zorba has been updated. Status: Needs review => Approved For more details, see: https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/106000 -- https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/106000 Your team Zorba Coders is subscribed to branch lp:zorba. -- Mailing list: https://launchpad.net/~zorba-coders Post to : zorba-coders@lists.launchpad.net Unsubscribe : https://launchpad.net/~zorba-coders More help : https://help.launchpad.net/ListHelp
Re: [Zorba-coders] [Merge] lp:~nbrinza/zorba/parse-fragment into lp:zorba
Review: Approve -- https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/106000 Your team Zorba Coders is subscribed to branch lp:zorba. -- Mailing list: https://launchpad.net/~zorba-coders Post to : zorba-coders@lists.launchpad.net Unsubscribe : https://launchpad.net/~zorba-coders More help : https://help.launchpad.net/ListHelp
Re: [Zorba-coders] [Merge] lp:~nbrinza/zorba/parse-fragment into lp:zorba
Review: Approve -- https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/106000 Your team Zorba Coders is subscribed to branch lp:zorba. -- Mailing list: https://launchpad.net/~zorba-coders Post to : zorba-coders@lists.launchpad.net Unsubscribe : https://launchpad.net/~zorba-coders More help : https://help.launchpad.net/ListHelp
[Zorba-coders] [Merge] lp:~nbrinza/zorba/parse-fragment into lp:zorba
The proposal to merge lp:~nbrinza/zorba/parse-fragment into lp:zorba has been updated. Status: Approved => Needs review For more details, see: https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/106000 -- https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/106000 Your team Zorba Coders is subscribed to branch lp:zorba. -- Mailing list: https://launchpad.net/~zorba-coders Post to : zorba-coders@lists.launchpad.net Unsubscribe : https://launchpad.net/~zorba-coders More help : https://help.launchpad.net/ListHelp
Re: [Zorba-coders] [Merge] lp:~nbrinza/zorba/parse-fragment into lp:zorba
Voting does not meet specified criteria. Required: Approve > 1, Disapprove < 1, Needs Fixing < 1, Pending < 1. Got: 2 Pending. -- https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/106000 Your team Zorba Coders is subscribed to branch lp:zorba. -- Mailing list: https://launchpad.net/~zorba-coders Post to : zorba-coders@lists.launchpad.net Unsubscribe : https://launchpad.net/~zorba-coders More help : https://help.launchpad.net/ListHelp
[Zorba-coders] [Merge] lp:~nbrinza/zorba/parse-fragment into lp:zorba
Validation queue job parse-fragment-2012-05-16T15-43-10.152Z is finished. The final status was: All tests succeeded! -- https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/106000 Your team Zorba Coders is subscribed to branch lp:zorba. -- Mailing list: https://launchpad.net/~zorba-coders Post to : zorba-coders@lists.launchpad.net Unsubscribe : https://launchpad.net/~zorba-coders More help : https://help.launchpad.net/ListHelp
[Zorba-coders] [Merge] lp:~nbrinza/zorba/parse-fragment into lp:zorba
Validation queue starting for merge proposal. Log at: http://zorbatest.lambda.nu:8080/remotequeue/parse-fragment-2012-05-16T15-43-10.152Z/log.html -- https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/106000 Your team Zorba Coders is subscribed to branch lp:zorba. -- Mailing list: https://launchpad.net/~zorba-coders Post to : zorba-coders@lists.launchpad.net Unsubscribe : https://launchpad.net/~zorba-coders More help : https://help.launchpad.net/ListHelp
[Zorba-coders] [Merge] lp:~nbrinza/zorba/parse-fragment into lp:zorba
The proposal to merge lp:~nbrinza/zorba/parse-fragment into lp:zorba has been updated. Status: Needs review => Approved For more details, see: https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/106000 -- https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/106000 Your team Zorba Coders is subscribed to branch lp:zorba. -- Mailing list: https://launchpad.net/~zorba-coders Post to : zorba-coders@lists.launchpad.net Unsubscribe : https://launchpad.net/~zorba-coders More help : https://help.launchpad.net/ListHelp
[Zorba-coders] [Merge] lp:~nbrinza/zorba/parse-fragment into lp:zorba
The proposal to merge lp:~nbrinza/zorba/parse-fragment into lp:zorba has been updated. Commit Message changed to: Documentation improvements. Fixed the type of the options parameter to the parse-fragment() function. For more details, see: https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/106000 -- https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/106000 Your team Zorba Coders is subscribed to branch lp:zorba. -- Mailing list: https://launchpad.net/~zorba-coders Post to : zorba-coders@lists.launchpad.net Unsubscribe : https://launchpad.net/~zorba-coders More help : https://help.launchpad.net/ListHelp
[Zorba-coders] [Merge] lp:~nbrinza/zorba/parse-fragment into lp:zorba
Nicolae Brinza has proposed merging lp:~nbrinza/zorba/parse-fragment into lp:zorba. Requested reviews: Nicolae Brinza (nbrinza) Matthias Brantner (matthias-brantner) For more details, see: https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/106000 Documentation improvements. Fixed the type of the options parameter to the parse-fragment() function. -- https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/106000 Your team Zorba Coders is subscribed to branch lp:zorba. === modified file 'modules/com/zorba-xquery/www/modules/xml.xq' --- modules/com/zorba-xquery/www/modules/xml.xq 2012-05-11 14:02:25 + +++ modules/com/zorba-xquery/www/modules/xml.xq 2012-05-16 15:24:22 + @@ -85,7 +85,8 @@ : entities). The functions takes two arguments: the first one is the : string to be parsed and the second argument is anelement that : passes a list of options to the parsing function. They are described below. - : The options element must conform to the xml-options.xsd schema. Some of these + : The options element must conform to the xml-options:options element type + : from the xml-options.xsd schema. Some of these : will be passed to the underlying library (LibXml2) and further documentation : for them can be found at http://xmlsoft.org/html/libxml-parser.html";> : LibXml2 parser. @@ -224,7 +225,7 @@ :) declare function parse-xml:parse( $xml-string as xs:string?, - $options as element()?) as node()* external; + $options as element(parse-xml-options:options)?) as node()* external; (:~ === modified file 'src/functions/CMakeLists.txt' --- src/functions/CMakeLists.txt 2012-05-03 12:31:51 + +++ src/functions/CMakeLists.txt 2012-05-16 15:24:22 + @@ -82,6 +82,7 @@ func_reflection.cpp func_apply.cpp func_serialize_impl.cpp +func_parse_fragment_impl.cpp ) IF (NOT ZORBA_NO_FULL_TEXT) === added file 'src/functions/func_parse_fragment_impl.cpp' --- src/functions/func_parse_fragment_impl.cpp 1970-01-01 00:00:00 + +++ src/functions/func_parse_fragment_impl.cpp 2012-05-16 15:24:22 + @@ -0,0 +1,62 @@ +/* + * Copyright 2006-2008 The FLWOR Foundation. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#include "stdafx.h" + +#include "common/shared_types.h" +#include "types/typeops.h" + +#include "functions/function.h" +#include "functions/function_impl.h" + +#include "functions/func_parse_fragment.h" + +#include "system/globalenv.h" + +#include "compiler/expression/expr_consts.h" + + +namespace zorba +{ + + +/*** + +/ +void populate_context_parse_fragment_impl(static_context* sctx) +{ + xqtref_t lParseOptType = +GENV_TYPESYSTEM.create_node_type( +store::StoreConsts::elementNode, +createQName("http://www.zorba-xquery.com/modules/xml-options","","options";), +NULL, +TypeConstants::QUANT_QUESTION, +false, +false + ); + + { +DECL_WITH_KIND(sctx, fn_zorba_xml_parse, +(createQName("http://www.zorba-xquery.com/modules/xml","","parse";), +GENV_TYPESYSTEM.STRING_TYPE_QUESTION, +lParseOptType, +GENV_TYPESYSTEM.ANY_NODE_TYPE_STAR), +FunctionConsts::FN_ZORBA_XML_PARSE_2); + } +} + +} + +/* vim:set et sw=2 ts=2: */ === added file 'src/functions/func_parse_fragment_impl.h' --- src/functions/func_parse_fragment_impl.h 1970-01-01 00:00:00 + +++ src/functions/func_parse_fragment_impl.h 2012-05-16 15:24:22 + @@ -0,0 +1,38 @@ +/* + * Copyright 2006-2012 The FLWOR Foundation. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#pragma once +#ifndef ZORBA_FUNCTIONS_PARSE_FRAGMENT_IMPL_H +#define ZORBA_FUNCTIONS_PARSE_FRAGMENT_IMPL_H + + +#include "common/shared_types.h" +#include "functions/function.h" +#include "functions/function_impl.h" +#include "fun
[Zorba-coders] [Merge] lp:~nbrinza/zorba/parse-fragment into lp:zorba
The proposal to merge lp:~nbrinza/zorba/parse-fragment into lp:zorba has been updated. Status: Approved => Needs review For more details, see: https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/105987 -- https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/105987 Your team Zorba Coders is subscribed to branch lp:zorba. -- Mailing list: https://launchpad.net/~zorba-coders Post to : zorba-coders@lists.launchpad.net Unsubscribe : https://launchpad.net/~zorba-coders More help : https://help.launchpad.net/ListHelp
Re: [Zorba-coders] [Merge] lp:~nbrinza/zorba/parse-fragment into lp:zorba
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/zo/testing/zorbatest/tester/TarmacLander.cmake:274 (message): Validation queue job parse-fragment-2012-05-16T14-32-13.325Z is finished. The final status was: 1 tests did not succeed - changes not commited. Error in read script: /home/ceej/zo/testing/zorbatest/tester/TarmacLander.cmake -- https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/105987 Your team Zorba Coders is subscribed to branch lp:zorba. -- Mailing list: https://launchpad.net/~zorba-coders Post to : zorba-coders@lists.launchpad.net Unsubscribe : https://launchpad.net/~zorba-coders More help : https://help.launchpad.net/ListHelp
[Zorba-coders] [Merge] lp:~nbrinza/zorba/parse-fragment into lp:zorba
Validation queue starting for merge proposal. Log at: http://zorbatest.lambda.nu:8080/remotequeue/parse-fragment-2012-05-16T14-32-13.325Z/log.html -- https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/105987 Your team Zorba Coders is subscribed to branch lp:zorba. -- Mailing list: https://launchpad.net/~zorba-coders Post to : zorba-coders@lists.launchpad.net Unsubscribe : https://launchpad.net/~zorba-coders More help : https://help.launchpad.net/ListHelp
[Zorba-coders] [Merge] lp:~nbrinza/zorba/parse-fragment into lp:zorba
The proposal to merge lp:~nbrinza/zorba/parse-fragment into lp:zorba has been updated. Commit Message changed to: Fixed the type of the options parameter to the parse-fragment() function. For more details, see: https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/105987 -- https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/105987 Your team Zorba Coders is subscribed to branch lp:zorba. -- Mailing list: https://launchpad.net/~zorba-coders Post to : zorba-coders@lists.launchpad.net Unsubscribe : https://launchpad.net/~zorba-coders More help : https://help.launchpad.net/ListHelp
[Zorba-coders] [Merge] lp:~nbrinza/zorba/parse-fragment into lp:zorba
The proposal to merge lp:~nbrinza/zorba/parse-fragment into lp:zorba has been updated. Status: Needs review => Approved For more details, see: https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/105987 -- https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/105987 Your team Zorba Coders is subscribed to branch lp:zorba. -- Mailing list: https://launchpad.net/~zorba-coders Post to : zorba-coders@lists.launchpad.net Unsubscribe : https://launchpad.net/~zorba-coders More help : https://help.launchpad.net/ListHelp
[Zorba-coders] [Merge] lp:~nbrinza/zorba/parse-fragment into lp:zorba
Nicolae Brinza has proposed merging lp:~nbrinza/zorba/parse-fragment into lp:zorba. Requested reviews: Matthias Brantner (matthias-brantner) Nicolae Brinza (nbrinza) For more details, see: https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/105987 Documentation improvements. Fixed the type of the options parameter to the parse-fragment() function. -- https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/105987 Your team Zorba Coders is subscribed to branch lp:zorba. === modified file 'modules/com/zorba-xquery/www/modules/xml.xq' --- modules/com/zorba-xquery/www/modules/xml.xq 2012-05-11 14:02:25 + +++ modules/com/zorba-xquery/www/modules/xml.xq 2012-05-16 14:30:33 + @@ -85,7 +85,8 @@ : entities). The functions takes two arguments: the first one is the : string to be parsed and the second argument is anelement that : passes a list of options to the parsing function. They are described below. - : The options element must conform to the xml-options.xsd schema. Some of these + : The options element must conform to the xml-options:options element type + : from the xml-options.xsd schema. Some of these : will be passed to the underlying library (LibXml2) and further documentation : for them can be found at http://xmlsoft.org/html/libxml-parser.html";> : LibXml2 parser. @@ -224,7 +225,7 @@ :) declare function parse-xml:parse( $xml-string as xs:string?, - $options as element()?) as node()* external; + $options as element(parse-xml-options:options)?) as node()* external; (:~ === modified file 'src/functions/CMakeLists.txt' --- src/functions/CMakeLists.txt 2012-05-03 12:31:51 + +++ src/functions/CMakeLists.txt 2012-05-16 14:30:33 + @@ -82,6 +82,7 @@ func_reflection.cpp func_apply.cpp func_serialize_impl.cpp +func_parse_fragment_impl.cpp ) IF (NOT ZORBA_NO_FULL_TEXT) === added file 'src/functions/func_parse_fragment_impl.cpp' --- src/functions/func_parse_fragment_impl.cpp 1970-01-01 00:00:00 + +++ src/functions/func_parse_fragment_impl.cpp 2012-05-16 14:30:33 + @@ -0,0 +1,62 @@ +/* + * Copyright 2006-2008 The FLWOR Foundation. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#include "stdafx.h" + +#include "common/shared_types.h" +#include "types/typeops.h" + +#include "functions/function.h" +#include "functions/function_impl.h" + +#include "functions/func_parse_fragment.h" + +#include "system/globalenv.h" + +#include "compiler/expression/expr_consts.h" + + +namespace zorba +{ + + +/*** + +/ +void populate_context_parse_fragment_impl(static_context* sctx) +{ + xqtref_t lParseOptType = +GENV_TYPESYSTEM.create_node_type( +store::StoreConsts::elementNode, +createQName("http://www.zorba-xquery.com/modules/xml-options","","options";), +NULL, +TypeConstants::QUANT_ONE, +false, +false + ); + + { +DECL_WITH_KIND(sctx, fn_zorba_xml_parse, +(createQName("http://www.zorba-xquery.com/modules/xml","","parse";), +GENV_TYPESYSTEM.STRING_TYPE_QUESTION, +lParseOptType, +GENV_TYPESYSTEM.ANY_NODE_TYPE_STAR), +FunctionConsts::FN_ZORBA_XML_PARSE_2); + } +} + +} + +/* vim:set et sw=2 ts=2: */ === added file 'src/functions/func_parse_fragment_impl.h' --- src/functions/func_parse_fragment_impl.h 1970-01-01 00:00:00 + +++ src/functions/func_parse_fragment_impl.h 2012-05-16 14:30:33 + @@ -0,0 +1,38 @@ +/* + * Copyright 2006-2012 The FLWOR Foundation. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#pragma once +#ifndef ZORBA_FUNCTIONS_PARSE_FRAGMENT_IMPL_H +#define ZORBA_FUNCTIONS_PARSE_FRAGMENT_IMPL_H + + +#include "common/shared_types.h" +#include "functions/function.h" +#include "functions/function_impl.h" +#include "function
Re: [Zorba-coders] [Merge] lp:~nbrinza/zorba/parse-fragment into lp:zorba
Review: Approve -- https://code.launchpad.net/~nbrinza/zorba/parse-fragment/+merge/105841 Your team Zorba Coders is subscribed to branch lp:zorba. -- Mailing list: https://launchpad.net/~zorba-coders Post to : zorba-coders@lists.launchpad.net Unsubscribe : https://launchpad.net/~zorba-coders More help : https://help.launchpad.net/ListHelp