RELAX NG (англ. REgular LAnguage for XML Next Generation — регулярна мова для XML, наступне покоління) — мова написання схем XML документів. Схеми RELAX NG є XML документами, однак, існує, також, компактний варіант мови, який не є XML документом, і має назву англ. RELAX NG Compact Syntax.
Приклади схем
Припустімо, що ми бажаємо означити дуже просту XML розмітку для книги: книга — це послідовність з однієї чи більше сторінок; кожна сторінка містить лише текст. Приклад такого XML документа може бути таким:
<book> <page>Це сторінка один.</page> <page>Це сторінка два.</page> </book>
Синтаксис XML
Схему RELAX NG може бути записано у структурі зі вкладеннями означаючи коріневий елемент, що містить означення для наступних елементів, які у свою чергу можуть містити вкладені означення. Схема для нашої книги у такому стилі і з використанням синтаксису XML могла б бути записана так:
<element name="book" xmlns="http://relaxng.org/ns/structure/1.0"> <oneOrMore> <element name="page"> <text/> </element> </oneOrMore> </element>
У разі багатьох підрівнів вкладення стають громіздкими і не придатні для означення рекурсивних елементів, тому найскладніші схеми RELAX NG посилаються на іменовані взірці чиї означення розміщені в схемі окремо. Така «розгладжена схема» означає ту саму розмітку, що й попередній приклад:
<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>
Стислий синтаксис
Стислий синтаксис RELAX NG це не-XML формат натхнений розширеною нотацією Бекуса — Наура і регулярними виразами, спроєктований так, що його можна однозначно перевести в його XML-відповідник і назад, зберігаючи один-в-один відповідність структури і значення, по суті так само як і належить до XML. Він має багато спільного із синтаксисом DTD. Ось стисла форма схеми згори:
element book { element page { text }+ }
Із іменованими взірцями це можна розгладити в:
start = element book { page+ } page = element page { text }
Парсер стислого RELAX NG вважатиме ці два варіанти тим самим взірцем.
Див. також
- XML schema
- Document Type Definition
- [en]
- [en]
Джерела
- . Архів оригіналу за 11 травня 2020. Процитовано 1 травня 2020.
- Michael Fitzgerald. . Архів оригіналу за 14 травня 2020. Процитовано 1 травня 2020.
Посилання
- RELAX NG домашня сторінка [ 25 березня 2021 у Wayback Machine.].
- , James Clark.
- RELAX NG tutorial for the XML syntax [ 4 січня 2007 у Wayback Machine.].
- RELAX NG tutorial for the compact syntax [ 4 січня 2007 у Wayback Machine.].
- .
- RELAX NG Book [ 8 березня 2011 у Wayback Machine.], Eric van der Vlist, розповсюджується .
- Relax NG Reference [ 10 червня 2009 у Wayback Machine.], ZVON.
- на java.net.
- інструментарій Java XML з відкритими текстами.
Це незавершена стаття про інформаційні технології. Ви можете проєкту, виправивши або дописавши її. |
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
RELAX NG angl REgular LAnguage for XML Next Generation regulyarna mova dlya XML nastupne pokolinnya mova napisannya shem XML dokumentiv Shemi RELAX NG ye XML dokumentami odnak isnuye takozh kompaktnij variant movi yakij ne ye XML dokumentom i maye nazvu angl RELAX NG Compact Syntax Prikladi shemPripustimo sho mi bazhayemo oznachiti duzhe prostu XML rozmitku dlya knigi kniga ce poslidovnist z odniyeyi chi bilshe storinok kozhna storinka mistit lishe tekst Priklad takogo XML dokumenta mozhe buti takim lt book gt lt page gt Ce storinka odin lt page gt lt page gt Ce storinka dva lt page gt lt book gt Sintaksis XML Shemu RELAX NG mozhe buti zapisano u strukturi zi vkladennyami oznachayuchi korinevij element sho mistit oznachennya dlya nastupnih elementiv yaki u svoyu chergu mozhut mistiti vkladeni oznachennya Shema dlya nashoyi knigi u takomu stili i z vikoristannyam sintaksisu XML mogla b buti zapisana tak lt element name book xmlns http relaxng org ns structure 1 0 gt lt oneOrMore gt lt element name page gt lt text gt lt element gt lt oneOrMore gt lt element gt U razi bagatoh pidrivniv vkladennya stayut gromizdkimi i ne pridatni dlya oznachennya rekursivnih elementiv tomu najskladnishi shemi RELAX NG posilayutsya na imenovani vzirci chiyi oznachennya rozmisheni v shemi okremo Taka rozgladzhena shema oznachaye tu samu rozmitku sho j poperednij priklad lt grammar xmlns http relaxng org ns structure 1 0 gt lt start gt lt element name book gt lt oneOrMore gt lt ref name page gt lt oneOrMore gt lt element gt lt start gt lt define name page gt lt element name page gt lt text gt lt element gt lt define gt lt grammar gt Stislij sintaksis Stislij sintaksis RELAX NG ce ne XML format nathnenij rozshirenoyu notaciyeyu Bekusa Naura i regulyarnimi virazami sproyektovanij tak sho jogo mozhna odnoznachno perevesti v jogo XML vidpovidnik i nazad zberigayuchi odin v odin vidpovidnist strukturi i znachennya po suti tak samo yak i nalezhit do XML Vin maye bagato spilnogo iz sintaksisom DTD Os stisla forma shemi zgori element book element page text Iz imenovanimi vzircyami ce mozhna rozgladiti v start element book page page element page text Parser stislogo RELAX NG vvazhatime ci dva varianti tim samim vzircem Div takozhXML schema Document Type Definition en en Dzherela Arhiv originalu za 11 travnya 2020 Procitovano 1 travnya 2020 Michael Fitzgerald Arhiv originalu za 14 travnya 2020 Procitovano 1 travnya 2020 PosilannyaRELAX NG domashnya storinka 25 bereznya 2021 u Wayback Machine James Clark RELAX NG tutorial for the XML syntax 4 sichnya 2007 u Wayback Machine RELAX NG tutorial for the compact syntax 4 sichnya 2007 u Wayback Machine RELAX NG Book 8 bereznya 2011 u Wayback Machine Eric van der Vlist rozpovsyudzhuyetsya Relax NG Reference 10 chervnya 2009 u Wayback Machine ZVON na java net instrumentarij Java XML z vidkritimi tekstami Ce nezavershena stattya pro informacijni tehnologiyi Vi mozhete dopomogti proyektu vipravivshi abo dopisavshi yiyi