Skip to content

Releases: jmdavis/dxml

0.2.1

12 Feb 06:18
Compare
Choose a tag to compare

Quick update to 0.2.0 due to a mistake that wasn't caught in testing.

  • Module declaration in dxml.dom fixed. It was accidentally still dxm.parser.dom even though the file was dxml/dom.d, and unfortunately, that wasn't caught in testing, since that's the sort of thing that unit tests don't tend to catch.

0.2.0

12 Feb 05:36
Compare
Choose a tag to compare

The big changes here are that basic DOM support was added with dxml.dom, and dxml.parser.stax was renamed to dxml.parser, since it's really the only parser - the DOM support really doesn't even act like its own parser and is very explicit about how it's merely a way to store the results of the StAX parser, so it seemed better to just rename the module and reduce the length of the import path.

  • Renamed dxml.parser.stax to dxml.parser. For this release, dxml.parser.stax is an empty, deprecated module which publicly imports dxml.parser in order to not break any code, but in 0.3.0, dxml.parser.stax will be removed.

  • Added dxml.dom, which adds DOM support to dxml. dxml.dom.parseDOM dom returns a dxml.dom.DOMEntity which recursively represents the DOM tree. It uses dxml.parser.EntityRange and does no additional parsing of any kind on its own. DOMEntity is just a type for holding the parsing results as a DOM tree. There are currently no helper functions for DOMEntity beyond what already exists in dxml.util for normalizing XML strings.

  • opEquals was removed from EntityRange.Entity. It didn't handle pos properly, and in retrospect, it really doesn't make sense. When comparing entities from the same document, the pos property is sufficient to detect whether two entities refer to the same point in the document, and it's unclear what it should mean to compare entities from separate documents. Ultimately, it seemed far better to leave that up to the programmer.

    It's recommended that anyone wanting to compare entities simply compare the properties of the entity that they want to be checking. Alternatively, the pos property will uniquely identify an entity within an XML document.

  • Fixed some cases where a range that's a class would cause segfaults due to having a null init value.

0.1.0

10 Feb 20:14
Compare
Choose a tag to compare

This is the first release of dxml. For now, all it contains is a range-based StAX parser and related helper functions, but a DOM parser is planned along with two writers - one which is essentially the writer equivalent of a StAX parser and one which is DOM-based.

  • dxml.parser.stax is a new module. It contains a range-based StAX parser.

  • dxml.util is a new module. It contains helper functions not specific to a parser.