Regular Language for XML Next Generation

RelaxNG (REgular LAnguage for XML Next Generation) est un langage de schéma XML.

  • RelaxNG est une alternative aux DTD et à W3C XML Schema, qui combine les avantages de ces deux autres langages.

  • RelaxNG est un standard OASIS et une norme ISO/CEI.

  • Deux syntaxes : une syntaxe XML (alternative à W3C Schema) et une syntaxe compacte (alternative aux DTD).

  • RelaxNG ne définit que la structure (comme les DTD) et utilise W3C XML Schema pour le typage des données.

http://relaxng.org/

Exemple de schémas publics définis en Relax NG

  • OpenDocument (format bureautique)

  • DocBook (format documentaire)

  • Atom (syndication)

Exemple de DTD

<!ELEMENT document (paragraphe+)>
<!ATTLIST document type CDATA #REQUIRED>
<!ELEMENT paragraphe (#PCDATA)>

Exemple de schéma RelaxNG correspondant (syntaxe XML)

<?xml version="1.0" encoding="UTF-8"?>
<grammar xmlns="http://relaxng.org/ns/structure/1.0">
    <start>
        <element name="document">
            <attribute name="type"/>
            <oneOrMore>
                <element name="paragraphe">
                    <text/>
                </element>
            </oneOrMore>
        </element>
    </start>
</grammar>
AccueilRappels > RelaxNG< PrécédentSuivant >