How to use binary data with XML?

Jonathan Borden jborden at
Tue Apr 20 22:29:44 BST 1999

Roger L. Costello wrote:
>I have a few questions on using binary data (e.g., gif, jpeg images)
>with XML.
>(1)  Binary data isn't actually put in an XML file, correct? i.e., the
>binary data is _not_ inline, correct?  An XML file just contains ASCII
>text, correct?

    Binary data can be embedded inline using base64 encoding. I have placed
a demo of a MIME -> XML converter, XMTP, which demonstrates this at
test-xmtp at If you send an E-mail with a binary image
attachment, it will convert the multipart MIME message into XML (with inline
binary parts) and E-mail you back the response.

>(2)  Just like in HTML, binary data is _referenced_ by the XML document,

This article discusses uses of binary data and XML.

>(3) Is this the correct way of using binary data:
><!ENTITY bostonGIF SYSTEM "" NDATA gif>
><!ENTITY bostonJPEG SYSTEM "" NDATA jpeg>
><!ELEMENT map (image)>
><!ATTLIST image
>              src  ENTITY #REQUIRED
>              desc CDATA  #IMPLIED>
>    <image src="bostonGIF"
>           desc="Map of Boston"/>
>Here we see an XML document _referencing_ a file containg binary data.
>The binary data is not actually inline.  Is this how it's done?  /Roger

    With <image src="..."> src refers to a link to an external binary data
object. It is the job of the software which traverses the link to get you
the data. The URL will be identified by its
NOTATION internally as well as via its MIME Content-Type: when the link is
traversed via the HTTP protocol.

Jonathan Borden

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