XML Architectural Forms

David Megginson ak117 at freenet.carleton.ca
Sat Dec 13 23:00:16 GMT 1997


I don't remember seeing an announcement here (apologies if I'm
mistaken), but Eliot Kimber and James Clark have announced on
comp.text.sgml a proposed ammendment to ISO 10744 that will make it
possible to use Architectural Forms in XML.  You can find the text of
the ammendment at the following URL:

  http://www.ornl.gov/sgml/wg8/document/1957.htm

Here's Eliot's example of a simple, well-formed XML document that uses
the base architecture "isobase":

  <?XML version="1.0" ?>
  <?IS10744:arch isobase ?>
  <mydoc isobase="isogen-document"/>

This is very exciting, because if accepted, the ammendment will make
it possible to solve the XML namespace problem with an International
Standard, instead of forcing the W3C to throw together a consortium
standard.  Base architectures also provide a simple and elegant
solution to multiple inheritance; for example, here's Eliot's example
modified to implement _two_ base architectures:

  <?XML version="1.0" ?>
  <?IS10744:arch isobase ?>
  <?IS10744:arch mslbase ?>
  <mydoc isobase="isogen-document" mslbase="microstar-document"/>

The element <mydoc> corresponds to <isogen-document> in the isobase
namespace and to <microstar-document> in the mslbase namespace at the
same time.

Even more interesting is the ability to embed the architectural
attributes in a DTD, so that they do not appear in the document
instance at all.  For example, you can create an external DTD like
this:

  <?IS10744:arch isobase ?>
  <?IS10744:arch mslbase ?>
  <!ELEMENT mydoc EMPTY>
  <!ATTLIST mydoc
    isobase NMTOKEN #FIXED "isogen-document"
    mslbase NMTOKEN #FIXED "microstar-document">

Now, every XML document that uses this DTD will implement the two
architectures automatically, with no additional markup required:

  <?XML version="1.0" ?>
  <!DOCTYPE mydoc SYSTEM "mydoc.dtd">
  <mydoc/>

Authors won't even have to know that they're using architectural
forms.

Congratulations are due to Eliot and James for taking the time to
start this process.



David

-- 
David Megginson                 ak117 at freenet.carleton.ca
Microstar Software Ltd.         dmeggins at microstar.com
      http://home.sprynet.com/sprynet/dmeggins/

xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at ic.ac.uk
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/
To (un)subscribe, mailto:majordomo at ic.ac.uk the following message;
(un)subscribe xml-dev
To subscribe to the digests, mailto:majordomo at ic.ac.uk the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa at ic.ac.uk)




More information about the Xml-dev mailing list