> David Megginson wrote:
>
> > Sam Gentile writes:
> >
> > > > Also, we have been hearing rumors of a "short" XML notation. Is
> > > > there one? We have a need to reduce the size of our buffers.
> >
> > No, there is no such thing. XML's parent, SGML, included extensive
> > facilities for markup minimisation and has suffered badly for it,
> > since SGML tools are far too difficult to write (there is still not a
> > single Java-based SGML parser, beside probably more than a dozen
> > Java-based XML parsers).
> >
> > There are, however, alternatives: for example, you could compile the
> > XML to a compact binary format for internal storage then decompile it
> > back to a verbose format for export -- there's no requirement to store
> > it internally as text.
>
> Simple some very simple compression algorithms like Huffman encoding for
> instance, do very well with XML documents as the Name production that is used for
> identifying tags among other things will be converted to some binary symbol that
> is used as an index to lookup the actual name production. In fact, you could do
> this all with entities by simply taking all of the Names specified in the DTD,
> spit them into a List, and then declare all entities.
>
> You could index all of this by using base 10 digits or else use something as high
> as base 64 to encode the array references.
>
> <!ENTITY % 0 "Foo">
> <!ENTITY % 1 "Bar">
>
> Then for a document which had element types with names "Foo" and "Bar" occurences
> of:
>
> <foo></foo>
> <bar></bar>
>
> would be converted to:
>
> <0></0>
> <1></1>
Please forgive any confusion I may have caused but this is not valid XML as digits
are not allowed as the first character in a name (only Letter's and the characters
'_' and ':'). In this case, instead of using numeric digits, use characters that are
Letters and simply map each letter to a corresponding digit value.
Tyler