<cRefPattern>

<cRefPattern> (define cómo convertir una referncia canónica en un URI) indica una expresión y un patrón de remplazamiento para transformar una referencia canónica en un URI. [2.3.5.3 Milestone Method 2.3.5 The Reference System Declaration 2.3.5.2 Search-and-Replace Method]
Móduloheader — 2 The TEI Header
Atributosatt.global (@xml:id, @n, @xml:lang, @rend, @rendition, @xml:base, @xml:space) (att.global.linking (@corresp, @synch, @sameAs, @copyOf, @next, @prev, @exclude, @select)) (att.global.analytic (@ana)) (att.global.facs (@facs)) (att.global.change (@change))
matchPatternespecifica una expresión regular con la que los valores de los atributos cRef pueden ser combinados.
Estado Necesario
Tipo de datos

<rng:ref name="data.pattern"/>
data.pattern
Valores must be a regular expression according to the W3C XML Schema Language
Nota
Utilizan a los grupos de Parenthesised no sólo para establecer el orden de la precedencia y los átomos para la cuantificación, sino también para crear los subpatterns que se referirán por el atributo replacementPattern.
replacementPatternespecifica un ‘replacement pattern (patrón de remplazamiento)’, el cual, una vez se ha ejecutado el subpatrón de sustitución, proporciona un URI.
Estado Necesario
Tipo de datos

<rng:text/>
text
Valores Should be the skeleton of a relative or absolute URI, with references to groups in the matchPattern.
Nota
Las series ‘$1’a través ‘$9’ son referencias al grupo correspondiente en la expresión regular especificada por el matchPattern (contando paréntesis abiertos, de izquierda a derecha). Se espera que los procesadores las substituyan por el grupo correspondiente en la expresión regular.
Si un dígito precedido por el signo del dólar se necesita en el modelo actual de substitución (en contraposición a ser utilizado como una referencia posterior), el signo de dólar se debe escribir como %24.
Usado por
Contenido en
header: refsDecl
Puede contener
core: p
linking: ab
Declaración

<rng:element name="cRefPattern">
 <rng:ref name="att.global.attributes"/>
 <rng:ref name="att.global.linking.attributes"/>
 <rng:ref name="att.global.analytic.attributes"/>
 <rng:ref name="att.global.facs.attributes"/>
 <rng:ref name="att.global.change.attributes"/>
 <rng:attribute name="matchPattern">
  <rng:ref name="data.pattern"/>
 </rng:attribute>
 <rng:attribute name="replacementPattern">
  <rng:text/>
 </rng:attribute>
 <rng:zeroOrMore>
  <rng:ref name="model.pLike"/>
 </rng:zeroOrMore>
</rng:element>
element cRefPattern
{
   att.global.attributes,
   att.global.linking.attributes,
   att.global.analytic.attributes,
   att.global.facs.attributes,
   att.global.change.attributes,
   attribute matchPattern { data.pattern },
   attribute replacementPattern { text },
   model.pLike*
}
Ejemplo
<cRefPattern
  matchPattern="([1-9A-Za-z]+)\s+([0-9]+):([0-9]+)"
  replacementPattern="#xpath(//div[@type='book'][@n='$1']/div[@type='chap'][@n='$2']/div[@type='verse'][@n='$3'])"/>
Nota
El resultado de la substitución puede ser una referencia URI absoluta o relativa. En el último caso se combina con el valor de xml: base en vigor en el lugar donde el atributo cRef aparece para formar un URI absoluto de manera común según lo prescrito por Base de XML.