Architectural Forms (was Re: Content roles in XML)

David Megginson (ak117@freenet.carleton.ca)
Thu, 22 Jan 1998 15:57:51 -0500


Richard Light writes:

> Can't you just declare an attribute list for Method which includes
> a MethodRole attribute? That way, the information is still
> available in the parsed document. Using parameter entities in the
> way you suggest is really not a good idea for the reasons you
> outline - your intent is clear to a human reader looking at your
> DTD, but the subtle distinction is long gone by the time software
> gets to look at your instances!

The opposite solution would be to allow all of the different element
types, but to derive them all from the same architectural form in a
base architecture (say, "java-generic"):

<?IS10744:arch name="java-generic"?>

[...]

<!ATTLIST addListenerMethod
[...]
java-generic NMTOKEN #FIXED "Method">

<!ATTLIST removeListenerMethod
[...]
java-generic NMTOKEN #FIXED "Method">

<!ATTLIST eventMethod
[...]
java-generic NMTOKEN #FIXED "Method">

Now, during processing, you can look at the value of the
"java-generic" attribute to see what generic class any element belongs
to (authors don't need to specify the attribute value, because it's
already provided in the DTD).

Architectural forms are defined in annex A to ISO 10744: see

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

for the XML-specific syntax, and

http://www.ornl.gov/sgml/wg8/docs/n1920/html/clause-A.3.html

for all the gory details. Eliot Kimber has posted the URL for a
simpler tutorial, but I don't have it on hand right now.

All the best,

David

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

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