XML-Schema
XSD (XML Schema Definition) este un limbaj de schemă folosit pentru a descrie structura și restricțiile de conținut ale documentelor XML într-un mod foarte precis, dincolo de regulile sintactice impuse de limbajul XML însuși . În acest fel, se realizează o percepție a tipului de document cu un nivel ridicat de abstractizare. A fost dezvoltat de World Wide Web Consortium (W3C) și a atins nivelul de recomandare în mai 2001.
Terminologie
Termenul „Schemă XML” este folosit cu diferite semnificații în cadrul aceluiași context de descriere a documentului și este important să se țină cont de următoarele considerații:
- „XML Schema” este numele oficial dat recomandării W3C, care a produs primul limbaj de schemă separat de XML (definiția tipului de document ( DTD ) face parte din XML).
- Este obișnuit să se facă referire la scheme ca „schemă XML” în mod generic, dar se recomandă utilizarea termenului „ document de schemă ” sau „ definiție de schemă ” și rezervarea „schemă XML” pentru denumirea acestui limbaj specific.
- Deși „schemele XML” sunt folosite generic, XSDL ( XML Schema Definition Language ) este numele tehnic al limbajelor de schemă XML, cum ar fi:
- Definiție tip document (DTD)
- XML-Schema
- RELAXĂ-TE NG
- Schematron
- Limbajul de rutare al spațiului de nume (NRL)
- Limbaje de definire a schemelor de documente (DSDL)
- Limbajul de marcare a definiției documentelor (DDML)
- Descrierea structurii documentului (DSD)
- SGML
- Schemă pentru XML orientat pe obiecte (SOX)
W3C Schema XML
Consorțiul World Wide Web (W3C) a început să lucreze la Schema XML în 1998. Prima versiune a devenit o recomandare oficială în mai 2001. O a doua ediție revizuită este disponibilă din octombrie 2004.
Această recomandare este dezvoltată în trei părți:
- XML Schema Part 0 Primer - este o introducere non-normativă a limbajului, oferind un număr mare de exemple și explicații detaliate pentru o primă abordare a XML Schema.
- Structuri XML Schema Part 1 : este o descriere extinsă a componentelor limbajului.
- Tipuri de date XML Schema Partea 2 – Suplimente Partea 1 cu definiția tipurilor de date XML Schema încorporate și restricțiile acestora.
(vezi Linkuri externe )
Componente
XML Schema este un limbaj de schemă scris în XML , bazat pe gramatică și menit să ofere o putere de expresie mai mare decât DTD- urile, care sunt mai puțin capabile să descrie documente la nivel formal.
Documentele Schema (de obicei cu extensia XML Schema Definition (XSD) .xsd) au fost concepute ca o alternativă la DTD-urile mai complexe, încercând să depășească punctele slabe ale acestora și să caute noi capabilități la definirea structurilor pentru documentele XML. Principala contribuție a XML Schema este numărul mare de tipuri de date pe care le încorporează. În acest fel, XML Schema mărește posibilitățile și funcționalitățile aplicațiilor de procesare a datelor, inclusiv tipuri de date complexe, cum ar fi datele, numerele și șirurile de caractere.
Tipuri de componente
Schemele XML Schema depășesc multe dintre limitările și slăbiciunile DTD-urilor. A fost conceput în întregime în jurul spațiilor de nume și acceptă tipuri de date tipice ale limbajului de programare , precum și tipuri personalizate simple și complexe. O schemă este definită având în vedere utilizarea sa finală.
Spații de nume
Programarea XML Schema se bazează pe spații de nume sau spații de nume, putem găsi o analogie între acestea și așa-numitele pachete din Java . Fiecare spațiu de nume conține elemente și atribute care sunt strâns legate de spațiul de nume. Astfel, atunci când definiți un element sau un atribut al unui spațiu de nume, se va crea întotdeauna o conexiune între diferitele sale câmpuri. De asemenea, acest mod de lucru ne permite să relaționăm elemente care nu se află în același spațiu de nume.
După ce ați scris o schemă XML, puteți confirma completarea corectă a acesteia utilizând validarea schemei XML: validare XML .5623
Exemplu
Un exemplu de structură a unui document de schemă gol ar fi următorul:
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsd:schema xmlns:xsd= "http://www.w3.org/2001/XMLSchema" version= "0.1" xml:lang = „este” >
</xsd:schema>
Un exemplu de definiție cu XML Schema ar fi următorul:
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd= "http://www.w3.org/2001/XMLSchema" >
<xsd:element name= "Carte" >
<xsd:complexType>
<xsd:sequence>
<xsd:element name= "Title" type= "xsd:string" />
<xsd:element name= "Authors" type= "xsd:string" maxOccurs= "10" />
<xsd:element name= "Publisher" type= "xsd:string" />
</xsd:sequence>
<xsd:attribute name= "price" type= "xsd:double" />
</xsd:complexType>
</xsd:element>
</xsd:schema>
Putem vedea cum în ambele cazuri sunt pornite declarațiile indicând versiunea de XML care urmează să fie utilizată și codificarea care este utilizată. Aceste două câmpuri sunt necesare pentru a putea interpreta schema.
Următoarea linie de cod declară elementul de schemă , rădăcina documentului de definire a schemei. În plus, spațiul de nume în care se află numele elementelor documentului este declarat . Această definiție de schemă dictează că orice document XML care se conformează acestuia trebuie să aibă un element rădăcină numit „Carte” care va avea trei copii (elemente imbricate) și un atribut. Copiii sunt „Titlu”, „Editor” care trebuie să apară o dată și „Autori” care pot apărea de la una la zece ori. Faptul că sunt grupate într-o secvență indică faptul că elementele trebuie să apară în ordine, adică mai întâi „Titlul”, apoi „Autorii” și în final „Editura”. Toate cele trei elemente sunt de tip string . Atributul carte se numește „preț” și este de tip double .
Vezi și
Tutoriale
- Tutorial online cu exemple (în engleză)
- Tutorial XSD pentru începători — Teorie, exemple și exerciții rezolvate cu Creative Commons License.
- Explicația și utilizarea spațiilor de nume
- Validarea Schemei XML