Merge lp:~nbrinza/zorba/parse-fragment into lp:zorba
- parse-fragment
- Merge into trunk
Status: | Merged | ||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Approved by: | Chris Hillery | ||||||||||||||||||||||||||||
Approved revision: | 10547 | ||||||||||||||||||||||||||||
Merged at revision: | 11208 | ||||||||||||||||||||||||||||
Proposed branch: | lp:~nbrinza/zorba/parse-fragment | ||||||||||||||||||||||||||||
Merge into: | lp:zorba | ||||||||||||||||||||||||||||
Diff against target: |
459 lines (+362/-6) 6 files modified
ChangeLog (+8/-0) src/store/naive/loader.h (+2/-1) src/store/naive/loader_dtd.cpp (+22/-5) test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-57.xml.res (+159/-0) test/rbkt/Queries/zorba/parsing_and_serializing/bad.xml (+158/-0) test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-57.xq (+13/-0) |
||||||||||||||||||||||||||||
To merge this branch: | bzr merge lp:~nbrinza/zorba/parse-fragment | ||||||||||||||||||||||||||||
Related bugs: |
|
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Chris Hillery | Approve | ||
Nicolae Brinza | Approve | ||
Review via email: mp+144007@code.launchpad.net |
This proposal supersedes a proposal from 2013-01-16.
Commit message
Fix for bugs #1099535 #1099648 and #1088886
Description of the change
Fix for bugs #1099535 #1099648 and #1088886
Zorba Build Bot (zorba-buildbot) wrote : Posted in a previous version of this proposal | # |
Zorba Build Bot (zorba-buildbot) wrote : Posted in a previous version of this proposal | # |
Validation queue job parse-fragment-
All tests succeeded!
Zorba Build Bot (zorba-buildbot) wrote : Posted in a previous version of this proposal | # |
Voting does not meet specified criteria. Required: Approve > 1, Disapprove < 1, Needs Fixing < 1, Pending < 1. Got: 1 Pending.
Nicolae Brinza (nbrinza) : Posted in a previous version of this proposal | # |
Nicolae Brinza (nbrinza) : | # |
Zorba Build Bot (zorba-buildbot) wrote : | # |
Validation queue starting for merge proposal.
Log at: http://
Zorba Build Bot (zorba-buildbot) wrote : | # |
The attempt to merge lp:~nbrinza/zorba/parse-fragment into lp:zorba failed. Below is the output from the failed tests.
CMake Error at /home/ceej/
Validation queue job parse-fragment-
The final status was:
21 tests did not succeed - changes not commited.
Error in read script: /home/ceej/
Zorba Build Bot (zorba-buildbot) wrote : | # |
Validation queue starting for merge proposal.
Log at: http://
Zorba Build Bot (zorba-buildbot) wrote : | # |
The attempt to merge lp:~nbrinza/zorba/parse-fragment into lp:zorba failed. Below is the output from the failed tests.
CMake Error at /home/ceej/
Validation queue job parse-fragment-
The final status was:
22 tests did not succeed - changes not commited.
Error in read script: /home/ceej/
Zorba Build Bot (zorba-buildbot) wrote : | # |
Validation queue starting for merge proposal.
Log at: http://
Zorba Build Bot (zorba-buildbot) wrote : | # |
The attempt to merge lp:~nbrinza/zorba/parse-fragment into lp:zorba failed. Below is the output from the failed tests.
CMake Error at /home/ceej/
Validation queue job parse-fragment-
The final status was:
21 tests did not succeed - changes not commited.
Error in read script: /home/ceej/
Sorin Marian Nasoi (sorin.marian.nasoi) wrote : | # |
I can confirm that all "parse" and "parse-
Chris Hillery (ceejatec) wrote : | # |
I've fixed the RQ problem that caused the JDBC and Oracle NoSQL failures. However, the 4 XQXQ failures I don't understand yet.
Chris Hillery (ceejatec) wrote : | # |
Think I've fixed it; trying again.
Zorba Build Bot (zorba-buildbot) wrote : | # |
Validation queue starting for merge proposal.
Log at: http://
Nicolae Brinza (nbrinza) wrote : | # |
Yeah, there were some weird failures in the RQ -- the JDBC ones and around 3 URI tests that did not fail on my machine.
Zorba Build Bot (zorba-buildbot) wrote : | # |
Validation queue job parse-fragment-
All tests succeeded!
Zorba Build Bot (zorba-buildbot) wrote : | # |
Voting does not meet specified criteria. Required: Approve > 1, Disapprove < 1, Needs Fixing < 1, Pending < 1. Got: 1 Approve, 1 Pending.
Chris Hillery (ceejatec) wrote : | # |
Confirmed that this fixes both outstanding Fedora bugs (tested on Fedora) as well as the infinite-loop bug (tested on Ubuntu). Yay!
Zorba Build Bot (zorba-buildbot) wrote : | # |
Validation queue starting for merge proposal.
Log at: http://
Zorba Build Bot (zorba-buildbot) wrote : | # |
Validation queue job parse-fragment-
All tests succeeded!
Preview Diff
1 | === modified file 'ChangeLog' | |||
2 | --- ChangeLog 2013-01-14 09:46:44 +0000 | |||
3 | +++ ChangeLog 2013-01-20 00:28:21 +0000 | |||
4 | @@ -1,6 +1,14 @@ | |||
5 | 1 | Zorba - The XQuery Processor | 1 | Zorba - The XQuery Processor |
6 | 2 | 2 | ||
7 | 3 | 3 | ||
8 | 4 | version 2.9 | ||
9 | 5 | |||
10 | 6 | Bug Fixes/Other Changes: | ||
11 | 7 | * Fixed bug #1099648 and #1088886 (XML parsing failures on Red Hat) | ||
12 | 8 | * Fixed bug #1099535 (xml:parse endless loop) | ||
13 | 9 | |||
14 | 10 | |||
15 | 11 | |||
16 | 4 | version 2.8 | 12 | version 2.8 |
17 | 5 | 13 | ||
18 | 6 | New Features: | 14 | New Features: |
19 | 7 | 15 | ||
20 | === modified file 'src/store/naive/loader.h' | |||
21 | --- src/store/naive/loader.h 2012-09-19 21:16:15 +0000 | |||
22 | +++ src/store/naive/loader.h 2013-01-20 00:28:21 +0000 | |||
23 | @@ -261,7 +261,8 @@ | |||
24 | 261 | const FragmentIStream* getFragmentStream() const { return theFragmentStream; }; | 261 | const FragmentIStream* getFragmentStream() const { return theFragmentStream; }; |
25 | 262 | 262 | ||
26 | 263 | protected: | 263 | protected: |
28 | 264 | bool fillBuffer(FragmentIStream* theFragmentStream); | 264 | // returns true if the input buffer is not yet fully consumed |
29 | 265 | bool fillBuffer(FragmentIStream* theFragmentStream); | ||
30 | 265 | 266 | ||
31 | 266 | unsigned long getCurrentInputOffset() const; | 267 | unsigned long getCurrentInputOffset() const; |
32 | 267 | 268 | ||
33 | 268 | 269 | ||
34 | === modified file 'src/store/naive/loader_dtd.cpp' | |||
35 | --- src/store/naive/loader_dtd.cpp 2012-09-19 21:16:15 +0000 | |||
36 | +++ src/store/naive/loader_dtd.cpp 2013-01-20 00:28:21 +0000 | |||
37 | @@ -149,6 +149,7 @@ | |||
38 | 149 | { | 149 | { |
39 | 150 | } | 150 | } |
40 | 151 | 151 | ||
41 | 152 | // returns true if the input buffer is not yet fully consumed | ||
42 | 152 | bool FragmentXmlLoader::fillBuffer(FragmentIStream* theFragmentStream) | 153 | bool FragmentXmlLoader::fillBuffer(FragmentIStream* theFragmentStream) |
43 | 153 | { | 154 | { |
44 | 154 | if (theFragmentStream->ctxt->input->length > 0 && theFragmentStream->current_offset < theFragmentStream->bytes_in_buffer) | 155 | if (theFragmentStream->ctxt->input->length > 0 && theFragmentStream->current_offset < theFragmentStream->bytes_in_buffer) |
45 | @@ -175,6 +176,7 @@ | |||
46 | 175 | theFragmentStream->ctxt->input->length = (theFragmentStream->bytes_in_buffer < (theFragmentStream->theBuffer.size()-1) ? theFragmentStream->bytes_in_buffer : (theFragmentStream->theBuffer.size()-1)); | 176 | theFragmentStream->ctxt->input->length = (theFragmentStream->bytes_in_buffer < (theFragmentStream->theBuffer.size()-1) ? theFragmentStream->bytes_in_buffer : (theFragmentStream->theBuffer.size()-1)); |
47 | 176 | theFragmentStream->ctxt->input->cur = theFragmentStream->ctxt->input->base; | 177 | theFragmentStream->ctxt->input->cur = theFragmentStream->ctxt->input->base; |
48 | 177 | theFragmentStream->ctxt->input->end = theFragmentStream->ctxt->input->base + theFragmentStream->ctxt->input->length; | 178 | theFragmentStream->ctxt->input->end = theFragmentStream->ctxt->input->base + theFragmentStream->ctxt->input->length; |
49 | 179 | 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 | ||
50 | 178 | 180 | ||
51 | 179 | if (theFragmentStream->bytes_in_buffer < theFragmentStream->theBuffer.size()-1) | 181 | if (theFragmentStream->bytes_in_buffer < theFragmentStream->theBuffer.size()-1) |
52 | 180 | theFragmentStream->theBuffer[theFragmentStream->bytes_in_buffer] = 0; | 182 | theFragmentStream->theBuffer[theFragmentStream->bytes_in_buffer] = 0; |
53 | @@ -241,7 +243,9 @@ | |||
54 | 241 | 243 | ||
55 | 242 | // Initialize the parser input (only filename and the pointer to the current char) | 244 | // Initialize the parser input (only filename and the pointer to the current char) |
56 | 243 | theFragmentStream->theBuffer[0] = ' '; // This assignment is needed for LibXml2-2.7.6, which tries to read the buffer when xmlPushInput() is called | 245 | theFragmentStream->theBuffer[0] = ' '; // This assignment is needed for LibXml2-2.7.6, which tries to read the buffer when xmlPushInput() is called |
58 | 244 | input->cur = (xmlChar*)(&theFragmentStream->theBuffer[0]); | 246 | input->base = (xmlChar*)(&theFragmentStream->theBuffer[0]); |
59 | 247 | input->cur = input->base; | ||
60 | 248 | // input->cur = (xmlChar*)(&theFragmentStream->theBuffer[0]); | ||
61 | 245 | input->filename = (const char*)(xmlCanonicPath((const xmlChar*)theDocUri.c_str())); | 249 | input->filename = (const char*)(xmlCanonicPath((const xmlChar*)theDocUri.c_str())); |
62 | 246 | xmlPushInput(theFragmentStream->ctxt, input); | 250 | xmlPushInput(theFragmentStream->ctxt, input); |
63 | 247 | } | 251 | } |
64 | @@ -250,6 +254,8 @@ | |||
65 | 250 | theFragmentStream->ctxt->disableSAX = false; // xmlStopParser() sets disableSAX to true | 254 | theFragmentStream->ctxt->disableSAX = false; // xmlStopParser() sets disableSAX to true |
66 | 251 | theFragmentStream->parsed_nodes_count = 0; | 255 | theFragmentStream->parsed_nodes_count = 0; |
67 | 252 | theFragmentStream->forced_parser_stop = false; | 256 | theFragmentStream->forced_parser_stop = false; |
68 | 257 | |||
69 | 258 | // theFragmentStream->ctxt->progressive = 1; | ||
70 | 253 | 259 | ||
71 | 254 | if (theFragmentStream->state != FragmentIStream::FRAGMENT_FIRST_START_DOC) | 260 | if (theFragmentStream->state != FragmentIStream::FRAGMENT_FIRST_START_DOC) |
72 | 255 | { | 261 | { |
73 | @@ -257,7 +263,8 @@ | |||
74 | 257 | FragmentXmlLoader::startDocument(theFragmentStream->ctxt->userData); | 263 | FragmentXmlLoader::startDocument(theFragmentStream->ctxt->userData); |
75 | 258 | } | 264 | } |
76 | 259 | 265 | ||
78 | 260 | while ( ! theFragmentStream->forced_parser_stop && fillBuffer(theFragmentStream)) | 266 | bool buffer_not_consumed; |
79 | 267 | while ( ! theFragmentStream->forced_parser_stop && (buffer_not_consumed = fillBuffer(theFragmentStream))) | ||
80 | 261 | { | 268 | { |
81 | 262 | if (theFragmentStream->only_one_doc_node && theFragmentStream->state != FragmentIStream::FRAGMENT_FIRST_START_DOC) | 269 | if (theFragmentStream->only_one_doc_node && theFragmentStream->state != FragmentIStream::FRAGMENT_FIRST_START_DOC) |
82 | 263 | { | 270 | { |
83 | @@ -316,9 +323,17 @@ | |||
84 | 316 | } | 323 | } |
85 | 317 | 324 | ||
86 | 318 | /* | 325 | /* |
87 | 326 | std::string buffer = (char*)theFragmentStream->ctxt->input->cur; | ||
88 | 327 | if (theFragmentStream->ctxt->input->length < buffer.size()) | ||
89 | 328 | buffer = buffer.substr(0, theFragmentStream->ctxt->input->length); | ||
90 | 319 | std::cerr << "\n==================\n--> skip_root: " << theFragmentStream->root_elements_to_skip << " current_depth: " << theFragmentStream->current_element_depth | 329 | std::cerr << "\n==================\n--> skip_root: " << theFragmentStream->root_elements_to_skip << " current_depth: " << theFragmentStream->current_element_depth |
93 | 320 | << " state: " << theFragmentStream->ctxt->instate | 330 | << " state: " << theFragmentStream->ctxt->instate |
94 | 321 | << " about to parse: [" << theFragmentStream->ctxt->input->cur << "] " << std::endl; | 331 | << " about to parse: ["; |
95 | 332 | if (buffer.size() > 500) | ||
96 | 333 | std::cerr << buffer.substr(0, 160) << "\n...\n" << buffer.substr(buffer.size()-160); | ||
97 | 334 | else | ||
98 | 335 | std::cerr << theFragmentStream->ctxt->input->cur; | ||
99 | 336 | std::cerr << "] " << std::endl; | ||
100 | 322 | */ | 337 | */ |
101 | 323 | 338 | ||
102 | 324 | xmlParseChunk(theFragmentStream->ctxt, (const char*)theFragmentStream->ctxt->input->cur, | 339 | xmlParseChunk(theFragmentStream->ctxt, (const char*)theFragmentStream->ctxt->input->cur, |
103 | @@ -332,8 +347,10 @@ | |||
104 | 332 | xmlParseCharData(theFragmentStream->ctxt, 0); | 347 | xmlParseCharData(theFragmentStream->ctxt, 0); |
105 | 333 | theFragmentStream->current_offset = getCurrentInputOffset(); // update current offset | 348 | theFragmentStream->current_offset = getCurrentInputOffset(); // update current offset |
106 | 334 | 349 | ||
108 | 335 | if (theXQueryDiagnostics->errors().empty() && theFragmentStream->current_offset == 0 && theFragmentStream->ctxt->checkIndex > 0) | 350 | if (theXQueryDiagnostics->errors().empty() && theFragmentStream->current_offset == 0) |
109 | 336 | { | 351 | { |
110 | 352 | assert(buffer_not_consumed == true); | ||
111 | 353 | |||
112 | 337 | // we still haven't moved, double the buffer size | 354 | // we still haven't moved, double the buffer size |
113 | 338 | theFragmentStream->theBuffer.resize((theFragmentStream->theBuffer.size()-1) * 2 + 1); | 355 | theFragmentStream->theBuffer.resize((theFragmentStream->theBuffer.size()-1) * 2 + 1); |
114 | 339 | theFragmentStream->ctxt->input->base = (xmlChar*)(&theFragmentStream->theBuffer[0]); | 356 | theFragmentStream->ctxt->input->base = (xmlChar*)(&theFragmentStream->theBuffer[0]); |
115 | 340 | 357 | ||
116 | === added file 'test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-57.xml.res' | |||
117 | --- test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-57.xml.res 1970-01-01 00:00:00 +0000 | |||
118 | +++ test/rbkt/ExpQueryResults/zorba/parsing_and_serializing/parse-fragment-skip-root-57.xml.res 2013-01-20 00:28:21 +0000 | |||
119 | @@ -0,0 +1,159 @@ | |||
120 | 1 | <?xml version="1.0" encoding="UTF-8"?> | ||
121 | 2 | |||
122 | 3 | <record xmlns="http://www.loc.gov/MARC21/slim"> | ||
123 | 4 | <leader>01428cam a2200313 a 4500</leader> | ||
124 | 5 | <controlfield tag="001">2</controlfield> | ||
125 | 6 | <controlfield tag="005">20060629073726.0</controlfield> | ||
126 | 7 | <controlfield tag="007">cr |||||||||||</controlfield> | ||
127 | 8 | <controlfield tag="008">990629s1900 maua 000 1 eng </controlfield> | ||
128 | 9 | <datafield tag="906" ind1=" " ind2=" "> | ||
129 | 10 | <subfield code="a">7</subfield> | ||
130 | 11 | <subfield code="b">ibc</subfield> | ||
131 | 12 | <subfield code="c">orignew</subfield> | ||
132 | 13 | <subfield code="d">u</subfield> | ||
133 | 14 | <subfield code="e">ocip</subfield> | ||
134 | 15 | <subfield code="f">19</subfield> | ||
135 | 16 | <subfield code="g">y-gencatlg</subfield> | ||
136 | 17 | </datafield> | ||
137 | 18 | <datafield tag="955" ind1=" " ind2=" "> | ||
138 | 19 | <subfield code="a">NEW INPUT vj36 06-29-99</subfield> | ||
139 | 20 | <subfield code="e">vj05 2002-04-03</subfield> | ||
140 | 21 | </datafield> | ||
141 | 22 | <datafield tag="035" ind1=" " ind2=" "> | ||
142 | 23 | <subfield code="9">(DLC) 00002266</subfield> | ||
143 | 24 | </datafield> | ||
144 | 25 | <datafield tag="010" ind1=" " ind2=" "> | ||
145 | 26 | <subfield code="a"> 00002266 </subfield> | ||
146 | 27 | </datafield> | ||
147 | 28 | <datafield tag="040" ind1=" " ind2=" "> | ||
148 | 29 | <subfield code="a">DLC</subfield> | ||
149 | 30 | <subfield code="c">DLC</subfield> | ||
150 | 31 | <subfield code="d">DLC</subfield> | ||
151 | 32 | </datafield> | ||
152 | 33 | <datafield tag="050" ind1="0" ind2="0"> | ||
153 | 34 | <subfield code="a">PZ3.L846</subfield> | ||
154 | 35 | <subfield code="b">So</subfield> | ||
155 | 36 | </datafield> | ||
156 | 37 | <datafield tag="051" ind1=" " ind2=" "> | ||
157 | 38 | <subfield code="a">PS3523.O46</subfield> | ||
158 | 39 | <subfield code="b">S72 1900</subfield> | ||
159 | 40 | </datafield> | ||
160 | 41 | <datafield tag="100" ind1="1" ind2=" "> | ||
161 | 42 | <subfield code="a">London, Jack,</subfield> | ||
162 | 43 | <subfield code="d">1876-1916.</subfield> | ||
163 | 44 | </datafield> | ||
164 | 45 | <datafield tag="245" ind1="1" ind2="4"> | ||
165 | 46 | <subfield code="a">The son of the wolf :</subfield> | ||
166 | 47 | <subfield code="b">tales of the far North /</subfield> | ||
167 | 48 | <subfield code="c">by Jack London.</subfield> | ||
168 | 49 | </datafield> | ||
169 | 50 | <datafield tag="246" ind1="3" ind2="0"> | ||
170 | 51 | <subfield code="a">Tales of the far North</subfield> | ||
171 | 52 | </datafield> | ||
172 | 53 | <datafield tag="260" ind1=" " ind2=" "> | ||
173 | 54 | <subfield code="a">Boston :</subfield> | ||
174 | 55 | <subfield code="b">Houghton, Mifflin,</subfield> | ||
175 | 56 | <subfield code="c">1900.</subfield> | ||
176 | 57 | </datafield> | ||
177 | 58 | <datafield tag="300" ind1=" " ind2=" "> | ||
178 | 59 | <subfield code="a">251 p. :</subfield> | ||
179 | 60 | <subfield code="b">1 ill. ;</subfield> | ||
180 | 61 | <subfield code="c">20 cm.</subfield> | ||
181 | 62 | </datafield> | ||
182 | 63 | <datafield tag="500" ind1=" " ind2=" "> | ||
183 | 64 | <subfield code="a">These tales appeared previously in the Overland monthly, 1899, and the Atlantic monthly.</subfield> | ||
184 | 65 | </datafield> | ||
185 | 66 | <datafield tag="505" ind1="0" ind2=" "> | ||
186 | 67 | <subfield code="a">The white silence -- The son of the wolf -- The men of Forty-Mile -- In a far country -- To the man on trail -- The priestly prerogative -- The wisdom of the trail -- The wife of a king -- An odyssey of the North.</subfield> | ||
187 | 68 | </datafield> | ||
188 | 69 | <datafield tag="530" ind1=" " ind2=" "> | ||
189 | 70 | <subfield code="a">Also available in digital form on the Library of Congress Web site.</subfield> | ||
190 | 71 | </datafield> | ||
191 | 72 | <datafield tag="856" ind1="4" ind2="1"> | ||
192 | 73 | <subfield code="d">mtfrb</subfield> | ||
193 | 74 | <subfield code="f">02266</subfield> | ||
194 | 75 | <subfield code="q">h</subfield> | ||
195 | 76 | <subfield code="u">http://hdl.loc.gov/loc.rbc/mtfrb.02266</subfield> | ||
196 | 77 | </datafield> | ||
197 | 78 | <datafield tag="859" ind1="4" ind2="2"> | ||
198 | 79 | <subfield code="3">Meeting of Frontiers: Siberia, Alaska, and the American West - "Rare Book Collections" Collection Description</subfield> | ||
199 | 80 | <subfield code="u">http://hdl.loc.gov/loc.eur/mtfhtml.0054</subfield> | ||
200 | 81 | </datafield> | ||
201 | 82 | <datafield tag="984" ind1=" " ind2=" "> | ||
202 | 83 | <subfield code="a">gsl</subfield> | ||
203 | 84 | </datafield> | ||
204 | 85 | <datafield tag="985" ind1=" " ind2=" "> | ||
205 | 86 | <subfield code="a">mtfront/mtfrb/tx</subfield> | ||
206 | 87 | <subfield code="e">intldl</subfield> | ||
207 | 88 | </datafield> | ||
208 | 89 | <datafield tag="985" ind1=" " ind2=" "> | ||
209 | 90 | <subfield code="a">pmpull</subfield> | ||
210 | 91 | <subfield code="e">intldl</subfield> | ||
211 | 92 | </datafield> | ||
212 | 93 | </record> | ||
213 | 94 | <record xmlns="http://www.loc.gov/MARC21/slim"> | ||
214 | 95 | <leader>00757cam a22002171 4500</leader> | ||
215 | 96 | <controlfield tag="001">3</controlfield> | ||
216 | 97 | <controlfield tag="005">20080606094929.0</controlfield> | ||
217 | 98 | <controlfield tag="008">980227s1900 iluc 000 0 eng </controlfield> | ||
218 | 99 | <datafield tag="035" ind1=" " ind2=" "> | ||
219 | 100 | <subfield code="9">(DLC) 00004790</subfield> | ||
220 | 101 | </datafield> | ||
221 | 102 | <datafield tag="906" ind1=" " ind2=" "> | ||
222 | 103 | <subfield code="a">0</subfield> | ||
223 | 104 | <subfield code="b">ibc</subfield> | ||
224 | 105 | <subfield code="c">orignew</subfield> | ||
225 | 106 | <subfield code="d">3</subfield> | ||
226 | 107 | <subfield code="e">ocip</subfield> | ||
227 | 108 | <subfield code="f">19</subfield> | ||
228 | 109 | <subfield code="g">y-gencatlg</subfield> | ||
229 | 110 | </datafield> | ||
230 | 111 | <datafield tag="955" ind1=" " ind2=" "> | ||
231 | 112 | <subfield code="a">jd99 02-27-98</subfield> | ||
232 | 113 | </datafield> | ||
233 | 114 | <datafield tag="010" ind1=" " ind2=" "> | ||
234 | 115 | <subfield code="a"> 00004790 </subfield> | ||
235 | 116 | </datafield> | ||
236 | 117 | <datafield tag="040" ind1=" " ind2=" "> | ||
237 | 118 | <subfield code="a">DLC</subfield> | ||
238 | 119 | <subfield code="c">DLC</subfield> | ||
239 | 120 | </datafield> | ||
240 | 121 | <datafield tag="050" ind1="0" ind2="0"> | ||
241 | 122 | <subfield code="a">PG3385</subfield> | ||
242 | 123 | <subfield code="b">.S85</subfield> | ||
243 | 124 | </datafield> | ||
244 | 125 | <datafield tag="100" ind1="1" ind2=" "> | ||
245 | 126 | <subfield code="a">Stockham, Alice B.</subfield> | ||
246 | 127 | <subfield code="q">(Alice Bunker),</subfield> | ||
247 | 128 | <subfield code="d">1833-1912.</subfield> | ||
248 | 129 | </datafield> | ||
249 | 130 | <datafield tag="245" ind1="1" ind2="0"> | ||
250 | 131 | <subfield code="a">Tolstoi, a man of peace,</subfield> | ||
251 | 132 | <subfield code="c">by Alice B. Stockham. The new spirit by H. Havelock Ellis.</subfield> | ||
252 | 133 | </datafield> | ||
253 | 134 | <datafield tag="260" ind1=" " ind2=" "> | ||
254 | 135 | <subfield code="a">Chicago,</subfield> | ||
255 | 136 | <subfield code="b">A.B. Stockham,</subfield> | ||
256 | 137 | <subfield code="c">[1900]</subfield> | ||
257 | 138 | </datafield> | ||
258 | 139 | <datafield tag="300" ind1=" " ind2=" "> | ||
259 | 140 | <subfield code="a">140 p.</subfield> | ||
260 | 141 | <subfield code="b">ports.</subfield> | ||
261 | 142 | <subfield code="c">18 cm.</subfield> | ||
262 | 143 | </datafield> | ||
263 | 144 | <datafield tag="500" ind1=" " ind2=" "> | ||
264 | 145 | <subfield code="a">"The new spirit" (p. [85]-140) has special t.-p.</subfield> | ||
265 | 146 | </datafield> | ||
266 | 147 | <datafield tag="600" ind1="1" ind2="0"> | ||
267 | 148 | <subfield code="a">Tolstoy, Leo,</subfield> | ||
268 | 149 | <subfield code="c">graf,</subfield> | ||
269 | 150 | <subfield code="d">1828-1910.</subfield> | ||
270 | 151 | </datafield> | ||
271 | 152 | <datafield tag="700" ind1="1" ind2="2"> | ||
272 | 153 | <subfield code="a">Ellis, Havelock,</subfield> | ||
273 | 154 | <subfield code="d">1859-1939.</subfield> | ||
274 | 155 | <subfield code="t">New spirit.</subfield> | ||
275 | 156 | <subfield code="f">1900.</subfield> | ||
276 | 157 | </datafield> | ||
277 | 158 | </record> | ||
278 | 159 | |||
279 | 0 | 160 | ||
280 | === added file 'test/rbkt/Queries/zorba/parsing_and_serializing/bad.xml' | |||
281 | --- test/rbkt/Queries/zorba/parsing_and_serializing/bad.xml 1970-01-01 00:00:00 +0000 | |||
282 | +++ test/rbkt/Queries/zorba/parsing_and_serializing/bad.xml 2013-01-20 00:28:21 +0000 | |||
283 | @@ -0,0 +1,158 @@ | |||
284 | 1 | <collection xmlns="http://www.loc.gov/MARC21/slim"> | ||
285 | 2 | <record> | ||
286 | 3 | <leader>01428cam a2200313 a 4500</leader> | ||
287 | 4 | <controlfield tag="001">2</controlfield> | ||
288 | 5 | <controlfield tag="005">20060629073726.0</controlfield> | ||
289 | 6 | <controlfield tag="007">cr |||||||||||</controlfield> | ||
290 | 7 | <controlfield tag="008">990629s1900 maua 000 1 eng </controlfield> | ||
291 | 8 | <datafield tag="906" ind1=" " ind2=" "> | ||
292 | 9 | <subfield code="a">7</subfield> | ||
293 | 10 | <subfield code="b">ibc</subfield> | ||
294 | 11 | <subfield code="c">orignew</subfield> | ||
295 | 12 | <subfield code="d">u</subfield> | ||
296 | 13 | <subfield code="e">ocip</subfield> | ||
297 | 14 | <subfield code="f">19</subfield> | ||
298 | 15 | <subfield code="g">y-gencatlg</subfield> | ||
299 | 16 | </datafield> | ||
300 | 17 | <datafield tag="955" ind1=" " ind2=" "> | ||
301 | 18 | <subfield code="a">NEW INPUT vj36 06-29-99</subfield> | ||
302 | 19 | <subfield code="e">vj05 2002-04-03</subfield> | ||
303 | 20 | </datafield> | ||
304 | 21 | <datafield tag="035" ind1=" " ind2=" "> | ||
305 | 22 | <subfield code="9">(DLC) 00002266</subfield> | ||
306 | 23 | </datafield> | ||
307 | 24 | <datafield tag="010" ind1=" " ind2=" "> | ||
308 | 25 | <subfield code="a"> 00002266 </subfield> | ||
309 | 26 | </datafield> | ||
310 | 27 | <datafield tag="040" ind1=" " ind2=" "> | ||
311 | 28 | <subfield code="a">DLC</subfield> | ||
312 | 29 | <subfield code="c">DLC</subfield> | ||
313 | 30 | <subfield code="d">DLC</subfield> | ||
314 | 31 | </datafield> | ||
315 | 32 | <datafield tag="050" ind1="0" ind2="0"> | ||
316 | 33 | <subfield code="a">PZ3.L846</subfield> | ||
317 | 34 | <subfield code="b">So</subfield> | ||
318 | 35 | </datafield> | ||
319 | 36 | <datafield tag="051" ind1=" " ind2=" "> | ||
320 | 37 | <subfield code="a">PS3523.O46</subfield> | ||
321 | 38 | <subfield code="b">S72 1900</subfield> | ||
322 | 39 | </datafield> | ||
323 | 40 | <datafield tag="100" ind1="1" ind2=" "> | ||
324 | 41 | <subfield code="a">London, Jack,</subfield> | ||
325 | 42 | <subfield code="d">1876-1916.</subfield> | ||
326 | 43 | </datafield> | ||
327 | 44 | <datafield tag="245" ind1="1" ind2="4"> | ||
328 | 45 | <subfield code="a">The son of the wolf :</subfield> | ||
329 | 46 | <subfield code="b">tales of the far North /</subfield> | ||
330 | 47 | <subfield code="c">by Jack London.</subfield> | ||
331 | 48 | </datafield> | ||
332 | 49 | <datafield tag="246" ind1="3" ind2="0"> | ||
333 | 50 | <subfield code="a">Tales of the far North</subfield> | ||
334 | 51 | </datafield> | ||
335 | 52 | <datafield tag="260" ind1=" " ind2=" "> | ||
336 | 53 | <subfield code="a">Boston :</subfield> | ||
337 | 54 | <subfield code="b">Houghton, Mifflin,</subfield> | ||
338 | 55 | <subfield code="c">1900.</subfield> | ||
339 | 56 | </datafield> | ||
340 | 57 | <datafield tag="300" ind1=" " ind2=" "> | ||
341 | 58 | <subfield code="a">251 p. :</subfield> | ||
342 | 59 | <subfield code="b">1 ill. ;</subfield> | ||
343 | 60 | <subfield code="c">20 cm.</subfield> | ||
344 | 61 | </datafield> | ||
345 | 62 | <datafield tag="500" ind1=" " ind2=" "> | ||
346 | 63 | <subfield code="a">These tales appeared previously in the Overland monthly, 1899, and the Atlantic monthly.</subfield> | ||
347 | 64 | </datafield> | ||
348 | 65 | <datafield tag="505" ind1="0" ind2=" "> | ||
349 | 66 | <subfield code="a">The white silence -- The son of the wolf -- The men of Forty-Mile -- In a far country -- To the man on trail -- The priestly prerogative -- The wisdom of the trail -- The wife of a king -- An odyssey of the North.</subfield> | ||
350 | 67 | </datafield> | ||
351 | 68 | <datafield tag="530" ind1=" " ind2=" "> | ||
352 | 69 | <subfield code="a">Also available in digital form on the Library of Congress Web site.</subfield> | ||
353 | 70 | </datafield> | ||
354 | 71 | <datafield tag="856" ind1="4" ind2="1"> | ||
355 | 72 | <subfield code="d">mtfrb</subfield> | ||
356 | 73 | <subfield code="f">02266</subfield> | ||
357 | 74 | <subfield code="q">h</subfield> | ||
358 | 75 | <subfield code="u">http://hdl.loc.gov/loc.rbc/mtfrb.02266</subfield> | ||
359 | 76 | </datafield> | ||
360 | 77 | <datafield tag="859" ind1="4" ind2="2"> | ||
361 | 78 | <subfield code="3">Meeting of Frontiers: Siberia, Alaska, and the American West - "Rare Book Collections" Collection Description</subfield> | ||
362 | 79 | <subfield code="u">http://hdl.loc.gov/loc.eur/mtfhtml.0054</subfield> | ||
363 | 80 | </datafield> | ||
364 | 81 | <datafield tag="984" ind1=" " ind2=" "> | ||
365 | 82 | <subfield code="a">gsl</subfield> | ||
366 | 83 | </datafield> | ||
367 | 84 | <datafield tag="985" ind1=" " ind2=" "> | ||
368 | 85 | <subfield code="a">mtfront/mtfrb/tx</subfield> | ||
369 | 86 | <subfield code="e">intldl</subfield> | ||
370 | 87 | </datafield> | ||
371 | 88 | <datafield tag="985" ind1=" " ind2=" "> | ||
372 | 89 | <subfield code="a">pmpull</subfield> | ||
373 | 90 | <subfield code="e">intldl</subfield> | ||
374 | 91 | </datafield> | ||
375 | 92 | </record> | ||
376 | 93 | <record> | ||
377 | 94 | <leader>00757cam a22002171 4500</leader> | ||
378 | 95 | <controlfield tag="001">3</controlfield> | ||
379 | 96 | <controlfield tag="005">20080606094929.0</controlfield> | ||
380 | 97 | <controlfield tag="008">980227s1900 iluc 000 0 eng </controlfield> | ||
381 | 98 | <datafield tag="035" ind1=" " ind2=" "> | ||
382 | 99 | <subfield code="9">(DLC) 00004790</subfield> | ||
383 | 100 | </datafield> | ||
384 | 101 | <datafield tag="906" ind1=" " ind2=" "> | ||
385 | 102 | <subfield code="a">0</subfield> | ||
386 | 103 | <subfield code="b">ibc</subfield> | ||
387 | 104 | <subfield code="c">orignew</subfield> | ||
388 | 105 | <subfield code="d">3</subfield> | ||
389 | 106 | <subfield code="e">ocip</subfield> | ||
390 | 107 | <subfield code="f">19</subfield> | ||
391 | 108 | <subfield code="g">y-gencatlg</subfield> | ||
392 | 109 | </datafield> | ||
393 | 110 | <datafield tag="955" ind1=" " ind2=" "> | ||
394 | 111 | <subfield code="a">jd99 02-27-98</subfield> | ||
395 | 112 | </datafield> | ||
396 | 113 | <datafield tag="010" ind1=" " ind2=" "> | ||
397 | 114 | <subfield code="a"> 00004790 </subfield> | ||
398 | 115 | </datafield> | ||
399 | 116 | <datafield tag="040" ind1=" " ind2=" "> | ||
400 | 117 | <subfield code="a">DLC</subfield> | ||
401 | 118 | <subfield code="c">DLC</subfield> | ||
402 | 119 | </datafield> | ||
403 | 120 | <datafield tag="050" ind1="0" ind2="0"> | ||
404 | 121 | <subfield code="a">PG3385</subfield> | ||
405 | 122 | <subfield code="b">.S85</subfield> | ||
406 | 123 | </datafield> | ||
407 | 124 | <datafield tag="100" ind1="1" ind2=" "> | ||
408 | 125 | <subfield code="a">Stockham, Alice B.</subfield> | ||
409 | 126 | <subfield code="q">(Alice Bunker),</subfield> | ||
410 | 127 | <subfield code="d">1833-1912.</subfield> | ||
411 | 128 | </datafield> | ||
412 | 129 | <datafield tag="245" ind1="1" ind2="0"> | ||
413 | 130 | <subfield code="a">Tolstoi, a man of peace,</subfield> | ||
414 | 131 | <subfield code="c">by Alice B. Stockham. The new spirit by H. Havelock Ellis.</subfield> | ||
415 | 132 | </datafield> | ||
416 | 133 | <datafield tag="260" ind1=" " ind2=" "> | ||
417 | 134 | <subfield code="a">Chicago,</subfield> | ||
418 | 135 | <subfield code="b">A.B. Stockham,</subfield> | ||
419 | 136 | <subfield code="c">[1900]</subfield> | ||
420 | 137 | </datafield> | ||
421 | 138 | <datafield tag="300" ind1=" " ind2=" "> | ||
422 | 139 | <subfield code="a">140 p.</subfield> | ||
423 | 140 | <subfield code="b">ports.</subfield> | ||
424 | 141 | <subfield code="c">18 cm.</subfield> | ||
425 | 142 | </datafield> | ||
426 | 143 | <datafield tag="500" ind1=" " ind2=" "> | ||
427 | 144 | <subfield code="a">"The new spirit" (p. [85]-140) has special t.-p.</subfield> | ||
428 | 145 | </datafield> | ||
429 | 146 | <datafield tag="600" ind1="1" ind2="0"> | ||
430 | 147 | <subfield code="a">Tolstoy, Leo,</subfield> | ||
431 | 148 | <subfield code="c">graf,</subfield> | ||
432 | 149 | <subfield code="d">1828-1910.</subfield> | ||
433 | 150 | </datafield> | ||
434 | 151 | <datafield tag="700" ind1="1" ind2="2"> | ||
435 | 152 | <subfield code="a">Ellis, Havelock,</subfield> | ||
436 | 153 | <subfield code="d">1859-1939.</subfield> | ||
437 | 154 | <subfield code="t">New spirit.</subfield> | ||
438 | 155 | <subfield code="f">1900.</subfield> | ||
439 | 156 | </datafield> | ||
440 | 157 | </record> | ||
441 | 158 | </collection> | ||
442 | 0 | 159 | ||
443 | === added file 'test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-57.xq' | |||
444 | --- test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-57.xq 1970-01-01 00:00:00 +0000 | |||
445 | +++ test/rbkt/Queries/zorba/parsing_and_serializing/parse-fragment-skip-root-57.xq 2013-01-20 00:28:21 +0000 | |||
446 | @@ -0,0 +1,13 @@ | |||
447 | 1 | import module namespace parse-xml = "http://www.zorba-xquery.com/modules/xml"; | ||
448 | 2 | import schema namespace opt = "http://www.zorba-xquery.com/modules/xml-options"; | ||
449 | 3 | import module namespace fetch = "http://www.zorba-xquery.com/modules/fetch"; | ||
450 | 4 | |||
451 | 5 | variable $xmlcontents := fetch:content(resolve-uri("bad.xml")); | ||
452 | 6 | |||
453 | 7 | let $contents := parse-xml:parse( | ||
454 | 8 | $xmlcontents, | ||
455 | 9 | <opt:options> | ||
456 | 10 | <opt:parse-external-parsed-entity opt:skip-root-nodes="1"/> | ||
457 | 11 | </opt:options>) | ||
458 | 12 | |||
459 | 13 | return $contents |
Validation queue starting for merge proposal. zorbatest. lambda. nu:8080/ remotequeue/ parse-fragment- 2013-01- 16T14-41- 25.479Z/ log.html
Log at: http://