Знаймо

Додати знання

приховати рекламу

Цей текст може містити помилки.

RELAX NG



План:


Введення

RELAX NG (REgular LAnguage for XML Next Generation) - одна з мов опису структури XML -документа. Будучи сама по собі XML-документом, схема в цьому форматі може бути записана з використанням альтернативного, більш компактного синтаксису [1]. У порівнянні з іншими мовами схем, RELAX NG відносно простий. RELAX NG була розроблений в OASIS і вперше опублікований в 2003 [2]. Файли, що містять схеми RELAX NG, зазвичай мають розширення ". Rng", а в компактному синтаксисі - ". Rnc".


1. Приклад схеми

Наведений приклад - спрощений XML, який представляє книгу: книга складається з однієї або більше сторінок і кожна сторінка містить тільки текст:

  >   >  Сторінка перша.   >   >  Сторінка друга.   >   > 

1.1. Синтаксис XML

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

  name  =  "Book"  xmlns  =  "Http://relaxng.org/ns/structure/1.0"  >   >   name  =  "Page"  >   />   >   >   > 

Вкладена структура може дуже сильно розростатися і з її допомогою неможливо описати рекурсивні елементи. Цей недолік долається за допомогою іменованих патернів, які розташовуються в схемі окремо:

  xmlns  =  "Http://relaxng.org/ns/structure/1.0"  >   >   name  =  "Book"  >   >   name  =  "Page"  />   >   >   >   name  =  "Page"  >   name  =  "Page"  >   />   >   >   > 

1.2. Компактний синтаксис

Компактний синтаксис RELAX NG - це не-XML формат, заснований на розширеній формі Бекуса - Наура і регулярних виразах, спроектований таким чином, що він може бути однозначно трансльований в і з XML. Він так само нагадує синтаксис DTD. У компактній формі вищенаведена схема виглядає наступним чином:

 element book {element page {text} +} 

Або, з іменованими паттернами:

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

2. Порівняння з іншими схемами XML

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

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


Цей текст може містити помилки.

Схожі роботи | скачати
© Усі права захищені
написати до нас