[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: binary base64 definition
- From: Jerry Johns <Jjohns@computerlogic.com>
- To: 'Danny Vint' <firstname.lastname@example.org>, 'Ian Graham' <email@example.com>
- Date: Sat, 06 Jan 2001 18:15:24 -0500
Thanks much for your input. You guys are a tremendous resource.
Following the suggestion of describing exactly what I'm trying to do, here
I'm trying to implement an interface in XML. The file has to contain some
dollar amounts, which is straightforward. The file also needs to contain
several "objects" that pertain to the dollar amounts. These objects include
an HTML web page and JPEG images. My trading partner will use the dollar
amounts for business logic and to store in database. The HTML and JPEG
objects will be loaded into an imaging system.
I could easily go with the approach of putting the JPEG images as separate
files and FTP them along with the XML file. However, I was striving to keep
everything in a single file.
Obviously, the JPEG file contains special characters when looked at on a
One method I'm considering is converting the JPEG file to base64, which
results in a string of text characters, as you know. However, this data
could also contain special characters, ie: greater-than symbol, less-than
Assuming this was a good approach, I have two issues remaining: 1) how to
code and decode the base64 and 2) can I prevent the DOM API from parsing the
encoded JPEG data and converting greater-than and less-than symbols into
"lt;" and "gt;" text strings.
At this point, I have these assumptions: 1) I will have to use an external
tool to encode/decode because DOM will not do this automatically in some way
and 2) I can prevent DOM from parsing the encoded data by specifying some
some of parameter instructing it not to parse the content.
Can you please validate my approach and assumptions? Thanks! Jerry
From: Danny Vint [mailto:firstname.lastname@example.org]
Sent: Saturday, January 06, 2001 4:28 PM
To: Jerry Johns; 'Ian Graham'
Subject: RE: binary base64 definition
Notations and other formats have always been application dependant since
SGML days. In that arena we were primarily trying to use graphics and
usually just display them. So the SGML editors provided a mechanism to map
a tool to a format. Seems like you might be able to do something with OLE
on windows for the same sort of functionality. I'm not sure what was being
conveyed about the DOM support, but it would seem like there would be a way
to hook into knowing what the NOTATION type was (base64 in this case) and
launching some other application to deal with it.
Maybe if you describe what the actually need for the base64 is we might be
able to offer suggestions along other lines.
At 03:31 PM 1/6/2001 -0500, Jerry Johns wrote:
>What if I ditched DOM and used another tool for managing the XML file;
>I then insert the base64 content and still be within the XML standards? Is
>this a limitate of DOM? Thanks. Jerry
>From: Ian Graham [mailto:email@example.com]
>Sent: Saturday, January 06, 2001 10:50 AM
>To: Dan Vint
>Cc: Jerry Johns; 'firstname.lastname@example.org'
>Subject: Re: binary base64 definition
>The DOM supports access to notation nodes, but can enforce no statement
>aobut the proper encoding of a referenced external entity (which makes
>sense, as it is external to the document).
>Base64 encoding of content inside a document would require custom code for
>doing the encoding/decoding, and some attribute-based mechanism for
>labeling the 'type' content of the node containing the data. That is
>certainly possible, but as far as I can see is outside the scope of the
>On Fri, 5 Jan 2001, Dan Vint wrote:
>> You can't use elements this way, but an alternative would be to create a
>> NOTATION type and then an external entity of this type - you would copy
>> the contents of whatever should be base 64 into this external file, it
>> would be part of the XML document but it would be outside. Not sure if
>> DOM has been setup to understand NOTATIONS, but in an SGML world you
>> be able to associcate a "processor" with that notation and have it called
>> whenever you needed to read or write that format.
>> Your DTD might look like the following:
>> <!DOCTYPE .... [
>> <!NOTATION base64 SYSTEM "binary base64">
>> <!ENTITY extfile1 SYSTEM "extfile.b64" NOTATION "base64" >
>> The syntax is probably not exact but you can look up the details.
>> > In the DTD, can I specify a type of "binary base64" for an element so
>> > when I write to the XML file using DOM, DOM will automatically encode
>> > binary data for me without parsing for control characters? If so, I
>> > it will do the reverse when I read that element.
>> > Can anyone validate my assumption about the DTD data type? Has anyone
>> > an example DTD definition with this in it?
>> > Thanks much.
>> > Jerry
Author: "SGML at Work"