Compiled XML/Binary XML/Structured XML, Was: Re: ASN.1
Stephen D. Williams
sdw at lig.net
Mon Apr 19 05:44:32 BST 1999
A couple weeks ago a number of us were talking about 'binary XML' or 'bXML' after I brought
the topic up. The name is in flux but I'm working on code as time permits before I blab
anymore...
You have arrived at many of the same conclusions.
I'll point out that I believe that cXML is used for Commerce XML or something like that,
although I like the connotations of 'compiled'. When we have something working and battle out
the details we can choose ;-).
Please note that we're not directly in agreement yet, but the basic goals of optimization
appear to be compatible.
sdw
Peter Wilson wrote:
> Hi,
> 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 ic.ac.uk
> Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/ and on CD-ROM/ISBN 981-02-3594-1
> To (un)subscribe, mailto:majordomo at ic.ac.uk the following message;
> (un)subscribe xml-dev
> To subscribe to the digests, mailto:majordomo at ic.ac.uk the following message;
> subscribe xml-dev-digest
> List coordinator, Henry Rzepa (mailto:rzepa at ic.ac.uk)
xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at ic.ac.uk
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/ and on CD-ROM/ISBN 981-02-3594-1
To (un)subscribe, mailto:majordomo at ic.ac.uk the following message;
(un)subscribe xml-dev
To subscribe to the digests, mailto:majordomo at ic.ac.uk the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa at ic.ac.uk)
More information about the Xml-dev
mailing list