Constrângerile sunt folosite pentru a determina valori acceptabile pentru elementele sau atributele XML. Restricțiile privind elementele XML sunt, de asemenea, numite "fațete".
Limitări în funcție de valoare
Următorul exemplu definește un element "vârstă" cu o constrângere. Acest element ar trebui să indice vârsta unei persoane, iar vârsta unei persoane, după cum se știe, nu poate fi mai mică de 0 și mai mare de 120:
Limitați setul de valori
Pentru a restricționa conținutul unui element XML cu un set de valori acceptabile, trebuie să utilizați constrângerea de enumerare.
Următorul exemplu definește un element "mașină" cu o constrângere. Singurele sale valori acceptabile sunt Audi, Golf, BMW:
Exemplul de mai sus poate fi scris, de asemenea, după cum urmează:
În acest caz, tipul "carType" poate fi utilizat de alte elemente, deoarece nu face parte din elementul "mașină".
Limitări pe o serie de valori
Pentru a restricționa conținutul unui element XML cu o serie de numere sau litere, trebuie să utilizați constrângerea de model.
Următorul exemplu definește un element "letter" cu o constrângere. Singura sa valoare valabilă poate fi o literă în REGLARE ÎNALTĂ în intervalul de la "a" la "z":
Următorul exemplu definește un element "inițiale" cu o constrângere. Singura sa valoare acceptabilă poate fi de trei litere în registrul superior în intervalul de la "a" la "z":
Exemplul următor definește și elementul "inițiale" cu o constrângere. Singura sa valoare acceptabilă poate fi de trei litere în registrul inferior sau superior, în intervalul de la "a" la "z":
Următorul exemplu definește un element de "alegere" cu o constrângere. Singura sa valoare valabilă poate fi o singură literă de trei: x, y OR z:
Următorul exemplu definește elementul "prodid" cu o constrângere. Singura sa valoare validă poate fi FIVE cifre consecutive și fiecare cifră trebuie să fie în intervalul de la 0 la 9:
Alte restricții privind o serie de valori
Următorul exemplu definește un element "letter" cu o constrângere. Valoarea sa valabilă este zero sau mai multe litere în literele mici, în intervalul de la a la z:
Exemplul următor definește de asemenea un element "letter" cu o constrângere. Valoarea sa acceptabilă va fi una sau mai multe perechi de litere, fiecare pereche să conțină o literă mică, urmată de o literă mare. De exemplu, "sToP" se va potrivi cu acest model, iar "Stop" sau "STOP" sau "stop" nu este prezent:
Următorul exemplu definește un element de gen cu o constrângere. Valoarea sa acceptabilă este numai șirul "mascul" sau "femela":
Următorul exemplu definește un element "parolă" cu o constrângere. Valoarea sa trebuie să fie un șir de 8 caractere și aceste caractere pot fi litere mici sau majuscule de la a la z sau numere de la 0 la 9:
Constrângeri privind caracterele spațiului alb
Pentru a determina modul în care vor fi tratate caracterele cu spațiu alb, este utilizat delimiterul whiteSpace.
Următorul exemplu definește un element "address" cu o constrângere. Terminatorul whiteSpace este setat să "păstreze", ceea ce îi spune parserului XML NU să ștergă niciun caracter al spațiului alb:
Exemplul următor definește și un element "address" cu constrângere. Terminatorul whiteSpace este setat să "înlocuiască", ceea ce îi spune parserului XML să REPLACE toate caracterele spațiului alb (caractere, spațiu, sfârșit de linie și returnare carusel) cu caractere spațiale:
Exemplul următor definește și un element "address" cu constrângere. Limitatorul este setat la spațiile albe „colaps“, ceea ce indică faptul că un parser XML elimina toate spațiile albe (tab-uri, spații, capăt de linie și pentru retur de transport și spațiile finale sunt eliminate, iar spațiile multiple sunt înlocuite cu caracter spațiu unic):
Restricții de lungime
Pentru a limita lungimea unei valori a unui element, trebuie să utilizați constrângeri de lungime. maxLength și minLength.
Următorul exemplu definește un element "parolă" cu o constrângere. Lungimea valorii sale trebuie să aibă exact 8 caractere:
Următorul exemplu definește un alt element "parolă" cu o constrângere. Lungimea valorii sale trebuie să fie de cel puțin 5 și maxim 8 caractere: