Hi Chris:
Yeah: The key question is "Does 'xyz application' support XML?
Let's talk through the implications of this a bit, for the benefit of others
reading here who may be new to the concepts fundamental to "markup
languages" such as XML ...
If an application *really* supports XML, it doesn't matter WHOSE XML you're
looking at, it will handle it. The whole point of XML (and the defining
difference between XML and SGML...) is that while BOTH are "open" standards,
XML is, by its very design "extensible".
The coming versions of Microsoft Office will cheerfully read and write
OpenDoc format, on both the Mac and the PC. We will need to obtain and
install the OpenDoc DTD and some transforms for it. I guess Sun has them
available for download?
The new versions of Microsoft Office are XML applications: they will read
and write ANY document in XML, provided that it is "well formed". "Well
Formed" is a technical term that means the internal coding of the file
follows the XML syntax requirements.
Now, *any* of the markup language applications supports (relies upon, in
some cases...) the "EMPTY" property of a tag to incorporate content that is
not part of the coding specification. "Empty" in this case means that the
tag is 'empty' of markup language: it's does indeed have content, it's just
not markup language that the XML parser needs to read. The XML parser will
simply turn a deaf ear to whatever it finds in an EMPTY tag, handing it off
to an external application.
You can't have XML without the EMPTY tag, it's a required part of the
specification. What you put in it is up to you, and it's your
responsibility to ensure that your receiving application knows how to decode
and use the content.
This is where the rot sets in, and why XML and all its look-alikes are only
a "partial" answer to world hunger
When any Microsoft Applications come across XML "empty" tags, they will read
and encapsulate the binary data within them. It's as though the file
contained a reference to an external picture (sometimes, that's exactly what
it *is*). The XML application (let's say it's Word...) then says "OK, I
have this binary content. Do I know what to do with it?" It then looks
among its converters and filters to see if it has one that advertises the
ability to handle the resulting binary. If it has (let's say it's a GIF or
a PNG it found...) Word will then call its internal converter and display
the content.
If Word does not contain a filter, it then looks outside itself to the
Office Suite to see if there is a handling application there. If not, it
calls the Operating System: "Hey, Fred, do YOU know what to do with this
thing?"
Hopefully it does
If not, it will look amongst its installed
applications for something that claims expertise with this format. Let's
assume we're looking at a RAM format: the OS will find, and start, the Real
Audio player, then hand off whatever Word dug out of the document to the RAM
player.
The way Microsoft is setting up its XML applications, this process will work
999 times out of a thousand. They are keeping and enhancing the mechanism
currently seen in Windows that says "Windows could not determine what to do
with this content, would you like to connect to the Internet to see if we
can find a suitable application?"
On the Mac, this will call Apple's equivalent mechanism. It makes a call to
an internet database that suggests a suitable application for the file type.
Hint: When working in XML, get your file extensions correct, because this
mechanism relies on them, and if you don't, some hapless recipient of your
document won't be able to see one of the pictures in it
But Microsoft is not the United Nations: it can't PREVENT anyone from
embedding some strange binary blob in its files. In fact, in Microsoft
Office, they're very proud of their ability to enable embedding of almost
any kind of content. So someone, somewhere, sometime, is going to send us a
document containing "something" we can't display, and can't find a converter
for.
It's the way of the world
Cheers
Ah, you're talking about ECMA. They've certainly chosen Microsoft's XML
document format in their committee working to establish a standard, but
they haven't finished their work and it is not a standard.
I'll raise your standards body with one with a slightly better
reputation: ISO. OpenDocument *is* now a standard: ISO/IEC 26300.
Cheers,
Chris
--
Please reply to the newsgroup to maintain the thread. Please do not email
me unless I ask you to.
John McGhie <
[email protected]>
Microsoft MVP, Word and Word for Macintosh. Consultant Technical Writer
Sydney, Australia +61 (0) 4 1209 1410