Thoughts on the State of XML Today
and Plans for Its Use at Autodesk
Autodesk Company Confidential
Ben Harrison
October 4, 1999
Edited and Illustrated by Dan Keller
Microsoft Sets the Pace
The XML specification is still evolving. It's difficult
to find printed documentation that is correct/current right
now. There is more than one "currently accepted" subset of
proposed specification that the community is using, but the
most common is Microsoft's (of course) XDR (X-Data Reduced).
This is very different from what most books describe as
correct XML.
Schemas Not DTDs
Technical books haven't yet caught up
with the evolution from XML DTDs to XML Schemas.
While both serve to define the structure and members
of an XML document, the former is not really
"extensible" by nature. Once a DTD is written, it's
difficult to add to it. It uses a completely different syntax
than the XML document, which makes it unwieldy. It also
fails to provide any way to uniquely identify the elements
from another DTD. So, many people complained about these and
other shortcomings, and the "XML Schema Working Group" was
born at the W3C.
No Standard Yet
Schemas seek to supersede DTDs and remedy their shortcomings.
There are some proposed schema specifications,
but W3C is still deciding which will be included in
the its official XML specification.
XDR
Microsoft went ahead on its own, and
released its MSXML parser which implements XDR.
XDR is a subset of W3C's X-DATA specification.
I haven't found a book yet which actually describes this
implementation. I refer to
http://msdn.microsoft.com/xml
for documentation. We'll be using this for our Acad implementation.
Why XML?
XML will be useful to us primarily as a way to communicate
information between applications without being platform- or
application-specific.
The XML vision -- shared, even, by Microsoft --
is to give applications a standard, non-proprietary way to
exchange data.
BizTalk
By itself, XML has many uses,
but there's more: Microsoft Biztalk.
Microsoft recognized XML's strength
and its weakness. It:
- Enables users to create their own standards, but it
- Provides no way to organize those standards.
Chaos would occur unless there was a governing "agency" to
keep emerging standards in sync, and in the eyes of the
public. So they formed an "organization":
http://www.biztalk.org
(non-profit?)
Its purpose is
to organize and publish industry-related schemas and
related documentation.
XML in Autodesk Products
Example applications at Autodesk:
- E-mail
statistical Scopus bug information using outlook/exchange.
- Create a spreadsheet from an Autocad drawing and use it
as input for a project management application.
- Any other cross-application or cross-platform
operation.
In the past, we have relied on combinations of hacked-together
procedures to move the information from one place to another.
This messy "glue" between
applications will no longer be needed
once we start using Biztalk XML.
It defines the rules for writing valid XML.
Microsoft will also be selling a kind of
XML server that will deliver XML "messages"
between applications.
An interesting related document is Bentley's aecXML
specification (aecml.doc), written as a Biztalk schema.
It may contain more information than you need, but it includes
sample use cases, and an information flow diagram at the end.
They did their homework!
The XML features in our own product are two:
- We will represent our database in XML, and
- We will provide
an API in DBX to enable developers
(including our market groups) to write modules so
their objects can speak XML in conformance with new
schemas.
A real-world example:
- Objective: A user of Arch. Desktop has a window in his drawing.
He wants to find a manufacturer's part that
matches its geometry.
- The manufacturer posts an electronic catalog.
- The ADT object enabler gathers the window attributes,
forms them into valid XML,
and submits it over the web as a query to the
manufacturer's catalog.
- ADT receives the response in XML
and presents it to the user.
- The user views it and accepts it or
chooses another window.
- The manufacturer and cost data is stored (as XML)
by ADT in the drawing.
- This data can be exported as XML to an estimating
application and to other applications
for further processing.