[tei-council] Precision

O'Donnell, Dan daniel.odonnell at uleth.ca
Fri Jun 5 12:45:22 EDT 2009


I've got two questions/comments, prefaced by thanks for all the brow furrowing.

1) what are the implications for existing P5 docs?
2) I'm really intrigued by the @target @path but still wonder about it. It seems redundant to me and a dangerous thing to be getting people to split up xpath expressions like this. You'll need to forgive my lack of research on this because i've got no internet except for my phone. But if the new att set only contained locus, couldn't you nevertheless write an xpath2 expression to find Gaby's example using the same kind of wildcard expression you start your last example with but adding an # to the path?

Again, apologies for not being more specific here: I'm working with a miserable email client on my phone. Looks like a smart idea!

-----------
Daniel O'Donnell
University of Lethbridge
(From my mobile telephone)

--- original message ---
From: "Lou Burnard" <lou.burnard at oucs.ox.ac.uk>
Subject: Re: [tei-council] Precision
Date: June 5, 2009
Time: 10:16:52 

Looking more closely at Gabby's proposal for precision has shown up 
something decidedly wrong in TEI P5. Please get a cold towel to wrap 
round your head before reading on.

The <certainty> element has an attribute @locus, which Gabriel wants to 
use to supply the name of an attribute, the value of which he wants to 
indicate uncertainty (or imprecision) about.

In P3 and P4, this attribute had a range of values which included both 
attribute names and some specific literals (e.g. you could say things 
like @locus="#gi" to indicate uncertainty about whether this is the 
right tag, or @locus="#transcribedContent" for uncertainty about the 
content of the element, or @locus="#location" if you felt the start or 
end tags might not be in the right place). At P5, someone (probably me) 
realised that it was too hard to define a datatype for the attribute 
@locus, which would allow both a closed set of literals beginning with 
sharp signs, and an arbitrary collection of attribute names. P5 
therefore has as possible values a set of literals, including "attrName" 
along with the old values, minus their sharps. There is also a rather 
vague statement "if the name of an attribute is supplied it must be 
prefixed by "att." Clearly this cannot work.

In addition to the locus, there is a @target attribute which is used to 
point to the element/s in the document about which uncertainty or 
imprecision is being asserted. Like others such, this attribute is a 
data.pointer, so it could in principle contain an xpath, wrapped up in 
an xpointer, using the rather verbose xpath1 syntax discussed in 16.2.4 
-- e.g. to point to the attribute @foo on the element with xml:id="bar" 
you'd have to say @target='#xpath1(//*[xml:id="bar"]/@foo' vel sim. 
That's OK on paper, but we don't know of any systems that implement it; 
in particular Oxygen doesn't.

We note however that there's no good reason why making an assertion 
about a specific attribute (or, more interestingly, a group of 
attributes) should be handled differently from making one about a 
specific element (or group thereof). And clearly xpath is the right 
syntax for the job. And xpath processors definitely exist! But using 
xpointer in this way seems hopelessly complex...

Further, we note that having @locus indicate things at two completely 
different levels of abstraction is confusing; and that the old method, 
even if it worked, didn't allow you to distinguish uncertainty about the 
appropriateness of the attribute *name* from uncertainty about its *value*.

CONSEQUENTLY after much furrowing of brows, the Oxford team would like 
to propose the following set of changes, applicable to both the existing 
<certainty> and the newly proposed <precision> element

1. The valList for @locus should permit only the following
"name", "value", "startLoc", "endLoc", "location"

(we might say that if this is not specified, "value" should be assumed)

2. An additional attribute @path should be defined. The value of this is 
an xpath2 expression, which should be understood relative to the value 
of @target, which remains as at present a data pointer giving the 
context within which @path is to be interpreted.

3. If there is no @target, then the @path is interpreted relative to the 
document root

This supports the use cases Gabby mentions on ticket #1933198 without 
much difficulty, e.g.

John Smith (bishop <date xml:id=”d002” from=”1753” 
to=”1795”>1753-c.1795</date>)
<precision target=”#d002” path="@to” locus="value" degree=”0.2”/>

It also offers all sorts of other delightful possibilities e.g.

<certainty path="//*/@resp='#lb'” locus="value" degree=”0.2”/>

All in favour?



_______________________________________________
tei-council mailing list
tei-council at lists.village.Virginia.EDU
http://lists.village.Virginia.EDU/mailman/listinfo/tei-council


More information about the tei-council mailing list