Replacing std.xml

Michel Fortin michel.fortin at michelf.ca
Sat Aug 31 11:53:41 PDT 2013


On 2013-08-31 15:43:00 +0000, "ilya-stromberg" 
<ilya-stromberg-2009 at yandex.ru> said:

> On Thursday, 29 August 2013 at 07:53:46 UTC, Tobias Pankrath wrote:
>> There is http://dsource.org/projects/xmlp, which at some point has been 
>> proposed for std.xml2. But that stalled for some time now.
> 
> Also, we have Tango Xml:
> https://github.com/SiegeLord/Tango-D2/tree/d2port/tango/text/xml
> 
> It's the fastest Xml parser in the world, so may be you can find it useful:
> dotnot.org/blog/archives/2008/03/10/xml-benchmarks-parsequerymutateserialize/
> dotnot.org/blog/archives/2008/03/12/why-is-dtango-so-fast-at-parsing-xml/

Someone should benchmark it against the XML implementation I made. It 
has many of the same characteristics.

For instance, Tango's SaxParser is based on its PullParser. This design 
requires the use a dynamic array to maintain a stack of opened 
elements. While not a huge performance hit, you don't need that if you 
use recursion, which you can do with my implementation. You can do that 
even though you can also use it as a pull tokenizer[^1] when needed 
(recursion is optional on a token-by-token basis).

[^1]: IMHO, PullParser isn't a really good term for something that does 
not conform to the requirements of a parser in the XML spec. Tokenizer 
is a better term.

-- 
Michel Fortin
michel.fortin at michelf.ca
http://michelf.ca



More information about the Digitalmars-d mailing list