OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help



   Re: [xml-dev] Architectural Forms, A Summary

[ Lists Home | Date Index | Thread Index ]

"Rick Jelliffe" <ricko@allette.com.au> writes:

> And Leigh's article could say:
>    XHTML is an architecture


>    XLink is an architecture

Yes, but it's a slight stretch, since the root element
type is not explicitly provided by XLink.  Since the
root element type, if it had been provided, wouldn't
have imposed any constraints, I'm not too worried about
calling XLink an architecture.

Of course, you need to use inclusion exceptions in
order to be able to specify a non-constraining content
model for the root element type of an architecture.
That's a serious problem for the use of architectural
forms in XML, because XML-conforming DTDs can't support
inclusion exceptions.  However, it's possible to adopt
a convention for XML that says, "If no root element
type is provided, architecture-specific processors
should assume that the elements whose contexts are not
constrained by the architecture can appear anywhere in
the instance."  Implicitly, that's exactly what XLink
did.  As yet, however, no such corresponding adjustment
has ever been made to the ISO standard, nor to the only
parser that handles architectural forms correctly (SP).

>    RDDL is another architecture (using XHTML and
>    XLink both in particular ways)

Yes, with the same proviso.

> Perhaps Steven could mention what the difference
> between an "architecture" and an "architectural form"
> is.

An architecture has: 

* a schema (some set of syntactic constraints) *and*

* specific, explicitly-defined semantics for each
  syntactic construct defined in the schema.

An architectural form is a syntactic construct defined
in the schema.  There are two kinds:

1.  Element-type architectural forms.  These define
    semantics and syntactic constraints on the content
    of the element type and on its attributes.  Since
    the root element type is always declared by an
    architecture, and since the root element type
    required to be the ancestor of all of the contained
    architectural elements, it is also correct (but a
    bit confusing) to say, informally, that a whole
    architecture is (or is invoked by) a single
    architectural form.  Because of this ambiguity, the
    following two statements are effectively

    (1) I'm using the HyTime architecture.

    (2) I'm using the HyDoc architectural form.

    If the name of the architecture happens to be the
    same as the GI of its root element, it's even more
    confusing.  The following two statements are
    effectively equivalent:

    (1) I'm using the XHTML architecture.

    (2) I'm using the xhtml architectural form.

2.  Attribute-list-type architectural forms.  These are
    lists of one or more attributes that may appear on
    instances of some set of architectural elements.
    The ones that are recognized on *all* architectural
    elements are called "common attributes".  (The
    ability to recycle attribute lists explicitly along
    with their semantics was the main enhancement of
    the DTD formalism introduced by the "SGML Extended
    Facilities" annex of the HyTime standard.  It's not
    a *necessary* enhancement -- you can accomplish the
    same things less conveniently without using it --
    but it sure is nice to have.)

-- Steve

Steven R. Newcomb, Consultant

voice: +1 972 359 8160
fax:   +1 972 359 0270

1527 Northaven Drive
Allen, Texas 75002-1648 USA


News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS