Lists Home |
Date Index |
From: "Bullard, Claude L (Len)" <firstname.lastname@example.org>
> Thanks Michael. This seems to be James' summary:
> "The problem of associating a schema with a document is really just a special case of the problem of associating processing with a document. What is needed is a solution that can specify a series of processes to be applied to a document."
> Series of processes? That sounds like arch forms and/or PIs if one doesn't want to Java.
> "Look at the signpost up ahead. Next stop, The Reinvent Zone."
I think James is setting the stage for the ISO Document Schema Definition Language effort.
This is intended to be a simple but general framework for SGML, XML and their friends,
neighbours and successors for doing things like
* associating documents and DSDL processes
* listing sequences of validating and transforming (V&T) processes
* standardizing some well-known V&T (Schematron, RELAX NG, W3C XML Schemas, etc.)
* creating the slots into which new V&T can easily be added (e.g. a refactoring of
W3C XML Schemas to make it more modular.)
It builds on various successes and failures in this regard:
* DTDs and attribute defaulting was successful
* SGML's "LINKS" (a method to switch in and out banks of attribute declarations
based on various criteria) was not
* SGML's Archictural forms was not
I think Archictural Forms failed to thrive for several reasons:
1) it went against the dominant need of the mid-90s, which was for
minimal SGML to get smaller, not larger.
2) it was put out as part of HyTime, and so its message was diluted or buried
3) it is still grammar- or tree-based, and so did not adequately address
the biggest lack of DTDs: non-regular constraints
(just as SGML's LINK feature was inadequately powerful to be much use)
4) as species of transformation language, it is not powerful enough.
5) it invented its own non-SGML dialect with a meta-DTD containing
<!ADFR ...>, a new particle #ALL,
and new parameters on the SGML Declaration.
However, architectural forms have not died: in fact they live
on through W3C XML Schemas. It allows you to specify
an abstract grammar in which gaps are allowed in content models
for elements (e.g. from other namespaces) and which
(through subsitution groups, etc) you can specify that the particular
names in a document are aliases for some other names (or
types), and which lets you augment the information set with
other attribute values.
Even Schematron has a role attribute, which could be used to augment
an information set for the benefit of downstream processes. I think
the path approach is easier to figure out and more powerful than the
meta-grammer approach of AFs.
So I certainly buy that the AF approach of a schema language for
expressing patterns that underly the explicit markup is good.
However, I think now that we have a similar thing expressable
using XML Schemas (in a form apparantly amenable to OO
programmers) and with Schematron (in a form amenable to
most people AFAICT), I cannot imagine that AF per se has much of
a life. Archectural Forms has lost the battle but has won the war.