[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

recursion in XML parser

  • From: roddey@u...
  • To: xml-dev@i...
  • Date: Tue, 20 Apr 1999 12:10:05 -0600

recursive xml parsing



>Are most XML parsers recursive in nature?
>My parser in non-recursing while processing the tags from an XML file
>and only recurses once to go back and load an XSL file, when applicable.
>

There are some places where mine is recursive, e.g. parsing and otherwise
manipulating the tree like content models in the DTD. But no, there is not
really much reason to recurse while parsing XML. We also do recurse while
handling INCLUDE/IGNORE sections, because it simplies some things (and
hopefully no one is going to have 100 nested levels of INCLUDE/IGNORE, and
if they do I'm not too worried about impressing them :-)

>My reasoning for not using recursion was performance (function call/stack
framing
>considerations) and that it made the code easier to understand.
>

Its also more than that. Once you get into certain things, you might have
to search back down the element nesting tree in a very efficient way, and
having it on the stack would make that pretty difficult. Having your own
element stack (and probably they all do), makes it straightforward.

>It would be interesting to do some benchmarks on various parsers out there
to
>measure performance.  The Java parsers I've tested (Sun, IBM) are _dog_
slow
>compared to expat, etc.  For server-side I don't think that matters, since
in
>the corporate scene people tend to just add more servers/infrastructure
and
>not worry about performance.
>

In our own defense, our second generation parsers are not dog slow compared
to anyone, though they are still slower than Expat. But there are other
reasons than pure sloth for this. Large companies like us have to consider
extensibility and the ability to serve many masters. So we cannot write a
highly compact parser that can fly but not be easily extensible. We have to
support gazzillions of encodings, and many different configurations. When
the blessed schema arrives, we have the architecture to handle it without
rewriting it and without affecting our customers. That's extremely
important and it has a certain amount of associated cost.

If you can write a parser that's as fast as Expat and as flexible as ours,
I'm sure you'll be a hero to your people, and I'll buy you a six pack of
your favorite import.



xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev@i...
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/ and on CD-ROM/ISBN 981-02-3594-1
To (un)subscribe, mailto:majordomo@i... the following message;
(un)subscribe xml-dev
To subscribe to the digests, mailto:majordomo@i... the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa@i...)


PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
 

Stylus Studio has published XML-DEV in RSS and ATOM formats, enabling users to easily subcribe to the list from their preferred news reader application.


Stylus Studio Sponsored Links are added links designed to provide related and additional information to the visitors of this website. they were not included by the author in the initial post. To view the content without the Sponsor Links please click here.

Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.