Utilizarea de bază schema XML pentru a defini elementele
Utilizați pentru a defini structura XML XML-schema în loc de DTD
Ashvin Radiya. Președinte și Director Tehnic Șef, AvantSoft, Inc.
Vibha Dixit. Director Executiv, AvantSoft, Inc.
Schema XML are caracteristici mai puternice decât DTD. Pentru a ilustra avantajele utilizării mecanismului XML schema în primele trei listări compară diferite metode de elemente de prezentare. Listarea 1 prezintă un extras din XML-document. Listarea 2 prezintă cele două elemente declarate în sintaxa DTD, și Listarea 3 prezintă sintaxa corespunzătoare schema XML. Rețineți că sintaxa din listingul 3 este similar cu sintaxa XML. La utilizarea circuitelor de validare parser poate verifica dacă elementul InvoiceNo întreg pozitiv și dacă ProductID constă dintr-un set predeterminat de simboluri (șase cifre și o literă de la A la Z). Parser, definitie DTD-prelucrare, poate confirma doar faptul că elementele de date sunt șiruri.
Listarea 1: Un fragment din XML documentul
Listarea 2: fragment DTD descrie elementele din Listarea 1
Listarea 3: Detaliu din schema XML care descrie elementele din Listarea 1
Utilizarea namespace in XML schema
limitări DTD
În ciuda faptului că sunt dezvoltatori DTD SGML și HTML ca o descriere a mecanismului de informații structurate care a fost întâmplă de 20 de ani, au unele limitări DTD în comparație cu XML-scheme.
Potrivit elementului DTD poate fi reprezentat de unul din cele trei moduri:
- șir de text
- șir de text amestecat cu un alt element de copil
- Un set de elemente copil
DTD-ul nu are sintaxa XML și oferă doar suport limitat pentru tipurile și spațiile de nume.
Lucrând împreună, o parte se pot ocupa de documente ale altor părți și diverse părți pot depune elementele lor de date în diferite moduri. Mai mult decât atât, într-un document separat, acestea ar putea fi necesar să se facă referire în mod independent, la elementele cu același nume, de părți diferite. Folosind definiția XML schemă permite să se facă distincția cu același nume, prin determinarea spații de nume diferite.
Listarea 4: țintă și spațiul de nume de pornire
Figura 1: Namespaces pentru listare 4
5 listare: set namespace inițiale, importurile de spațiu de nume
Listarea 6: Folosind setul de multitudinea de circuite de spațiu de nume
Figura 2: nume spațiu pentru înregistrări 5 și 6
Definirea elementelor
Definirea unui element este de a defini numele și modelul de conținut. Modelul schema XML a elementului de conținut este determinat de tipul său. În consecință, elementele din XML document nu poate avea valori care se potrivesc tipurile definite în schema sa.
tipuri simple de
Specificație schema XML definește mai multe tipuri simple pentru valorile așa cum se arată în tabelul 2 -predopredelennye tipuri de valoare simple.
Tipul de element poate fi simplu sau complex (dificil). element de tip simplu nu poate conține alte elemente sau atribute. tip complex poate crea efectul de încorporarea elementelor în alte elemente sau atribute pot fi asociate cu elementul. am folosit doar exemple de tipuri simple, pana la acest punct definit de utilizator (a se vedea. ProductCode). În specificația de schema XML incluse, de asemenea, tipuri simple, predefinite (a se vedea. Insertul care tipuri simple). tip simplu Predefinită constrange valorile de tipul lor de bază. De exemplu, valoarea predeterminată este un simplu subset de tip ProductCode de valori string tipul de bază.
Simplu, elemente care nu au imbricate un tip simplu
Element, care nu conține alte elemente sau atribute pot fi atribuite unui tip simplu, o predeterminată sau specificată de către utilizator, cum ar fi un șir de caractere. întreg. zecimal. timp. ProductCode etc.
Listarea 7: Unele tipuri simple de articole
Elementele cu atribute trebuie să aibă un tip complex
Acum vom încerca să adăugați la prețul de simplu element de la afișare 7. Moneda atribut. Nu poți face asta, din cauza unui element de tip simplu poate avea atribute. Dacă doriți să adăugați un atribut, aveți nevoie pentru a determina prețul ca element al unui tip complex. În exemplul din listingul 8, vom defini tipul anonim așa-numitele. în care tipul integrat nu este dat un nume explicit. Cu alte cuvinte, elementul nume complexType nu este definit.
Listarea 8: element de tip complex
Elementele care conțin elemente imbricate trebuie să aibă un tip complex
Tabelul 1: Compararea tipurilor de date complexe în DTD și XML schema
XML document
Listarea 9: Un tip complex constând dintr-un tip simplu la nivel mondial
Listarea 10: BookType Ascunderea atât de tip local,
Elemente de expresie pentru constrângeri complexe
XML schema ofera o flexibilitate mai mare decât atunci când exprimarea DTD constrângeri cu privire la modelul de conținut de elemente. La nivel mai simplu, cum ar fi în DTD, puteți asocia cu atributele elementului, precum și să se precizeze că acesta poate să apară o secvență de numai una (1), zero sau mai multe (*), sau una sau mai multe (+) celule dintr-o anumită un set de elemente. XML-schema poate fi exprimată prin restricții suplimentare, folosind în acest scop, de exemplu, atributele minOccurs și maxOccurs pentru elementul elementului, și elementele de alegere. de grup și toate.
Listarea 11: Exprimarea constrângeri asupra tipurilor de elemente
Listarea 11 Titlu tag-ul este o etichetă opțională în ceea ce privește Cartea (aceeași regulă poate fi stabilită în DTD). Cu toate acestea, se precizează, de asemenea, că în elementul de carte trebuie să fie de cel puțin una și cel mult două elemente Autor. Valoarea implicită atributele minOccurs și elementul maxOccurs tag-ul este 1. element de alegere indică faptul că ar putea primi doar unul dintre elementele subsidiare. Un alt element al tuturor specifică faptul că toate elementele de copil poate să apară doar o singură dată împreună în orice ordine, sau pot să nu apară deloc. În Listarea 12, a anunțat că titlul două tag-ul și autorul trebuie să apară în cartea în orice ordine, sau pot să nu apară deloc. Astfel de restricții sunt greu de exprimat folosind DTD-ul.
Listarea 12: Un pointer la faptul că elementul ar trebui să fie definite toate tipurile
Rezumând
În acest document, am descoperit cu ajutorul unor exemple simple ale celor mai fundamentale concepte necesare pentru a defini elementele structurale prin intermediul schema XML. De asemenea, sunt disponibile multe alte mecanisme puternice:
Pentru mai multe informații despre XML-scheme pot fi obținute de la W3C documentația on-line (a se vedea resursele. Pe acest subiect), și zona XML dW. Acum, când specificația XML schema a fost confirmată în calitate de candidat la recomandarea W3C, puteți cu siguranță folosi la maxim.