
Robert Ramey wrote:
Boris Kolpackov wrote:
My uneducated guess is that "spirit-based XML grammar" is not a conforming XML parser.
Not relevant.
The question isn't which features the particular XML parser included with spirite supports. Any missing features could be added to the grammar without too much problem - that's the appeal of using a grammar driven approach.
That is also the appeal of "Let's reinvent it !". There are XML parsers out there that support all the above. Why not use them ?
The next question is how much effort it will take to fix it up
Much less than hand coding yet another xml parser.
True. But much more than using an existent (compliant) parser.
and whether it will still be as robust, maintainable,
A parser generated from a formal grammar is going to be much more robust, and maintainable. The grammar can be vrified independently of the implementaion.
The XML 'grammar' is in fact the most trivial aspect of it.
The reason why you had good results with serialization library is because you control both production and consumption of the instances so you can easily restrict yourself to a subset of XML.
The reason I had good results with spirit with serialization library is that it's good, robust, well designed and well documented code. I built on that.
What features of XML are you using ? External subsets or any other URLs that need to be looked up ? XInclude support to make documents modular ? Etc., etc.
Once you need to process *any* valid XML things get a lot more complicated.
Which is even more reason to avoid a hand coded parser.
I think you (still) totally miss the point. Sorry. Stefan -- ...ich hab' noch einen Koffer in Berlin...