A RELAX NG ( Rengular LANguage for XML Next Generation ) az egyik nyelv az XML - dokumentumok szerkezetének leírására. Önálló XML-dokumentum lévén egy ilyen formátumú séma egy alternatív, kompaktabb szintaxissal írható [1] . Más sémanyelvekhez képest a RELAX NG viszonylag egyszerű. A RELAX NG-t az OASIS -nél fejlesztették ki, és először 2003-ban publikálták [2] . A RELAX NG sémákat tartalmazó fájlok kompakt szintaxisában általában „.rng” vagy „.rnc” kiterjesztést használnak.
A megadott példa egy könyvet ábrázoló egyszerűsített XML: a könyv egy vagy több oldalból áll, és minden oldal csak szöveget tartalmaz:
<könyv> <oldal> Első oldal . </page> <page> Második oldal . </page> </book>A RELAX NG formátumú séma felírható hierarchikus struktúrában, egy gyökérelemmel kezdve, amely további elemdefiníciókat tartalmaz, amelyek viszont beágyazott definíciókat is tartalmazhatnak. A fenti jelöléshez tartozó séma ebben a stílusban a következő:
<element name= "book" xmlns= "http://relaxng.org/ns/structure/1.0" > <oneOrMore> <element name= "page" > <text/> </element> </oneOrMore> </ elem>Egy beágyazott szerkezet nagyon nagyra nőhet, és nem lehet rekurzív elemeket leírni segítségével. Ezt a hiányosságot az elnevezett minták segítségével küszöböljük ki , amelyek a sémában külön találhatók:
<grammar xmlns= "http://relaxng.org/ns/structure/1.0" > <start> <element name= "book" > <oneOrMore> <ref name= "page" /> </oneOrMore> </element > </start> <define name= "page" > <element name= "page" > <text/> </element> </define> </grammar>A RELAX NG Compact Syntax egy nem XML formátum, amely Extended Backus-Naur formán és reguláris kifejezéseken alapul , és úgy lett megtervezve, hogy egyértelműen lefordítható XML-re és XML-ből. A DTD szintaxisára is hasonlít . Kompakt formában a fenti diagram így néz ki:
elem könyv { elem oldal { szöveg }+ }Vagy elnevezett mintákkal :
start = elemkönyv { oldal + } oldal = elem oldal { szöveg }Jelenleg az XML Schema -val nagyjából egy időben kifejlesztett RELAX NG meglehetősen széles körű támogatással rendelkezik az XML-szerkesztőkben és -elemzőkben. A RELAX NG elsődleges sémaként használatos egyes dokumentum-központú jelölőnyelveknél, mint például a DocBook és az OpenDocument .
A RELAX NG az XML-sémához hasonlóan számos szolgáltatást támogat: adatbevitelt , reguláris kifejezéseket , névtereket és az összetett definíciókra való hivatkozás lehetőségét.
ISO szabványok | |
---|---|
| |
1 -től 9999 -ig |
|
10 000 és 19999 között |
|
20000+ | |
Lásd még: Azon cikkek listája, amelyek címe "ISO"-val kezdődik |