RELAX NG

RELAX NG

RELAX NG (REgular LAnguage for XML Next Generation) — один из языков описания структуры XML-документа. Являясь сама по себе XML-документом, схема в этом формате может быть записана с использованием альтернативного, более компактного синтаксиса[1]. В сравнении с другими языками схем, RELAX NG относительно прост. RELAX NG была разработан в OASIS и впервые опубликован в 2003[2]. Файлы, содержащие схемы RELAX NG, обычно имеют расширение ".rng", а в компактном синтаксисе — ".rnc".

Содержание

Пример схемы

Приведенный пример — упрощенный XML, представляющий книгу: книга состоит из одной или более страниц и каждая страница содержит только текст:

<book>
  <page>Страница первая.</page>
  <page>Страница вторая.</page>
</book>

Синтаксис XML

Схема в формате RELAX NG может быть записана иерархической структурой, начиная с корневого элемента, который содержит дальнейшие определения элементов, которые, в свою очередь, тоже могут содержать вложенные определения. Схема в этом стиле для приведенной выше разметки, записывается следующим образом:

<element name="book" xmlns="http://relaxng.org/ns/structure/1.0">
   <oneOrMore>
      <element name="page">
         <text/>
      </element>
   </oneOrMore>
</element>

Вложенная структура может очень сильно разрастаться и с ее помощью невозможно описать рекурсивные элементы. Этот недостаток преодолевается с помощью именованных паттернов, которые располагаются в схеме отдельно:

<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. Он так же напоминает синтаксис DTD. В компактной форме вышеприведенная схема выглядит следующим образом:

element book
{
    element page { text }+
}

Или, с именованными паттернами:

start = element book { page+ }
page = element page { text }

Сравнение с другими схемами XML

На данный момент, RELAX NG, разработанный примерно в то же самое время, что и XML Schema, обладает довольно широкой поддержкой в XML-редакторах и парсерах. RELAX NG используется как первичная схема для некоторых документо-центрических языков разметки, таких как DocBook и OpenDocument.

RELAX NG, как и XML Schema, поддерживает много возможностей: типизация данных, регулярные выражения, пространства имен и возможность ссылаться на сложные определения.

См. также

Ссылки

Примечания


Wikimedia Foundation. 2010.

Игры ⚽ Поможем написать курсовую

Полезное


Смотреть что такое "RELAX NG" в других словарях:

  • relax — relax …   Dictionnaire des rimes

  • relax — [ rəlaks ] adj. et n. VAR. relax, axe • v. 1955; de l angl. to relax « se détendre » ♦ Anglic. fam. 1 ♦ (Choses) Qui favorise la détente, un repos détendu. Une soirée très relax. Appos. Fauteuil relax, ou n. m. un relax : fauteuil ou chaise… …   Encyclopédie Universelle

  • Relax — Relax, Take It Easy Saltar a navegación, búsqueda Relax, Take It Easy (Relájate, tómalo con calma) es un sencillo de 2006 de Mika, de su álbum debut Life in Cartoon Motion. En el Reino Unido, no llegó a las listas la primera versión del vinilo de …   Wikipedia Español

  • RELAX NG — (REgular LAnguage for XML Next Generation) est un langage de description de document XML issu de la fusion de TreX de James Clark et de Relax de Murata Makoto. Considéré comme une alternative préférable à XML Schema, c est un dialecte XML… …   Wikipédia en Français

  • Relax NG — (REgular LAnguage for XML Next Generation) est un langage de description de document XML issu de la fusion de TreX de James Clark et de Relax de Murata Makoto. Considéré comme une alternative à XML Schema, c est un dialecte XML permettant de… …   Wikipédia en Français

  • Relax — may refer to:* Relax (song) by Frankie Goes to Hollywood * Relax, Take It Easy , a 2006 song by Mika * Relax (film), a Tamil film * Relax...It s Just Sex , a 1998 film * RELAX, short for Regular Language description for XML, a specification for… …   Wikipedia

  • Relax — Re*lax (r? l?ks ), v. t. [imp. & p. p. {Relaxed} ( l?kst ); p. pr. & vb. n. {Relaxing}.] [L. relaxare; pref. re re + laxare to loose, to slacken, from laxus loose. See {Lax}, and cf. {Relay}, n., {Release}.] 1. To make lax or loose; to make less… …   The Collaborative International Dictionary of English

  • relax — re‧lax [rɪˈlæks] verb relax rules/​laws/​restrictions etc to make rules etc less strict: • The country decided to relax its rules on the foreign ownership of its airlines. • Many employers are taking steps toward relaxed dress codes (= being… …   Financial and business terms

  • Relax — (Оффенбах,Германия) Категория отеля: Адрес: Karlstr. 62, 63065 Оффенбах, Германия …   Каталог отелей

  • relax — [ri laks′] vt. [ME relaxen, to loosen < L relaxare < re , back + laxare, to loosen, widen < laxus, loose: see LAX] 1. to make looser, or less firm or tense [to relax one s grip] 2. to make less strict or severe; soften [to relax… …   English World dictionary


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»