[tei-council] keeping @ident unique

Syd Bauman s.bauman at neu.edu
Tue Jan 7 16:25:09 EST 2014


So I still don't think I'm understanding. At first I thought Lou was
suggesting a single flat namespace. That, I think would be awful,
since we would not be able to have two constructs with the same
ident. (And since @ident is used for the construct's name ...)
However, I doubt that's what Lou had in mind. 

So now I think maybe Sebastian and Lou were suggesting that we have a
single namespace over all identifiable objects. So we would
differentiate constructs with the same name by using different @ident
values. E.g., we might use the following to differentiate those
mentioned in previous examples:
  ident="module.certainty"
  ident="element.certainty"
  ident="element.org"
  ident="attribute.org"
  ident="attribute.scheme"
  ident="element.scheme"
  ident="attribute.unit"
  ident="element.unit"

That seems much more reasonable, but then Sebastian replied:
> > I'm wondering if we wouldn't do better to have a single name
> > space for each *type* of identifiable object.
> 
> that’s a given, I think, and where we are now. 

So I'm confused. If we have a single name space for the @ident values
for each *type* of object, why are we prepending the @ident of
classes and macros with "att.", "model.", "data." and "macro."?

In my mind, having a separate single namespace for each *type* of
object means you can have an element named "duck", an attribute class
named "duck", and a macro named "duck", and you differentiate which
you want by explicitly saying so:
   key="duck" type="macro"
or whatever.

So, how in the heck does a processor currently know whether to fetch
the "certainty" module or the "certainty" element when it encounters
  <specDesc key="certainty">
? Right now it should know because a <specDesc> only refers to an
element or a class (or a macro, which its description doesn't
mention).

So I don't think I understand the problem, and how changing idents
fixes it. One take on this is that the original post here is just a
bug report that the stylesheet processing the <specDesc> is using
  *[@ident='$key']
rather than
  (elementSpec|classSpec|macroSpec)[@ident='certainty']


More information about the tei-council mailing list