kobold-xml 0.1.0

A clean-room, Rust-native COBOL-data XML layer (real XML GENERATE). Independent of GnuCOBOL/libcob; not a GnuCOBOL parity claim.
Documentation
# kobold-xml

A **clean-room, Rust-native COBOL-data XML layer** — turns a decoded COBOL record into deterministic XML.

> [!IMPORTANT]
> **kobold-xml is independent of GnuCOBOL/libcob.** It links no COBOL runtime, contains no libcob-derived
> code, and is **not a GnuCOBOL 3.2 parity claim.** It answers *"what should a safe Rust-native COBOL XML
> layer do?"* — not *"what does GnuCOBOL 3.2 do?"* (that is the LGPL `gnucobol-rs` crate's job, which
> faithfully preserves GnuCOBOL's behavior including its unimplemented `XML PARSE` stub). Evidence here is
> the `EXT.XML.*` court namespace.

## v0.1 — XML GENERATE

- A deterministic XML serializer of an explicit element tree (`EXT.XML.GENERATE.1`) with explicit
  text/attribute escaping (`EXT.XML.ESCAPE.1`): attributes in tree order, no timestamps/locale — safe for
  migration diffs and golden-file tests.
- A clean COBOL-record model (`CobolField` / `CobolValue`) and its mapping to the XML tree. You decode your
  COBOL data into `CobolField`s by whatever means (e.g. separately with `gnucobol-rs`); kobold-xml itself
  depends on no COBOL runtime.

v0.1 value policy: alphanumeric → bytes trimmed of trailing spaces; numeric → leading zeros stripped, decimal
point at scale, leading `-` if negative; group → nested element; `FILLER` omitted.

## v0.2 (planned) — XML PARSE

A real event stream (`START-OF-DOCUMENT` … `END-OF-DOCUMENT`) + generate→parse round-trip
(`EXT.XML.PARSE.1` / `EXT.XML.ROUNDTRIP.1`).

License: Apache-2.0.