<cRefPattern>

<cRefPattern> (précise comment convertir une référence canonique en une URI) précise une expression et un modèle de remplacement pour convertir une référence canonique en une URI 2.3.5.3 Milestone Method 2.3.5 The Reference System Declaration 2.3.5.2 Search-and-Replace Method
Moduleheader — 2 The TEI Header
Attributs
matchPatternindique une expression régulière avec laquelle les valeurs de l' attribut cRefpeuvent correspondre .
Statut Requis
Type de données

<rng:ref name="data.pattern"/>
data.pattern
Valeurs must be a regular expression according to the W3C XML Schema Language
Note
Les groupes entre parenthèses sont utilisés non seulement pour établir un ordre de priorité et des unités de quantification, mais aussi pour créer des sous-routines à référencer par l'attribut replacementPattern.
replacementPatternprécise un‘ modèle de remplacement ’qui, une fois que la substitution du sous-modèle a été exécutée, donne un URI.
Statut Requis
Type de données

<rng:text/>
text
Valeurs Should be the skeleton of a relative or absolute URI, with references to groups in the matchPattern.
Note
Les chaînes‘$1’ à ‘$9’ font référence au groupe correspondant dans l'expression régulière spécifiée par matchPattern (en comptant la parenthèse ouverte, de gauche à droite). Les processeurs sont supposés les remplacer par la partie de l'expression régulière associée au groupe correspondant.
Si un chiffre précédé d'un signe dollar est nécessaire dans le masque de remplacement lui-même (par opposition à un usage comme référence), le signe dollar doit être écrit %24.
Utilisé par
Peut contenir
core: p
linking: ab
Declaration

<rng:element name="cRefPattern">
<rng:ref name="att.global.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,
   attribute matchPattern { data.pattern },
   attribute replacementPattern { text },
   model.pLike*
}
Exemple
<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'])"/>
Note
Le résultat de la substitution peut être un URI absolu ou relatif. Dans ce dernier cas, il se combine avec la valeur de xml:base en vigueur à l'endroit se trouve où l'attribut cRef pour former un URI absolu de la façon habituelle, comme prescrit par XML Base.