Patterns nommés
Syntaxe : Déclaration de pattern
Syntaxe : Appel de pattern
Syntaxe : Syntaxe générale avec pattern nommés
CTRL+C pour copier, CTRL+V pour coller
1
<grammar xmlns="http://relaxng.org/ns/structure/1.0">
2
<start>
3
<element name="">
4
<ref name=""/>
5
</element>
6
</start>
7
<define name="">
8
...
9
</define>
10
<define name="">
11
...
12
</define>
13
</grammar>
<grammar xmlns="http://relaxng.org/ns/structure/1.0"> <start> <element name=""> <ref name=""/> </element> </start> <define name=""> ... </define> <define name=""> ... </define> </grammar>
Attention : Un pattern n'implique pas un élément
Dans l'exemple ci-après, il est nécessaire de déclarer l'élément paragraphe
dans le pattern Paragraphe
.
CTRL+C pour copier, CTRL+V pour coller
1
<grammar xmlns="http://relaxng.org/ns/structure/1.0">
2
<start>
3
<element name="texte">
4
<zeroOrMore>
5
<ref name="Paragraphe"/>
6
</zeroOrMore>
7
</element>
8
</start>
9
<define name="Paragraphe">
10
<element name="paragraphe">
11
<text/>
12
</element>
13
</define>
14
</grammar>
<grammar xmlns="http://relaxng.org/ns/structure/1.0"> <start> <element name="texte"> <zeroOrMore> <ref name="Paragraphe"/> </zeroOrMore> </element> </start> <define name="Paragraphe"> <element name="paragraphe"> <text/> </element> </define> </grammar>
Conseil : Convention
On adoptera la convention minimale suivante : si tous les éléments du langage XML commencent par une majuscule, les patterns commenceront par une majuscule.
Si certains éléments commencent par une majuscule ou si l'on souhaite limiter les risques de confusion, on pourra adopter une convention plus explicite, comme préfixer les patterns par p_
par exemple.