загрузка...
 
ОБМЕЖЕННЯ ВХОДЖЕНЬ У СХЕМАХ XSD
Повернутись до змісту

ОБМЕЖЕННЯ ВХОДЖЕНЬ У СХЕМАХ XSD

XSD дозволяє визначити кількість входжень елемента з певною точністю: задати мінімальну і максимальну кількість входжень елемента за допомогою атрибутів minOccur і maxOccur елементу xsd:element відповідно.

Використання цих атрибутів може здатися схожим на їх використання в XDR-схемах, але це тільки на перший погляд.

У випадку мови XSD на можливі значення цих атрибутів накладаються певні обмеження. Це пов'язано з тим, що консорціум W3C визначив бажаний діапазон входжень. Це одна з найбільш відмінних характеристик XSD по відношенню до XDR, DTD і іншим мовам опису схем.

Якщо ніщо інше не вказано, то значення за замовчанням атрибутів minOccur і maxOccur дорівнюють "1". Атрибут maxOccur також може набувати значення "unbounded", що  аналогічно значенню "*" в мовах DTD і XDR.

1:  

2:  

XMLSchema-instance’

4:     xsi:noNamespaceSchemaLocation=

’example_13.xsd’>

5:  

6:     

7:Раптово випав сніг

8: А завтра лекція з web-дизайну

9:

10:

11:

12:Забрати книгу

13:Знайти літературу

14: Підготуватися до семінару

15:  

16:   .

На документ передбачається накласти ряд обмежень:

У документі допускаться не більше двох елементів notes.

Входження елементів notes необов'язкові.

Елемент number повинен передувати елементу text.

Повинен існувати як мінімум один елемент text.

Для створення схеми XSD, що відображає всі ці обмеження, необхідно вказати:

кількість елементів;

порядок їх слідування;

обов'язкові і необов'язкові елементи.

Для того, щоб задати обмеження на кількість елементів, використовуйте атрибути minOccur і maxOccur відповідних елементів xsd:element. У XSD можна додати обмеження, що стосуються обов'язкової наявності елементів, використовуючи  ті ж самі атрибути minOccur і maxOccur. Наприклад, якщо задати атрибут  minOccur таким, що дорівнює 0 для певного елемента або взагалі виключити цей атрибут, щоб використовувати його значення за замовченням, цей елемент вважатиметься за обов'язковий. (Обов'язковим є як мінімум одне входження елемента.) Ви вже знаєте, що значення більше 1 для атрибута maxOccur позначається як "unbound".

Розглянемо можливий варіант схеми XSD, що відображає вищенаведені обмеження

1:   

XMLSchema">

3:

4:     

5:     

6:

7:

8:

9:

10:

11:  

12:  

13:

14:

15:

16:

17:

18:    .

Складна  послідовність  називається notesType  тільки для зручності; ви можете називати її, як тільки захочете.



загрузка...