<certainty>

<certainty> indicates the degree of certainty associated with some aspect of the text markup. 21.1.2 Structured Indications of Uncertainty
Module certainty — 21 Certainty, Precision, and Responsibility
In addition to global attributes att.scoping (@target, @match)
locus indicates more exactly the aspect concerning which certainty is being expressed: specifically, whether the markup is correctly located, whether the correct element or attribute name has been used, or whether the content of the element or attribute is correct, etc.
Status Required
Datatype

<rng:ref name="data.enumerated"/>
data.enumerated
Legal values are:
name
uncertainty concerns whether the name of the element or attribute used is correctly applied.
start
uncertainty concerns whether the start of the element is correctly identified.
end
uncertainty concerns whether the end of the element is correctly identified.
location
uncertainty concerns both the start and the end of the element.
value
uncertainty concerns the content (for an element) or the value (for an attribute)
assertedValue provides an alternative value for the aspect of the markup in question—an alternative generic identifier, transcription, or attribute value, or the identifier of an anchor element (to indicate an alternative starting or ending location). If an assertedValue is given, the confidence level specified by degree applies to the alternative markup specified by assertedValue; if none is given, it applies to the markup in the text.
Status Recommended
Datatype

<rng:choice>
 <rng:ref name="data.pointer"/>
 <rng:ref name="data.name"/>
 <rng:ref name="data.word"/>
</rng:choice>
data.pointer | data.name | data.word
Values generic identifier, attribute value, location (e.g. indicated by a reference to an anchor element or to an ptr element), or other appropriate alternative value.
<certainty
  target="#ESX"
  locus="name"
  assertedValue="placeName"
  degree="0.2">

 <desc>It is unlikely, but possible, that this refers to the place
   rather than the person.</desc>
</certainty>
Note
This attribute makes it possible to indicate the degree of confidence in a specific alternative to some aspect of the markup. In the example above the encoder is expressing the likelihood (.2) that the generic identifier should be placeName rather than persName, which is the coded element.
given indicates conditions assumed in the assignment of a degree of confidence.
Status Recommended
Datatype 1–∞ occurrences of 

<rng:ref name="data.pointer"/>
data.pointer
separated by whitespace
Values a pointer to a characterization of the conditions which are assumed in the assignment of a degree of confidence.
Note
A project may wish to control the vocabulary used in this attribute.
The envisioned typical value of this attribute would be the identifier of another certainty element or a list of such identifiers. It may thus be possible to construct probability networks by chaining certainty elements together. Such networks would ultimately be grounded in unconditional certainty elements (with no value for given). The semantics of this chaining would be understood in this way: if a certainty element is specified, via a reference, as the assumption, then it is not the attribution of uncertainty that is the assumption, but rather the assertion itself. For instance, in the example above, the first certainty element indicates that the confidence in the identification of the new scribe as msm. The second indicates the degree of confidence that Essex is a personal name, given that the new scribe is msm. Note that the given in the second certainty element is not the assertion that the likelihood that msm is the new scribe is 0.6, but simply the assertion that msm is the new scribe; this is a recommended convention to facilitate building networks.
The ambitious encoder may wish to attempt complex networks or probability assertions, experimenting with references to other elements or prose assertions, and deploying feature structure connectives such as alt, join, and note. However, we do not believe that the certainty element gives, at this time, a comprehensive ambiguity-free system for indicating certainty.
degree indicates the degree of confidence assigned to the aspect of the markup named by the locus attribute.
Status Optional
Datatype

<rng:ref name="data.probability"/>
data.probability
Used by
May contain
core: desc gloss
tagdocs: altIdent equiv
Declaration

<rng:element name="certainty">
 <rng:ref name="att.global.attributes"/>
 <rng:ref name="att.scoping.attributes"/>
 <rng:attribute name="locus">
  <rng:choice>
   <rng:value>name</rng:value>
   <rng:value>start</rng:value>
   <rng:value>end</rng:value>
   <rng:value>location</rng:value>
   <rng:value>value</rng:value>
  </rng:choice>
 </rng:attribute>
 <rng:optional>
  <rng:attribute name="assertedValue">
   <rng:choice>
    <rng:ref name="data.pointer"/>
    <rng:ref name="data.name"/>
    <rng:ref name="data.word"/>
   </rng:choice>
  </rng:attribute>
 </rng:optional>
 <rng:optional>
  <rng:attribute name="given">
   <rng:list>
    <rng:oneOrMore>
     <rng:ref name="data.pointer"/>
    </rng:oneOrMore>
   </rng:list>
  </rng:attribute>
 </rng:optional>
 <rng:optional>
  <rng:attribute name="degree">
   <rng:ref name="data.probability"/>
  </rng:attribute>
 </rng:optional>
 <rng:zeroOrMore>
  <rng:ref name="model.glossLike"/>
 </rng:zeroOrMore>
</rng:element>
element certainty
{
   att.global.attributes,
   att.scoping.attributes,
   attribute locus { "name" | "start" | "end" | "location" | "value" },
   attribute assertedValue { data.pointer | data.name | data.word }?,
   attribute given { list { data.pointer+ } }?,
   attribute degree { data.probability }?,
   model.glossLike*
}
Example

(For discussion of this example, see section 21.1.2.1 Contingent conditions)

Ernest went to <anchor xml:id="A1"/> old
<persName xml:id="SYB">Saybrook</persName>.

<certainty
  xml:id="c1"
  target="#SYB"
  locus="name"
  degree="0.6"/>

<certainty
  target="#SYB"
  locus="start"
  given="#c1"
  degree="0.9"/>

<certainty
  xml:id="C-c2"
  target="#SYB"
  locus="name"
  assertedValue="persName"
  degree="0.4"/>

<certainty
  target="#SYB"
  locus="start"
  given="#C-c2"
  degree="0.5"/>

<certainty
  target="#SYB"
  locus="start"
  assertedValue="#a1"
  given="#c1"
  degree="0.5"/>