Обмеження або фасети для значень в xml схемою

Обмеження використовуються для того, щоб визначити прийнятні значення для XML елементів або атрибутів. Обмеження по XML елементам ще називають "фасетами".

Обмеження за значенням

У наступному прикладі визначається елемент "age" з обмеженням. У цьому елементі передбачається вказувати вік людини, а вік людини, як відомо, не може бути менше 0 і більше 120:

Обмеження по набору значень

Щоб обмежити вміст XML елемента якимось набором прийнятних значень, слід використовувати обмежувач enumeration.

У наступному прикладі визначається елемент "car" з обмеженням. Його єдині прийнятні значення - Audi, Golf, BMW:

Наведений приклад також можна записати в такий спосіб:

У цьому випадку тип "carType" може бути використаний іншими елементами, так як він не є частиною елемента "car".

Обмеження по серії значень

Щоб обмежити вміст XML елемента серією чисел або букв, слід використовувати обмежувач pattern.

У наступному прикладі визначається елемент "letter" з обмеженням. Його єдиним допустимим значенням може бути ОДНА літера в НИЖНЬОМУ регістрі в діапазоні від "a" до "z":

У наступному прикладі визначається елемент "initials" з обмеженням. Його єдиним допустимим значенням може бути ТРИ букви у верхньому регістрі в діапазоні від "a" до "z":

У наступному прикладі також визначається елемент "initials" з обмеженням. Його єдиним допустимим значенням може бути ТРИ букви в НИЖНЬОМУ АБО верхньому регістрі в діапазоні від "a" до "z":

У наступному прикладі визначається елемент "choice" з обмеженням. Його єдиним допустимим значенням може бути ОДНА літера з трьох: x, y АБО z:

У наступному прикладі визначається елемент "prodid" з обмеженням. Його єдиним допустимим значенням може бути П'ЯТЬ послідовних цифр, і кожна цифра повинна бути в діапазоні від 0 до 9:

Інші обмеження по серії значень

У наступному прикладі визначається елемент "letter" з обмеженням. Його допустимим значенням є нуль або більше букв в нижньому регістрі в діапазоні від a до z:

У наступному прикладі також визначається елемент "letter" з обмеженням. Його прийнятним значенням буде одна або більше пара букв, при цьому кожна пара повинна містити букву в нижньому регістрі, за якою слідує буква у верхньому регістрі. Наприклад, "sToP" буде відповідати даному шаблоном, а "Stop" або "STOP" або "stop" немає:

У наступному прикладі визначається елемент "gender" з обмеженням. Його прийнятним значенням буде тільки рядок "male" АБО "female":

У наступному прикладі визначається елемент "password" з обмеженням. Його значенням повинна бути рядок з 8 символів, і цими символами можуть бути літери в нижньому або верхньому регістрі від a до z, або цифри від 0 до 9:

Обмеження по пробільним символам

Щоб визначити, як будуть сприйматися пробільні символи, використовується обмежувач whiteSpace.

У наступному прикладі визначається елемент "address" з обмеженням. Обмежувач whiteSpace встановлений в значення "preserve", що вказує XML парсеру НЕ видаляти ніякі пробільні символи:

У наступному прикладі також визначається елемент "address" з обмеженням. Обмежувач whiteSpace встановлений в значення "replace", що вказує XML парсеру ЗАМІНИТИ все пробільні символи (символи табуляції, пробілу, кінця рядка і перекладу каретки) символами пробілу:

У наступному прикладі також визначається елемент "address" з обмеженням. Обмежувач whiteSpace встановлений в значення "collapse", що вказує XML парсеру ВИДАЛИТИ все пробільні символи (символи табуляції, пробілу, кінця рядка і перекладу каретки і кінцевого пробілу видаляються, а множинні прогалини замінюються на одинарний пробіл):

Обмеження по довжині

Щоб обмежити довжину значення елемента, слід використовувати обмежувачі length. maxLength і minLength.

У наступному прикладі визначається елемент "password" з обмеженням. Довжина його значення має бути точно 8 символів:

У наступному прикладі визначається інший елемент "password" з обмеженням. Довжина його значення має бути мінімум 5 і максимум 8 символів:

Обмеження для типів даних

Схожі статті