Binary Data in XML : Turning back the clock

david at david at
Wed Sep 30 14:26:57 BST 1998

Samuel R. Blackburn writes:

 > A couple of weeks ago on this list, there was a thread that was
 > lamenting the slow adoption of XML in the web community.
 > It seems to me that one of the first problems programmers
 > encounter is XML's inability to handle "binary" data. Once they
 > hit that wall, they drop XML and move on to something else
 > (usually a custom format).
 > If we could turn back the clock to before 19980210 and get
 > rid of design goal #3, handling binary data could have been
 > so easily handled by adding one element attribute. If the
 > XML spec had included one predefined attribute called
 > "xml:length" binary data would have been a no-brainer to
 > handle. Here's an example:
 > <BINARY_DATA xml:length="4"><<<<</BINARY_DATA>

This suggestion has a few problems.  What does 'xml:length' represent
-- bytes or characters?  How can a program change the encoding (say,
from UTF-8 to UCS-4) without actually parsing the document?  If I'm
transmitting from an M68K to an 80*86 machine, what happens to byte

When you do need binary data inline, here's a much simpler solution:

  <BINARY_DATA type="text/plain" enc="base64">PDw8PA==</BINARY_DATA>

You can easily add attributes for the length, checksum, digital
signature, encryption key, etc.

All the best,


David Megginson                 david at

xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at
Archived as:
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