Two mapping profiles
Ordered (bxml-ordered/1) writes every node — elements, text, CDATA, comments, processing instructions — as an array in document order, with namespace URIs on each name. It converts back to equivalent XML. Only lexical details are lost, such as quote style and how characters were escaped.
Compact (bxml-compact/1) is the familiar shape: attributes as "@name", text as "#text", repeated elements as arrays. It is never labelled lossless. Mixed content loses its order, comments and processing instructions disappear, CDATA becomes plain text, everything is a string, and a name can be a single object in one place and an array in another. Each of these is counted in the loss report with examples.
Questions
Why are numbers strings?
XML text has no type without a schema. Guessing would turn ZIP codes like 01234 into 1234, so the compact profile keeps strings.
Can I go back to XML?
Yes, on the JSON to XML page. JSON in the ordered profile converts back exactly; compact JSON follows documented rules.