Peter Wilson pwilson at
Fri Apr 16 18:49:07 BST 1999

I am working an a compiled form of xml (cxml).
This parses xml and with DTD/schema information (also in cxml) to
produce a file with the equivalent information. The cxml file has the
following advantages:

1. Attributes are typed - based on Java basic types int,String etc.
2. Attributes may be extended to simple object types (Point(x,y),
Color(red) etc.).
3. No parsing required - very quick to load.
    The data is written to a DataOutputStream using standard java.
    The data is read using a DataInputStream using standard java.
    The data format is extremely simple as it does not need to address
all the concerns of a ASN.1 type specification.
4. With deference to David Brownwell - minimum bit stuffing.
5. Name Space references are resolved.
6. All text is stored in UTF8 and resolved to Unicode.
7. Artifacts of xml text representation are removed:
    Parsed/unparsed text distinction. Text is just text.
    Character entities are resolved.
8. Less importantly, smaller size about 30-40%.
9. The DTD/schema cxml is contains into two types of information: domain

and constraints. The domain information is compiled into the cxml. This
ensures that sufficient information to display a document or create a
DOM model is contained within the document. The constraints form is
referenced and contains sufficient information to edit the document
contents. Including allowed element structure and additional attribute
validation, cross attribute validation etc.
10. The base interface to the cxml reader is a SAX like event stream.

I hope to post a reference to this specification and implementation
(open source) within the next two weeks.

Planned Extensions:
I have an older version of cxml which encodes XML to define a Swing
interface and event handling.
Using this user interface definition I have basic a browser to view cxml

structures directly.
An generic editor would not be too difficult. I hope to make these
available also.

This Swing interface requires an extension to XML to handle Swing
components (Java beans). The DTD must be dynamic. Does this element
support this attribute having this type when attribute x="y"? It is not
feasible to define a DTD which contains all the attributes for all
possible java components. The compiler and runtime loader must determine

the type and set/get methods for the attributes dynamically.

Anyone interested?

Regards Peter Wilson

xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at
Archived as: and on CD-ROM/ISBN 981-02-3594-1
To (un)subscribe, mailto:majordomo at the following message;
(un)subscribe xml-dev
To subscribe to the digests, mailto:majordomo at the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa at

More information about the Xml-dev mailing list