Lists Home |
Date Index |
Ronald Bourret wrote:
> Elliotte Rusty Harold wrote:
> > I'm beginning to notice this as one of the fundamental confusions.
> > There is no problem here. Each namespace has (or may have) its own
> > RDDL document. A RDDL document describes a *namespace*. A RDDL
> > document does not describe a *document*. There is not, nor was there
> > ever intended to be, one canonical RDDL document for any given
> > document.
> While I agree that this is what RDDL is designed to solve, I think that
> what Nicolas is asking for -- a document describing a given doctype --
> is much more useful.
Let me propose this:
A document type can be defined by a schema (a literal example is a DTD) and
consists of the set of all documents which are valid with respect to the
schema. Note that validity with respect to the schema is a property defined
by the individual schema definition language.
A document is a member of the 'document type set' if it is valid with
respect to the defining schema.
A document may be valid with respect to an infinite number of schemas, hence
may have an infinite number of types.
This all is outlined in http://www.openhealth.org/RDDL/SchemaAlgebra in
 typeOf(x,c) := x in Instances(c)
where "x" is a document and Instances(c) is defined by:
 Instances(A) := for all a such that valid(a,A) implies a in Instances(A)
and where valid(a,A) means that "a" is valid with respect to the schema A.
> RDDL is like handing the end user of a TV set a bunch of different
> manuals describing switches, CRTs, integrated circuits, and electric
> cords. While a user can figure out how to turn on the TV set and adjust
> the volume from these manuals, it is unlikely they will do so.
> In documentation terms, RDDL is a reference manual and only low-level
> people (e.g. TV repairmen) want reference manuals. Everybody else wants
> a user's guide.
Although this is outside the scope of the current RDDL specification, you
make a persuasive argument that the functionality is desirable, and I do
believe RDDL can assist with an acceptable solution.
The 'problem' is that a given document does not define a single document
type, nor does a namespace define a document type, so that a mechanism is
required to indicate which 'type set' a document is intended to belong to.
e.g. <!DOCTYPE or xsi:schemaLocation="..."
How might RDDL help?
Perhaps we could define a _purpose_ to indicate document type:
and then the _set_ of all document types an instance is intended to belong
to would be referenced by the set of all rddl:resources that have this
purpose, but whose nature indicates the particular schema definition
language used to define the type.
We still need a means to connect the instance to the document type set
definition. It would be really nice to use the <!DOCTYPE declaration for
this, but this has already been hardwired to DTDs... and so the Public
Identifier cannot be connected to a RDDL document by this mechanism.
Perhaps an attribute:
<root rddl:doctype="....a RDDL directory of 'document types' ...">