Re: On the fly XML parser
Alex Rousskov <[email protected]> Thu, 1 Jul 2004 14:15:14 -0600 (MDT)
| Newsgroups | gmane.comp.parsers.hapy.user |
|---|---|
| Message-ID | <[email protected]> |
This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. Send mail to mime-oOUblnuQwHKola3qYQ6TW/IULO3mGbRi9nwVQlTi/[email protected] for more info. --0-1176238263-1088712914=:8428 Content-Type: TEXT/PLAIN; charset=US-ASCII On Thu, 3 Jun 2004, Romain Behar wrote: > There is another tweak in the prefix parsing loop: > ... > helps the parser not to stop on string parsing (e.g. > "<!--" in rComment); > is there a better way to handle this trick? Romain's use case uncovered a bug in prefixing code. The patch is attached and will be included in 0.0.7 release. The bug does not affect parsers that have access to entire input. Thank you, Alex. -- Protocol performance, functionality, and reliability testing. Tools, services, and know-how. http://www.measurement-factory.com/ --0-1176238263-1088712914=:8428 Content-Type: TEXT/PLAIN; charset=US-ASCII; name="startsWith.diff" Content-Transfer-Encoding: BASE64 Content-ID: <Pine.BSF.4.58.0407011415140.8428-LbpN3Auhdh+Rtz+nHKFJDvXmoG9oyoYx@public.gmane.org> Content-Description: /tmp/startsWith.diff Content-Disposition: attachment; filename="startsWith.diff" SW5kZXg6IHNyYy9BbGdvcml0aG1zLmNjDQo9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09DQpSQ1MgZmlsZTogL3Vzci9sb2NhbC9DVlMvVG1mQmFzZS9IYXB5L3Ny Yy9BbGdvcml0aG1zLmNjLHYNCnJldHJpZXZpbmcgcmV2aXNpb24gMS4zNA0K ZGlmZiAtdSAtcjEuMzQgQWxnb3JpdGhtcy5jYw0KLS0tIHNyYy9BbGdvcml0 aG1zLmNjCTMgTWFyIDIwMDQgMDQ6MDc6NDYgLTAwMDAJMS4zNA0KKysrIHNy Yy9BbGdvcml0aG1zLmNjCTEgSnVsIDIwMDQgMDU6MTU6NDAgLTAwMDANCkBA IC02NTQsMTggKzY1NCwxMiBAQA0KIH0NCiANCiBIYXB5OjpBbGdvcml0aG06 OlN0YXR1c0NvZGUgSGFweTo6U3RyaW5nQWxnOjpyZXN1bWUoQnVmZmVyICZi dWYsIFByZWUgJikgY29uc3Qgew0KLQljb25zdCBzdHJpbmc6OnNpemVfdHlw ZSBjb250ZW50U2l6ZSA9IGJ1Zi5jb250ZW50U2l6ZSgpOw0KLQlpZiAoY29u dGVudFNpemUgPCB0aGVUb2tlbi5zaXplKCkpIHsNCi0JCWlmIChidWYuc2F3 RW5kKCkpDQotCQkJcmV0dXJuIFJlc3VsdDo6c2NNaXNzOw0KLQkJcmV0dXJu IChjb250ZW50U2l6ZSA+IDAgJiYgIWJ1Zi5zdGFydHNXaXRoKHRoZVRva2Vu KSkgPw0KLQkJCVJlc3VsdDo6c2NNaXNzIDogUmVzdWx0OjpzY01vcmU7IC8v IG5lZWRfbW9yZV9pbnB1dA0KKwlib29sIG5lZWRNb3JlID0gZmFsc2U7DQor CWlmIChidWYuc3RhcnRzV2l0aCh0aGVUb2tlbiwgbmVlZE1vcmUpKSB7DQor CQlidWYuYWR2YW5jZSh0aGVUb2tlbi5zaXplKCkpOw0KKwkJcmV0dXJuIFJl c3VsdDo6c2NNYXRjaDsNCiAJfQ0KLQlpZiAoIWJ1Zi5zdGFydHNXaXRoKHRo ZVRva2VuKSkgew0KLQkJcmV0dXJuIFJlc3VsdDo6c2NNaXNzOw0KLQl9DQot CWJ1Zi5hZHZhbmNlKHRoZVRva2VuLnNpemUoKSk7DQotCXJldHVybiBSZXN1 bHQ6OnNjTWF0Y2g7DQorCXJldHVybiBuZWVkTW9yZSA/IFJlc3VsdDo6c2NN b3JlIDogUmVzdWx0OjpzY01pc3M7DQogfQ0KIA0KIGJvb2wgSGFweTo6U3Ry aW5nQWxnOjp0ZXJtaW5hbChzdHJpbmcgKm5hbWUpIGNvbnN0IHsNCkluZGV4 OiBzcmMvQnVmZmVyLmNjDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQpSQ1Mg ZmlsZTogL3Vzci9sb2NhbC9DVlMvVG1mQmFzZS9IYXB5L3NyYy9CdWZmZXIu Y2Msdg0KcmV0cmlldmluZyByZXZpc2lvbiAxLjE5DQpkaWZmIC11IC1yMS4x OSBCdWZmZXIuY2MNCi0tLSBzcmMvQnVmZmVyLmNjCTE2IEFwciAyMDA0IDA0 OjAyOjIzIC0wMDAwCTEuMTkNCisrKyBzcmMvQnVmZmVyLmNjCTEgSnVsIDIw MDQgMDU6MTU6NDAgLTAwMDANCkBAIC0zNiw4ICszNiwxNiBAQA0KIAlyZXR1 cm4gdGhlRGF0YS5zaXplKCkgPyB0aGVEYXRhLnN1YnN0cihwb3MoKSArIG9m ZikgOiB0aGVEYXRhOw0KIH0NCiANCi1ib29sIEhhcHk6OkJ1ZmZlcjo6c3Rh cnRzV2l0aChjb25zdCBzdHJpbmcgJnMsIGNvbnN0IHNpemVfdHlwZSBvZmYp IGNvbnN0IHsNCi0JcmV0dXJuIHN0cmluZ19jb21wYXJlKHRoZURhdGEsIHBv cygpICsgb2ZmLCBzLnNpemUoKSwgcykgPT0gMDsNCitib29sIEhhcHk6OkJ1 ZmZlcjo6c3RhcnRzV2l0aChjb25zdCBzdHJpbmcgJnBmeCwgYm9vbCAmbmVl ZE1vcmUpIGNvbnN0IHsNCisJY29uc3Qgc2l6ZV90eXBlIGNzaXplID0gY29u dGVudFNpemUoKTsNCisJaWYgKGNzaXplIDwgcGZ4LnNpemUoKSkgew0KKwkJ bmVlZE1vcmUgPSAhc2F3RW5kKCkgJiYNCisJCQkoY3NpemUgPD0gMCB8fCBz dHJpbmdfY29tcGFyZSh0aGVEYXRhLCBwb3MoKSwgY3NpemUsIHBmeCkgPT0g MCk7DQorCQlyZXR1cm4gZmFsc2U7DQorCX0gZWxzZSB7DQorCQluZWVkTW9y ZSA9IGZhbHNlOw0KKwkJcmV0dXJuIHN0cmluZ19jb21wYXJlKHRoZURhdGEs IHBvcygpLCBwZnguc2l6ZSgpLCBwZngpID09IDA7DQorCX0NCiB9DQogDQog dm9pZCBIYXB5OjpCdWZmZXI6OmFwcGVuZChjb25zdCBzdHJpbmcgJm1vcmVE YXRhKSB7DQpJbmRleDogc3JjL2luY2x1ZGUvSGFweS9CdWZmZXIuaA0KPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQ0KUkNTIGZpbGU6IC91c3IvbG9jYWwvQ1ZT L1RtZkJhc2UvSGFweS9zcmMvaW5jbHVkZS9IYXB5L0J1ZmZlci5oLHYNCnJl dHJpZXZpbmcgcmV2aXNpb24gMS4xOA0KZGlmZiAtdSAtcjEuMTggQnVmZmVy LmgNCi0tLSBzcmMvaW5jbHVkZS9IYXB5L0J1ZmZlci5oCTE2IEFwciAyMDA0 IDA0OjAyOjI0IC0wMDAwCTEuMTgNCisrKyBzcmMvaW5jbHVkZS9IYXB5L0J1 ZmZlci5oCTEgSnVsIDIwMDQgMDU6MTU6NDAgLTAwMDANCkBAIC0yNSw3ICsy NSw3IEBADQogCQlzaXplX3R5cGUgY29udGVudFNpemUoKSBjb25zdCB7IHJl dHVybiB0aGVEYXRhLnNpemUoKSAtIHBvcygpOyB9DQogCQlzdHJpbmcgY29u dGVudChjb25zdCBzaXplX3R5cGUgb2ZmID0gMCkgY29uc3Q7DQogCQljaGFy IHBlZWsoY29uc3Qgc2l6ZV90eXBlIG9mZiA9IDApIGNvbnN0IHsgcmV0dXJu IHRoZURhdGFbcG9zKCkgKyBvZmZdOyB9DQotCQlib29sIHN0YXJ0c1dpdGgo Y29uc3Qgc3RyaW5nICZzLCBjb25zdCBzaXplX3R5cGUgb2ZmID0gMCkgY29u c3Q7DQorCQlib29sIHN0YXJ0c1dpdGgoY29uc3Qgc3RyaW5nICZzLCBib29s ICZuZWVkTW9yZSkgY29uc3Q7DQogCQlib29sIHNhd0VuZCgpIGNvbnN0IHsg cmV0dXJuIGRpZFNlZUVuZDsgfQ0KIA0KIAkJdm9pZCBhcHBlbmQoY29uc3Qg c3RyaW5nICZhRGF0YSk7DQo= --0-1176238263-1088712914=:8428-- ------------------------------------------------------- This SF.Net email sponsored by Black Hat Briefings & Training. Attend Black Hat Briefings & Training, Las Vegas July 24-29 - digital self defense, top technical experts, no vendor pitches, unmatched networking opportunities. Visit www.blackhat.com