[GSoC] std.experimental.xml is now a PR!

NVolcz via Digitalmars-d-announce digitalmars-d-announce at puremagic.com
Sat Aug 27 23:28:35 PDT 2016


On Wednesday, 24 August 2016 at 09:31:44 UTC, Lodovico Giaretta 
wrote:
> Hi!
>
> I'm pleased to announce that my GSoC project, a replacement for 
> the outdated std.xml, is now a Phobos PR! [1] It is an (almost 
> complete) mirror of my repository [2], which is also available 
> on DUB [3].
>
> I would like to thank my mentor Robert burner Schadek for his 
> great support and everybody who already gave some feedback 
> during these months.
>
> The PR is not meant for immediate merging. Some things still 
> need improvement (docs/unittests/...) while others will come in 
> a second iteration (advanced DTD handling). It is meant to for 
> some reviews, focusing mainly on the design and usability of 
> the library.
>
> In the PR description you will find all the details, including 
> a nice "wishlist" of things that I found missing in D during 
> the development and some open questions.
>
> So, if you have any consideration/suggestion, drop a line here 
> or on the PR, and if you find bugs, don't hesitate to file an 
> issue on the issue tracker of my repository.
>
> Thank you very much!
>
> [1] https://github.com/dlang/phobos/pull/4741
> [2] https://github.com/lodo1995/experimental.xml
> [3] https://code.dlang.org/packages/std-experimental-xml

I like the new cursor API very much since it enables new use 
cases that are were hard to do with the old API. Thanks for your 
hard work!

Examples are a bit scares. I like the way Phobos documents every 
functions with an unittest/example. I'm all for that!

Another thing I encountered some days ago was that the default 
error handler is using asserts to signal error. 
https://github.com/lodo1995/experimental.xml/issues/30
It is not obvious from the API that you're required to have a 
error handler.
Two ideas:
Use exceptions instead of asserts. This way it is recoverable in 
the default use case.
Require a error handler in the constructor.


More information about the Digitalmars-d-announce mailing list