Entspannen Sie Ng

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

Verweise

  1. ^ Entspannen Sie Ng Compact Syntax
  2. ^ James Clark. "Trex - Tree Normale Ausdrücke für XML -" Trex wurde mit Entspannung verschmolzen, um entspannte Ng zu erzeugen. "". Abgerufen 2009-12-28.
  3. ^ 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.
  4. ^ "Trex und Relax Unified als entspannen Ng, eine leichte XML -Sprachvalidierungsspezifikation". Seiten abdecken. 2001-06-05. Abgerufen 2009-12-28.
  5. ^ Entspannen Sie die NG -Spezifikation
  6. ^ Relax ng technisches Komitee entspannen
  7. ^ 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