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
  • Coverage
  • 91.67%
    33 out of 36 items documented1 out of 18 items with examples
  • Size
  • Source code size: 20.66 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 649.21 kB This is the summed size of all files generated by rustdoc for all configured targets
  • Ø build duration
  • this release: 3s Average build duration of successful builds.
  • all releases: 3s Average build duration of successful builds in releases after 2024-10-23.
  • Links
  • Homepage
  • infinityabundance/kobold-xml
    0 0 0
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • infinityabundance

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 CobolFields 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-DOCUMENTEND-OF-DOCUMENT) + generate→parse round-trip (EXT.XML.PARSE.1 / EXT.XML.ROUNDTRIP.1).

License: Apache-2.0.