<cRefPattern>

<cRefPattern> (Adressage de fragments définit comment convertir une référence canonique en URI) L’élément Adressage de fragments <fragmentPattern> spécifie un modèle d’expression et des règles de remplacement pour transformer une référence canonique en 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
matchPatternspécifie une expression régulière à laquelle vont être comparées les valeurs des attributs cRef.
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 parenthésés ne sont pas seulement utilisés pour établir un ordre de préséance et des unités de quantification, mais aussi pour créer des sous-modèles référencés par l'attribut pat.
replacementPatternspécifie une ‘règle de remplacement’ qui, après avoir opéré les substitutions prévues à chaque nœud, génère une 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’ sont des références au groupe correspondant dans l'expression régulière spécifiée par l'attribut re (en incluant la parenthèse ouvrante, de gauche à droite). Les processeurs devraient remplacer ces groupes par les valeurs correspondant aux groupes dans l'expression régulière.
Si un chiffre précédé par un dollar est nécessaire dans le modèle de remplacement actuel (en opposition à ce qui a été utilisé comme référence antérieure), le signe dollar doit être encodé %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 soit la référence à une URI relative ou absolue. Dans ce dernier cas, il est combiné avec la valeur de l'attribut xml:base en vigueur à la place où apparaît l'attribut cRef pour former une URI absolue selon l'usage habituel indiqué par XML Base.