Entspannen Sie Ng
Dateiname Erweiterung | .rng |
---|---|
Internet -Medientyp | Anwendung/XML, Text/XML |
Art des Formats | XML -Schema -Sprache |
Erweitert von | Xml |
Im Computer, Entspannen Sie Ng (Regelmäßige Sprache für XML nächste Generation) ist ein Schema Sprache für Xml- Ein Schema entspannen NG gibt ein Muster für die Struktur und den Inhalt eines XML -Dokuments an. Ein entspannendes Ng -Schema ist selbst ein Xml Dokument, aber Relax Ng bietet auch eine beliebte kompakte, nicht xml-Syntax.[1] Im Vergleich zu anderen XML -Schemasprachen Relax Ng wird als relativ einfach angesehen.
Es wurde durch eine Ausschussspezifikation der definiert OASE Relax NG Technical Committee in den Jahren 2001 und 2002 basierend auf Murata Makoto's ENTSPANNEN SIE SICH und James Clark's T-REX,[2][3][4] und auch nach Teil zwei des internationalen Standards ISO/IEC 19757: Dokumentschema Definitionsprachen (DSDL).[5][6] ISO/IEC 19757-2 wurde von entwickelt von ISO/IEC JTC1/SC34 und veröffentlicht in seiner ersten Version 2003.[7]
Schema -Beispiele
Angenommen, wir möchten ein extrem einfaches XML -Markup -Schema für ein Buch definieren: Ein Buch wird als eine Abfolge einer oder mehrerer Seiten definiert; Jede Seite enthält nur Text. Eine Beispiel -XML -Dokumentinstanz könnte sein:
Dies ist Seite eins. Dies ist Seite zwei.
XML -Syntax
Ein entspannendes NG -Schema kann in einer verschachtelten Struktur geschrieben werden, indem ein Wurzelelement definiert wird, das weitere Elementdefinitionen enthält, die selbst eingebettete Definitionen enthalten können. Ein Schema für unser Buch in diesem Stil unter Verwendung der vollständigen XML -Syntax würde geschrieben:
Name ="Buchen" xmlns ="http://relaxng.org/ns/structure/1.0"> Name ="Seite">
Die verschachtelte Struktur wird mit vielen Sublels unhandlich und kann rekursive Elemente nicht definieren, so genanntes Muster Definitionen getrennt im Schema. Hier definiert ein "abgeflachtes Schema" genau das gleiche Buch -Markup wie das vorherige Beispiel:
xmlns ="http://relaxng.org/ns/structure/1.0"> Name ="Buchen"> Name ="Seite"/> Name ="Seite"> Name ="Seite">
Kompaktsyntax
Entspannen ng kompaktes Syntax ist ein Nicht-XML-Format, das von inspiriert ist von erweiterte backus-naur-Form und Reguläre Ausdrücke, so konzipiert, dass es eindeutig in sein XML-Gegenstück übersetzt werden kann, und wieder zurück, wobei ein zu eins zu eins Korrespondenz in Struktur und Bedeutung ähnlich ist, wie Einfacher Umriss XML (Sox) bezieht sich auf Xml. Es teilt viele Funktionen mit der Syntax von DTDs. Hier ist die kompakte Form des obigen Schemas:
Element Buchen { Element Seite { Text }+ }
Mit benannten Mustern kann dies abgeflacht werden, um:
Anfang = Element Buchen { Seite+ } Seite = Element Seite { Text }
Ein kompakter Relax -Ng -Parser behandelt diese beiden als das gleiche Muster.
Vergleich mit W3C XML -Schema
Obwohl die Entspannungs -Ng -Spezifikation ungefähr zur gleichen Zeit wie die W3C entwickelt wurde XML -Schema Spezifikation, letztere war wohl besser bekannt und in Open-Source- und Proprietary XML-Parsers und Redakteuren, als es 2001 zu einer W3C-Empfehlung wurde Seine Akzeptanz wurde durch seine Annahme als Hauptschema für beliebte dokumentorientierte Markupsprachen wie z. B. unterstützt Dokument, das Tei Richtlinien, OpenDocument, und Epub.
Entspannen Sie NG -Aktien mit W3C XML Schema Viele Funktionen, die beide von traditionellem Abschnitt unterscheiden DTDs: Datentypisierung, regulären Ausdruck Unterstützung, Namespace Unterstützung, Fähigkeit, um komplexe Definitionen zu verweisen.
Dateiname -Erweiterungen
Nach informeller Konvent Dateiname Erweiterung ".Rng". Für Schemata in der kompakten Syntax wird die Erweiterung ".rnc" verwendet.
Determinismus
Entspannen Sie NG -Schemata sind nicht unbedingt "deterministisch" oder "eindeutig".
Konvertieren von entspannen Ng in DTD
Relax NG -Schemata können durch Anwenden von Trang in DTDs umgewandelt werden, was gefunden werden kann unter: [1]. Das Handbuch für Trang befindet sich bei [2]. Beachten Sie, dass Trang das nicht konvertieren kann OASE Dita 1.3 Schema zu DTDs, fehlschlägt bei Nachrichten wie:
Entschuldigung, die Kombination von Definitionen mit Combine = "Choice" wird nicht unterstützt
Siehe auch
- XML -Schemata
- DTD (Dokumenttypdefinition)
- Beschreibung der Dokumentstruktur
- XML -Schema (W3C)
- Schematron
- Ungerade (ein Dokument macht alles)
- Sxml
Verweise
- ^ Entspannen Sie Ng Compact Syntax
- ^ James Clark. "Trex - Tree Normale Ausdrücke für XML -" Trex wurde mit Entspannung verschmolzen, um entspannte Ng zu erzeugen. "". Abgerufen 2009-12-28.
- ^ Murata Makoto (2002-04-03). "Entspannen Sie (reguläre Sprachbeschreibung für XML) -" entspannen Sie die Oase. Es ist eine Schemasprache, die durch die Vereinigung von Relax Core und Trex erzeugt wird. "". Abgerufen 2009-12-28.
- ^ "Trex und Relax Unified als entspannen Ng, eine leichte XML -Sprachvalidierungsspezifikation". Seiten abdecken. 2001-06-05. Abgerufen 2009-12-28.
- ^ Entspannen Sie die NG -Spezifikation
- ^ Relax ng technisches Komitee entspannen
- ^ ISO. "ISO/IEC 19757-2: 2003-Informationstechnologie-Dokumentschema Definitionssprache (DSDL)-Teil 2: reguläre Grammatik-basierte Validierung-Relax Ng". ISO. Abgerufen 2009-12-28.
Externe Links
- Entspannen Sie Ng Homepage
- "Das Design von Relax ng" von James Clark
- Entspannen Sie NG Tutorial für die XML -Syntax
- Entspannen Sie NG Tutorial für die kompakte Syntax
- Entwurfsmuster für die Strukturierung von XML -Dokumenten
- Entspannen Sie Ng Book Von Eric van der VLIST, veröffentlicht unter dem GNU kostenlose Dokumentationslizenz
- Entspannen Sie Ng Referenz von Zvon
- Entspannen Sie NG Java Community -Projekte bei java.net
- Sun Multi-Schema Validator (MSV) Open-Source Java XML Toolkit
- Entspannen Sie NG Compact Syntax Validator Open-Source C-Programm
- XSD zum Entspannen von NG Converter Webbasierter Konverter
- https://github.com/relaxng/jing-trang