[tei-council] conformance draft

Syd Bauman Syd_Bauman at Brown.edu
Tue Apr 3 16:18:34 EDT 2007


> do you mean 2005? if so, I was not there. but no matter.

Yes, that was a boo-boo, sorry. 2004 was in Ghent, 2005 in Paris.


> > This is not at all clear to me. We haven't developed any rules,
> > guidelines, suggestions, hooks, or any such things for how this
> > would be done, have we? Could someone hack a TEI Relax NG schema
> > so that it made use of Relax NG features that ODD does not
> > support?

> certainly, in a content model, you could make a local element
> declaration, for instance.

Hmmm ... you mean in an ODD, or directly? Either way, that gives me
the capability to declare the <name> element differently when it is
inside a <respStmt>, right?

One of Relax NG's greatest powers is co-occurrence constraints. For
example, declaring that <name> must have character content or a key=
attribute, but not both[1]; or declaring the content of <address>
differently iff the type= is "USA"[2]. I do not think we can do these
things via ODD, nor do I have confidence that we can (or even should
bother) coming up with a good mechanism for doing so by manipulating
the Relax NG schemas somehow. I'm inclined to just say "yup, there
are things Relax NG can do that TEI cannot; you can certainly use
non-TEI conformant Relax NG schemas in addition to your normal
Roma-generated Relax NG schema -- but why not use Schematron embedded
in your ODD? Here is a sample of how to do that ...".


Notes
-----
[1] 
    element name {
        attribute key { data.key }
        | xsd:token { pattern = ".+" }
        }

[2] 
    address = addressOther | addressUSA
    addressUSA =
      element address {
        attribute type { xsd:token "USA" },
        name,
        street,
        city,
        state,
        postCode
        }
    addressOther =
      element address {
        attribute type { xsd:token - "USA" },
        addrLine+
        }




More information about the tei-council mailing list