We have two sorts of macros in the TEI, for datatypes (eg data.sex, data.xText etc) and for
patterns (macro.paraContent). These are rather different beasts, differentiated by their "type" attribute. In the Pure ODD reformulation of the content model, it seems like a good time to give the datatypes their own high level <dataSpec> and <dataRef> elements, allowing us to think about deprecating the pattern macros which can confuse readers.
Agreed that this is a good idea. Will add to my todolist for pure odd
I note out that there is still the problem of what notation to use inside <dataSpec> to indicate that we want W3C integers or ISO languages. e.g. needs a copy of RELAX NG's
<data>
element, and need to decide whether and now it supports the full power of that.Assigning to LB at f2f raleigh 2014-11-17
Attached (a) specification for dataNode (b) HTML report on mapping current datatype macros
Last edit: Lou Burnard 2015-03-17
Here's an informal summary of what is now being proposed
The trouble with @restrict is that there may be some restrictions you might want that can't be expressed as a regexp. I haven't found any yet,
Attached: a list of all existing TEI datatypes and their purified forms
Last edit: Lou Burnard 2015-03-23
Here's a revised summary of what is now being proposed
so do you add a restriction that dataRef inside dataSpec can only use @name?
Interesting question. This is presumably to prevent things recursing for ever?
I am sure however someone will want to have chained dataSpecs, so maybe the rule should be that such a chain must finish with a @name (or a @ref)
yes, thats obviously a necessary informal rule, but i dont know how to enforce it.
something bothersome about the two attributes doing different things. TBH, I'd rather see a new primitive inside dataSpec doing the job of dataRef/@name. But I can see the counter argument too. maybe @name is insufficiently meaningful? could you have @base?
Why do you think they are doing different things? All three are (varieties of) pointes, surely?