[tei-council] MD chapter revised: namespace rules
James.Cummings at computing-services.oxford.ac.uk
Fri Apr 13 10:19:21 EDT 2007
Sebastian Rahtz wrote:
> * The case where I rename "div1" to "section"
> is less clear, because the document can go four ways:
> a) distributed in pure TEI form, back to <div1>, via a canonicalizer
> b) foreign namespace form, to <myspace:section>
> c) non-conformant, with <section> in TEI namespace
> d) put entire document in foreign namespace
> (syntactic sugar similarly, assuming we understand <equiv>)
It is c) that I think I disagree with Lou about. I am convinced now that
if you rename tei:div1 to tei:section you are now non-conformant because
you provide an element in the TEI namespace that the TEI has not defined.
Namespaces say 'we are part of this' and if the TEI buys the concept of
namespaces I think it needs to also accept that then only it can define TEI
elements. (i.e. all the rest are in another namespace or not 'official'
> The detailed ramifications and recommendations are what
> concern me, because the person currently doing this
> will naturally say "OK, so what is the Right Thing
> for me to do now".
Yes, I agree that these concern me as well, and that more time than we
think is going to have to be spent on making the default process as clear
and painless for users.
> Can someone tell me the story of what how
> the div1/section thing will pan out in real-life
Here is how I'd want it to work:
Johannes Projektmann after reading a lot about the TEI, comes to webRoma
and wants to rename div1 to section. This is the only change he wants to
make. Johannes fills in the form and Roma puts this 'section' element in a
new namespace which he has an option of customising. He saves his ODD file
so he can come back and customise it later, and generates a Relax NG XML
schema which is able to validate his documents (including the my:section
elements and the tei elements they contain). Because his documents
validate against schemas that Roma produces from this ODD, they are
Conformant, and he doesn't have to worry about doing anything to his
document instances to make them so. (Other, perhaps, of making the ODD
available.) Later, after much more experience, he decides he really needs
a 'thingy' element, for something the TEI doesn't really know about. So he
feeds his ODD back in, and adds a new element, optionally placing it in the
same namespace as his earlier change. The my:thingy element has a complex
content model that includes references to TEI classes and pointers to
outside schemas like SVG. He saves his ODD, and regenerates his schemas and
they produce a Relax NG schema which validates his documents including his
my:thingy elements and their funny contents which are part TEI and part
SVG. His documents are still Conformant (though perhaps a different
'variety' of conformance). If Johannes needs to run something else to make
his documents fully conformant, then he won't bother doing so. But if it
"just works", then he'll happily be conformant.
I recognise I'm side stepping some of the issues there.
Dr James Cummings, Oxford Text Archive, University of Oxford
James dot Cummings at oucs dot ox dot ac dot uk
More information about the tei-council