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
23 lines
638 B
Markdown
23 lines
638 B
Markdown
# PureXML Rules
|
|
|
|
Load these rules before changing code:
|
|
|
|
- `code-style.md`
|
|
- `namespacing.md`
|
|
- `cross-platform.md`
|
|
- `testing.md`
|
|
- `verification.md`
|
|
- `commits.md`
|
|
|
|
Project-specific overrides:
|
|
|
|
- PureXML uses a root `Package.swift`.
|
|
- Sources live directly under `Sources`.
|
|
- Tests live in `Tests` (test target `PureXMLTests`).
|
|
- `Package.swift` must keep `dependencies: []`.
|
|
- Public API must live under the `PureXML` namespace tree.
|
|
- The package must build on macOS, Linux, Windows, and WASI.
|
|
|
|
The broader rule files are retained for detailed guidance. When they include
|
|
generic examples, apply the PureXML-specific overrides above.
|