Relax NG

Relax NG

Relax NG (REgular LAnguage for XML Next Generation) est un langage de description de document XML issu de la fusion de TreX de James Clark et de Relax de Murata Makoto. Considéré comme une alternative à XML Schema, c'est un dialecte XML permettant de définir précisément les différentes contraintes qui déterminent la classe des documents XML qui peuvent passer l'étape de validation. Il propose aussi cependant une syntaxe compacte, non-XML.

Relax NG ne spécifie que la structure des documents XML (quels éléments, comment les combiner) et pas la valeur des éléments (par exemple le fait que le contenu d'un élément doit forcément être une date ou bien forcément être une chaîne de dix caractères). Cette vérification de la valeur des éléments est sous-traitée à la bibliothèque de types de XML Schema (ce qui est fait automatiquement par le processeur Relax NG).

Le leader sur ce projet est James Clark, déjà reconnu pour ses travaux en SGML, notamment sur le parseur nsgmls.

Relax NG est spécifié par l'OASIS et est en passe de devenir une partie de la norme ISO/CEI 19757-2, les langages de définitions de schémas de documents (DSDL).

Relax NG est utilisé pour spécifier OpenDocument, le futur DocBook et Atom.

Exemple

Voici un exemple de fichier Relax NG (en syntaxe compacte, bien plus lisible) :

start = personne
personne = element personne {nom & prenom & date_naissance?}
nom = element nom {text}
prenom = element prenom {text}
date_naissance = element date_naissance {xsd:date}

et le même en syntaxe XML (on note la référence aux types de XML Schema) :

<?xml version="1.0" encoding="UTF-8"?>
<grammar xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
 <start>
   <ref name="personne"/>
 </start>
 <define name="personne">
   <element name="personne">
     <interleave>
       <ref name="nom"/>
       <ref name="prenom"/>
       <optional>
         <ref name="date_naissance"/>
       </optional>
     </interleave>
   </element>
 </define>
 <define name="nom">
   <element name="nom">
     <text/>
   </element>
 </define>
 <define name="prenom">
   <element name="prenom">
     <text/>
   </element>
 </define>
 <define name="date_naissance">
   <element name="date_naissance">
     <data type="date"/>
   </element>
 </define>
</grammar>

Des outils comme Trang permettent de convertir entre les deux syntaxes. Trang permet aussi de convertir un schéma RelaxNG en un XML Schema ou une DTD. Il est par contre beaucoup plus difficile de convertir un XML Schema en RelaxNG.

Voir aussi

Liens externes


Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Relax NG de Wikipédia en français (auteurs)

Игры ⚽ Нужен реферат?

Regardez d'autres dictionnaires:

  • relax — relax …   Dictionnaire des rimes

  • relax — [ rəlaks ] adj. et n. VAR. relax, axe • v. 1955; de l angl. to relax « se détendre » ♦ Anglic. fam. 1 ♦ (Choses) Qui favorise la détente, un repos détendu. Une soirée très relax. Appos. Fauteuil relax, ou n. m. un relax : fauteuil ou chaise… …   Encyclopédie Universelle

  • Relax — Relax, Take It Easy Saltar a navegación, búsqueda Relax, Take It Easy (Relájate, tómalo con calma) es un sencillo de 2006 de Mika, de su álbum debut Life in Cartoon Motion. En el Reino Unido, no llegó a las listas la primera versión del vinilo de …   Wikipedia Español

  • RELAX NG — (REgular LAnguage for XML Next Generation) один из языков описания структуры XML документа. Являясь сама по себе XML документом, схема в этом формате может быть записана с использованием альтернативного, более компактного синтаксиса[1]. В… …   Википедия

  • RELAX NG — (REgular LAnguage for XML Next Generation) est un langage de description de document XML issu de la fusion de TreX de James Clark et de Relax de Murata Makoto. Considéré comme une alternative préférable à XML Schema, c est un dialecte XML… …   Wikipédia en Français

  • Relax — may refer to:* Relax (song) by Frankie Goes to Hollywood * Relax, Take It Easy , a 2006 song by Mika * Relax (film), a Tamil film * Relax...It s Just Sex , a 1998 film * RELAX, short for Regular Language description for XML, a specification for… …   Wikipedia

  • Relax — Re*lax (r? l?ks ), v. t. [imp. & p. p. {Relaxed} ( l?kst ); p. pr. & vb. n. {Relaxing}.] [L. relaxare; pref. re re + laxare to loose, to slacken, from laxus loose. See {Lax}, and cf. {Relay}, n., {Release}.] 1. To make lax or loose; to make less… …   The Collaborative International Dictionary of English

  • relax — re‧lax [rɪˈlæks] verb relax rules/​laws/​restrictions etc to make rules etc less strict: • The country decided to relax its rules on the foreign ownership of its airlines. • Many employers are taking steps toward relaxed dress codes (= being… …   Financial and business terms

  • Relax — (Оффенбах,Германия) Категория отеля: Адрес: Karlstr. 62, 63065 Оффенбах, Германия …   Каталог отелей

  • relax — [ri laks′] vt. [ME relaxen, to loosen < L relaxare < re , back + laxare, to loosen, widen < laxus, loose: see LAX] 1. to make looser, or less firm or tense [to relax one s grip] 2. to make less strict or severe; soften [to relax… …   English World dictionary

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”