Die Regular Language Description for XML New Generation (RELAX NG) ist eine XML-Schemasprache zur Definition der Struktur von XML-Dokumenten. Zur Formulierung von Schemas bietet RELAX-NG eine XML-Syntax und semantisch äquivalente kompaktere Syntax an.
RELAX-NG basiert auf den XML-Schemasprachen RELAX von Makoto Murata (2000–2002) und TREX von James Clark (2001). RELAX Core wurde als ISO/IEC Technical Report 22250-1 verabschiedet.
RELAX NG ist beschrieben in einem Dokument der OASIS RELAX NG Technical Committee und darüber hinaus als internationaler Standard ISO/IEC 19757-2 innerhalb der Document Schema Definition Languages (DSDL).
In der Komplexität steht RELAX NG etwa zwischen DTD und XML-Schema. Gegenüber der einfachen DTD hat RELAX NG vor allem den Vorteil, (wahlweise) XML-Syntax zu verwenden und auch ungeordnete Inhalte zu unterstützen. Darüber hinaus kennt es Datentypen und Namespaces.
Beispiele für vergleichbare Sprachen sind noch DSD und Schematron.
Literatur
- Eric van der Vlist: RELAX NG – a simpler schema language for XML. O’Reilly, 2004, ISBN 0-596-00421-4 (englisch, xmlschemata.org).
Weblinks
- RELAX-NG-Website
- James Clark: The Design of RELAX NG (englisch)
- RELAX NG tutorial XML syntax (englisch)
- RELAX NG tutorial for the compact syntax (englisch)
- DSDL Part 2: Regular-grammar-based validation -- RELAX NG (englisch)
- Webseite zu RELAX (core)