AFs and the DPH (Was Animal Friends, etc.)

David Megginson ak117 at
Thu Oct 2 15:40:08 BST 1997

Peter Murray-Rust writes:

 > However, all the benefits from AFs have to be realised by having an
 > AF-aware processor (I differentiate parser from processor - an ESIS stream
 > could be input into an AF-aware processor). My understanding is that:
 > 	- there are no freely available AF processors
 > 	- generic AF processors are beyond the ability (or at least the time) for
 > a DPH to write from scratch
 > Therefore AFs are only available to largish groups with time and/or
 > money... This rules out the DPH.

Actually, none of these statements is true.  I am working on a very
large project where people are using Omnimark and even ACL to work
with architectural forms.  Further more, the SP-family of programs --
nsgmls, jade, sgmlnorm, etc. -- have a full-featured architectural
engine built right in.

In the simplest sort of architectural processing, you simply designate
an attribute name -- say, Biblio -- and take actions based on the
attribute's value for different element types.  For example, with

  <monograph Biblio="entry">...</monograph>

you would note that the value of the Biblio attribute is "entry" (or,
more generally, that "entry" is the architectural form of this
element) and process the contents accordingly.  With

  <byline Biblio="author">...</byline>

you would note that the architectural form is "author", and process
accordingly.  In a different document type, you might have

  <responsibility Biblio="author">...</responsibility>

However, since the value of the Biblio attribute is the same, you
should be able to process it with the same code.

A very easy way to set this up is to use #FIXED attributes declared in
the DTD:

  <!ATTLIST monograph
    Biblio  CDATA #FIXED "entry">

  <!ATTLIST byline
    Biblio  CDATA #FIXED "author">

That way, when an author includes

  <byline>David Megginson</byline>

your software will see

  <byline Biblio="author">David Megginson</byline>  

Of course, if you are doing DTD-less parsing (ick), you can specify
the architectural form attribute values explicitly on the elements, as
in the earlier examples.

All the best,


David Megginson                 ak117 at
Microstar Software Ltd.         dmeggins at

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

More information about the Xml-dev mailing list