Thread overview | ||||||
---|---|---|---|---|---|---|
|
December 30, 2016 Another XML DOM Package | ||||
---|---|---|---|---|
| ||||
This is my first package to learn D. Suggestion for improvement is welcome. https://github.com/apz28/dlang-xml |
January 04, 2017 Re: Another XML DOM Package | ||||
---|---|---|---|---|
| ||||
Posted in reply to apz28 | On Friday, 30 December 2016 at 04:19:47 UTC, apz28 wrote:
> This is my first package to learn D. Suggestion for improvement is welcome.
>
> https://github.com/apz28/dlang-xml
Welcome here!
- you don't have to commit .sln files, dub can generate them as needed
- that is for a package that will be reused you can use dub :)
- no need to use @property, there was a recent discussion about it. I think you can ignore it altogether.
- you can use "final" before a class declaration to have all methods be final
final class C { /* all methods are final /= }
- no need for "public import std.exception : Exception;" to use Exception
imho the XML parser to beat in our ecosystem is kxml, which is small and serviceable
|
January 05, 2017 Re: Another XML DOM Package | ||||
---|---|---|---|---|
| ||||
Posted in reply to Guillaume Piolat Attachments:
| Guillaume Piolat via Digitalmars-d-announce <digitalmars-d-announce@puremagic.com> napsal St, led 4, 2017 v 11∶48 : > On Friday, 30 December 2016 at 04:19:47 UTC, apz28 wrote: >> This is my first package to learn D. Suggestion for improvement is welcome. >> >> https://github.com/apz28/dlang-xml > > Welcome here! > > - you don't have to commit .sln files, dub can generate them as needed > - that is for a package that will be reused you can use dub :) > - no need to use @property, there was a recent discussion about it. I > think you can ignore it altogether. Yes he can but I still prefer it for documentation purposes :) > > - you can use "final" before a class declaration to have all methods be final > > final class C { /* all methods are final /= } Most common and IMHO better pattern is put final as first thing in class like this: class C { final: // all methods after this are final } It has some advantages (class C is not final so you can still use inheritance), marking class final does not need to mean all methods are final (it makes sense to mark them and in curent implementation it is) you can still add easy one method which is virtual. To be fair I mostly use struct instead of final clases > > > - no need for "public import std.exception : Exception;" to use Exception > > imho the XML parser to beat in our ecosystem is kxml, which is small and serviceable |
January 06, 2017 Re: Another XML DOM Package | ||||
---|---|---|---|---|
| ||||
Posted in reply to Guillaume Piolat | On Wednesday, 4 January 2017 at 22:48:30 UTC, Guillaume Piolat wrote: > On Friday, 30 December 2016 at 04:19:47 UTC, apz28 wrote: >> This is my first package to learn D. Suggestion for improvement is welcome. >> >> https://github.com/apz28/dlang-xml > > Welcome here! > > - you don't have to commit .sln files, dub can generate them as needed > - that is for a package that will be reused you can use dub :) > - no need to use @property, there was a recent discussion about it. I think you can ignore it altogether. > - you can use "final" before a class declaration to have all methods be final > > final class C { /* all methods are final /= } > > - no need for "public import std.exception : Exception;" to use Exception > > imho the XML parser to beat in our ecosystem is kxml, which is small and serviceable 1. no need for "public import std.exception Fixed 2. Compare to kxml - kxml seem be faster but - kxml is still missing various xml function, such as prefix, custom entity, load from file, sax ... - kxml do not pass the test ibm suit (not able to evaluate further) (https://github.com/lodo1995/experimental.xml/tree/master/tests/ibm). Died with range violation xml.d(516) for "<doc><![CDATA[</doc>" |
Copyright © 1999-2021 by the D Language Foundation