Patterns nommés

SyntaxeDéclaration de pattern

1
<define name="">
2
...
3
</define>

SyntaxeAppel de pattern

1
<ref name=""/>

SyntaxeSyntaxe générale avec pattern nommés

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>

AttentionUn 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.

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>

ConseilConvention

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.