Root Swift package mirroring PureYAML's structure, rules, and verification gates. Includes the XML node model (Node, Element, Attribute, QualifiedName), a working emitter (Serializer) with escaping and pretty/compact options, and structural validation. The parser surface is stable; parse() raises notImplemented until the scanner lands, pinned by a test. - dependency-free, namespaced under PureXML - portability and style gates carried over (style, namespacing, forbidden patterns, swiftformat, swiftlint, linux, wasm, windows CI) - 11 tests passing
1.1 KiB
Attribution
PureXML is an independent Swift implementation.
This project is informed by the behavior and public API surface of established
XML parsers, including libxml2,
expat, and Foundation's XMLParser, and
by the W3C XML 1.0 specification and its
conformance test suite. Their behavior is a compatibility reference for PureXML.
PureXML does not copy source code from libxml2, expat, Foundation, or any other
XML parser into the public package. The implementation under Sources/ is
written in Swift for this repository.
Upstream sources remain available from their projects:
- https://gitlab.gnome.org/GNOME/libxml2
- https://github.com/libexpat/libexpat
- https://www.w3.org/TR/xml/
This file is the canonical attribution notice for the project; the LICENSE
file is kept to the standard MIT text so it is correctly detected as MIT.
The private PureXMLResearch repository contains reference source snapshots and
conformance corpora for study and compatibility research. That repository is not
the implementation source for PureXML.