[tei-council] TEI Conformance

Christian Wittern wittern at kanji.zinbun.kyoto-u.ac.jp
Tue Nov 28 06:57:20 EST 2006


<div class="mail">
<address class="headers">
<span id="from">
<dfn>From</dfn>: Christian Wittern <wittern_at_kanji.zinbun.kyoto-u.ac.jp>
</span><br />
<span id="date"><dfn>Date</dfn>: Tue, 28 Nov 2006 20:57:20 +0900</span><br />
</address>


"Conal Tuohy" <Conal.Tuohy_at_vuw&#46;<!--nospam-->ac.nz> writes:
<br />

<em class="quotelev1">> I'd like to make 3 points about XML namespaces in TEI: the first 2 are
</em><br />
<em class="quotelev1">> just about namespace URIs, the 3rd is about the use of namespaces
</em><br />
<em class="quotelev1">> themselves:
</em><br />
<em class="quotelev1">>
</em><br />
<em class="quotelev1">>
</em><br />
<em class="quotelev1">>
</em><br />
<em class="quotelev1">> 1) We should allow any namespace URIs
</em><br />
<em class="quotelev1">>
</em><br />
<em class="quotelev1">> Many customisations will call on pre-existing XML vocabularies. We can't
</em><br />
<em class="quotelev1">> pretend to define the namespace URIs of already-existing vocabularies,
</em><br />
<em class="quotelev1">> yet I strongly believe that we should allow customisations which use
</em><br />
<em class="quotelev1">> these vocabularies to be considered "conformant". e.g. I might make a
</em><br />
<em class="quotelev1">> "graphical" customisation which (amongst other things) imports some SVG
</em><br />
<em class="quotelev1">> elements, or an "ontological" customisation which introduces some RDF or
</em><br />
<em class="quotelev1">> XTM vocabulary. 
</em><br />
<em class="quotelev1">> http://www.w3.org/1999/02/22-rdf-syntax-ns#
</em><br />
<em class="quotelev1">> http://www.topicMaps.org/xtm/1.0/
</em><br />
<em class="quotelev1">> http://www.w3.org/2000/svg
</em><br />
<em class="quotelev1">>
</em><br />
<em class="quotelev1">> In short, I think it's just infeasible to constrain the namespaces which
</em><br />
<em class="quotelev1">> "conformant" TEI customisations may introduce (except that they must not
</em><br />
<em class="quotelev1">> use the empty namespace or the TEI namespace). 
</em><br />

But these are different XML vocabularies, not user extensions of the
<br />
TEI?  I thought our discussion was about what namespace to use for
<br />
elements and attributes (re)defined using the ODD mechanism.  For
<br />
existing vocabularies, you would typically just pull in the schema
<br />
file into your own extension, but not add a new namespace to them?
<br />

<em class="quotelev1">> 2) We need to responsibly manage namespace URIs which begin with
</em><br />
<em class="quotelev1">> http://www.tei-c.org/
</em><br />

And since I see not compelling reason for going into this business, I
<br />
think this is a bad idea.  Thus for me the compromise of having users
<br />
define their own namespace string, but give a nod to TEI seems a good
<br />
solution.  We could of course say *should* use the letters tei
<br />
somewhere, not *must*. 
<br />

<p><em class="quotelev1">> 3) Attributes in TEI extensions will sometimes require namespaces too
</em><br />
<em class="quotelev1">>
</em><br />
<em class="quotelev1">> It's very common (though not universal) in XML vocabularies that element
</em><br />
<em class="quotelev1">> names are namespaced but attributes are not. It's certainly a
</em><br />
<em class="quotelev1">> convenience. The idea is that you can disambiguate an attribute by
</em><br />
<em class="quotelev1">> looking at qualified name of the element which contains it. e.g. in P5,
</em><br />
<em class="quotelev1">> the TEI attribute "rend" is always found on elements which are in the
</em><br />
<em class="quotelev1">> TEI namespace. Hence although the "rend" attribute itself has NO
</em><br />
<em class="quotelev1">> namespace, it's intelligible from its context. By contrast the "xml:id"
</em><br />
<em class="quotelev1">> and "xml:lang" attributes have been defined in the "xml" namespace
</em><br />
<em class="quotelev1">> (whose URI is http://www.w3.org/XML/1998/namespace) because they can be
</em><br />
<em class="quotelev1">> attached to elements in many different namespaces. The same applies for
</em><br />
<em class="quotelev1">> rdf:about, xlink:href, xsl:use-attribute-sets, etc.
</em><br />
<em class="quotelev1">>
</em><br />
<em class="quotelev1">> I think this implies that where a TEI customisation adds an attribute
</em><br />
<em class="quotelev1">> which may be attached to an element in the TEI namespace, then we should
</em><br />
<em class="quotelev1">> mandate that the attribute be defined in a namespace. Otherwise we have
</em><br />
<em class="quotelev1">> a potential for different customisations to "collide". e.g. if 2
</em><br />
<em class="quotelev1">> customisation modules declare an attribute called "foo" then the 2
</em><br />
<em class="quotelev1">> modules cannot be safely merged.
</em><br />
<em class="quotelev1">>
</em><br />
<em class="quotelev1">> On the other hand, if a customisation defines a new attribute only on
</em><br />
<em class="quotelev1">> elements which are outside the TEI namespace, then a namespace could be
</em><br />
<em class="quotelev1">> optional. 
</em><br />

Right, we should think about attributes as well.  I think it should be
<br />
mandated to use a full qualified name if the NS of the attribute is
<br />
different from that one of the element, which I think is in fact
<br />
common practice.
<br />

All the best,
<br />

Christian
<br />


-- 
 Christian Wittern 
 Institute for Research in Humanities, Kyoto University
 47 Higashiogura-cho, Kitashirakawa, Sakyo-ku, Kyoto 606-8265, JAPAN
_______________________________________________
tei-council mailing list
tei-council_at_lists&#46;<!--nospam-->village.Virginia.EDU
http://lists.village.Virginia.EDU/mailman/listinfo/tei-council

<span id="received"><dfn>Received on</dfn> Tue Nov 28 2006 - 06:58:12 EST</span>
</div>



More information about the tei-council mailing list