limbajul xsd. Ce este un fișier XSD - cum să utilizați și să convertiți formatul

Acasă / Browsere

Acest capitol vă va arăta cum să scrieți scheme XML. Veți învăța, de asemenea, că diagrama poate fi scrisă în diferite moduri.

Document XML

Să ne uităm la acest document XML numit „shiporder.xml”:

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="shiporder.xsd">
John Smith

Ola Nordmann

Langgt 23

4000 Stavanger
Norvegia


Empire Burlesque
Ediţie specială
1
10.90


Ascunde-ți inima
1
9.90

Documentul XML de mai sus constă dintr-un element rădăcină, „shiporder”, care conține un atribut obligatoriu numit „orderid”. Elementul „shiporder” conține trei elemente secundare diferite: „orderperson” , „shipto” și „item” . Elementul „articol” apare de două ori și conține un element „titlu”, un element opțional „notă”, un element „cantitate” și un element „preț”.

Linia de mai sus: Xmlns: XSI="http://www.w3.org/2001/XMLSchema-instance" spune parserului XML că acest document ar trebui validat schema. Linia: XSI: noNamespaceSchemaLocation = "shiporder.xsd" indică locul în care se află schemele (aici este în același folder cu „shiporder.xml”) .

Crearea unei scheme XML

Acum dorim să creăm o schemă pentru documentul XML de mai sus.

Vom începe prin a deschide un fișier nou, pe care îl vom numi „shiporder.xsd”. Pentru a crea o schemă, am putea pur și simplu să urmăm structura din documentul XML și să definim fiecare element așa cum îl găsim. Vom începe cu o declarație XML standard urmată de un element xs:schema care definește schema:



...

În schema de mai sus, folosim spații de nume standard (xs), iar URI-ul asociat cu acest spațiu de nume este definiția limbajului schemei, care are valoarea standard http://www.w3.org/2001/XMLSchema.

În continuare, trebuie să definim un element „shiporder”. Acest element are un atribut și conține alte elemente, așa că îl tratăm ca pe un tip complex. Elementele copil ale unui element „shiporder” sunt înconjurate de un element de secvență xs: care definește o secvență ordonată de subelemente:




...


Apoi trebuie să definim elementul „orderperson” ca un tip simplu (din moment ce nu conține niciun atribut sau alte elemente). Tipul (xs:string) este prefixat cu un prefix de spațiu de nume asociat cu Schema XML, care specifică un tip de date de schemă predefinit:










Cu ajutorul schemelor putem determina numărul de apariții posibile pentru un element cu atribute MaxOccurs și MinOccurs. MaxOccurs specifică numărul maxim de apariții pentru un element și MinOccurs specifică numărul minim de apariții pentru un element. Valoarea implicită atât pentru MaxOccurs, cât și pentru MinOccurs este 1!

Acum putem defini elementul „articol”. Acest element poate apărea de mai multe ori într-un element „comandă de expediere”. Acest lucru este determinat prin setarea atributului maxOccurs al elementului „item” la „unbounded”, ceea ce înseamnă că pot exista atâtea apariții ale elementului „item” câte dorește autorul. Rețineți că elementul „notă” este opțional. Am definit acest lucru setând atributul minOccurs la zero:










Acum putem declara atributul „shiporder” al elementului. Deoarece acesta este un atribut obligatoriu, specificăm use="required".

Notă: declarațiile de atribute trebuie să fie întotdeauna ultimele:

Iată o listă completă a fișierului schema numit „shiporder.xsd”:





























Circuite separate

Metoda anterioară de proiectare este foarte simplă, dar poate fi dificil de citit și întreținut atunci când documentele sunt complexe.

Următoarea metodă de proiectare se bazează pe definirea tuturor elementelor și atributelor și apoi referirea lor folosind atributul ref.

Iată noul design al fișierului schematic ("shiporder.xsd"):








































Utilizarea tipurilor denumite

A treia metodă de proiectare definește clase sau tipuri, ceea ce permite reutilizarea definițiilor de elemente. Acest lucru se face prin denumirea elementelor simpleTypes și complexTypes, iar apoi trimiterea la ele prin atributul tip al elementului.

Iată al treilea design al fișierului schematic ("shiporder.xsd"):

































Elementul de constrângere indică faptul că tipul de date a fost derivat din spațiul de nume W3C XML Schema tip de date. Deci, următorul fragment înseamnă că valoarea elementului sau a atributului trebuie să fie valoarea unui șir:

Elementul de constrângere este folosit mai des pentru a aplica restricții elementelor. Priviți următoarele rânduri din diagrama de mai sus:





Aceasta specifică faptul că valoarea elementului sau a atributului trebuie să fie un șir, trebuie să fie exact șase caractere pe linie, iar acele caractere trebuie să fie un număr între 0 și 9.

Aș dori să vorbesc într-un singur loc despre o sarcină foarte tipică atunci când lucrez cu XML, și anume despre creație XML pe baza celui existent. Această operațiune va consta din mai multe etape, în timpul cărora vor fi rezolvate sarcini suplimentare, cum ar fi:

  • Creare XML bazat pe XSD, și invers.
  • Serializarea și deserializarea obiectelor.
  • Crearea unei clase pentru serializarea viitoare de la XML sau XSD.
Înainte de a începe, plănuiesc ca cititorul să fie familiarizat cu cuvintele XMLŞi XSD. Referitor la XML, cred că nu sunt probleme cu asta, dar în ceea ce privește XSD S-ar putea să am întrebări despre ce este. În scurt:
XSD este un limbaj de descriere XML. Și dacă vă uitați la conținutul fișierului care conține această descriere, se va pune întrebarea, de ce descrieți etichetele aparent evidente ale dvs. XML? Dar imaginați-vă că vă integrați cu un sistem extern și doriți să utilizați formatul pentru schimbul de date XML. Aşa, XSD vă permite să descrieți pentru fiecare element numele său, atributele posibile, câmpurile sau atributele obligatorii și să clarificați că conținutul unei etichete poate conține doar un element intern ( ) și nu mai mult, sau un nod poate avea o secvență de elemente (< a> ... ). Când sistemul extern este al tău, atunci s-ar putea să nu fie nicio problemă, dar atunci când este un terț, atunci această descriere prin XSD, va fi un instrument pentru soluționarea disputelor cu formatul și, de asemenea, folosind utilități, puteți verifica conformitatea oricărui XML format original.
Deci, ce vom face pentru a învăța să ștampilăm XML pe baza standardului tău? Voi descrie totul în ordine.

Disponibil:
Un fel de XML (xmlfile.xml), salvat în format text într-un fișier. Mai jos este textul:

< catalog > < book id = " bk101 " > < author >Gambardella, Matei < title >Ghidul dezvoltatorului XML < genre >Calculator < price > 44.95 < publish_date > 2000-10-01 < description >O privire aprofundată asupra creării de aplicații cu XML. < book id = " bk102 " > < author >Ralls, Kim < title >Ploaie de la miezul nopții < genre >Fantezie < price > 5.95 < publish_date > 2000-12-16 < description >O fostă arhitectă se luptă cu zombi corporativi, o vrăjitoare rea și propria copilărie pentru a deveni regina lumii.

Pași pentru a crea unul nou:

  1. Mai întâi folosind utilitarul XSD.exe, sau folosind servicii online(căutați „xml to xsd” unul dintre ele www.freeformatter.com/xsd-generator.html), vom crea din cele existente XML primitivul ei XSD descriere. La ieșire vom avea un complet, automat creat output.xsd un fișier care este deja utilizabil, dar este posibil să nu fie complet.
  2. În continuare, pe baza output.xsd , clasele vor fi create în C# xmlclass.cs. După care, îl adăugăm în proiectul nostru. Puteți crea o clasă folosind XSD.exe sau xsd2code utilitate sau orice serviciu online.
  3. Acum suntem gata să folosim clasele de fișiere xmlclass.cs. Prin urmare, să creăm și să umplem instanțe cu date xmlclass, iar apoi, folosind procesul de serializare, vom converti obiectele în XML linie, apoi salvați-o în fișier nou. Astfel obținem XML pe baza a ceea ce este disponibil.
Să începem!

Pasul 1: Generați XSD din XML.

Deci, iată metodele pe care le folosesc eu însumi:
  1. Utilitate xsd.exe- creator Microsoft.
  2. Utilitate xsd2code.exe - aplicație terță parte, care poate face totul la fel ca xsd.exe, dar este disponibil pentru descărcare direct (la în acest moment a devenit plătit din Proces perioadă).
  3. Utilizarea oricăror servicii online.
Pentru a primi XSD.exe, va trebui să puneți oricare SDK-uri Microsoft, care vine cu această aplicație. Din păcate, în acest moment, niciunul dintre studiouri nu include acest utilitar în kit-ul lor.

Link pentru a descărca și instala unul dintre SDK:
Windows SDK pentru Windows 7 și .NET Framework 4.

Să folosim căutarea și să găsim fișierul xsd.exe, după care (pentru a ne ușura munca), copiați-l în folderul creat în rădăcina discului C:\xmltoxsd. Apoi, copiem xmlfile.xmlși totul este gata să înceapă.


Smulgem" Linia de comandă"(Start -> "Run" -> "cmd"), mergeți la directorul nostru și apelați cu parametrii impliciti xsd.exe, trecând ca parametru xmlfile.xml:


Și vedem că lângă el a apărut un fișier xmlfile.xsd cu continut.


Asta este! Aceste acțiuni sunt suficiente pentru a crea o primitivă XSD fișier cu care să lucrezi. Dar merită să înțelegem asta xsd.exe, ca orice alt utilitar, nu știe nimic despre tipurile câmpurilor dvs. (deci tipul câmpului va fi aproape întotdeauna şir), precum și despre toate variațiile de atribute și parametri. Adică, dacă o etichetă nu are un atribut în dvs XML, atunci nu va fi în descriere. De aceea XML ar trebui să fie cel mai complet și dacă elementul poate conține mai multe câmpuri copil, este mai bine să adăugați cel puțin două, astfel încât xsd.exe Mi-am dat seama că aceasta este o colecție.

Sintaxă XSD nu foarte complicat, așa că dacă scrieți o descriere destul de serioasă, poate fi necesar să lucrați cu un fișier.

Pasul 2: Creați o clasă din XSD.

Pentru a crea o clasă în C#, va trebui să folosim din nou xsd.exe dar cu un parametru diferit /clasele, trecand calea catre noi xmlfile.xsd.


După execuție, va apărea fișierul xmlfile.cs, al cărui conținut este afișat mai jos sub formă comprimată:


După cum puteți vedea, pentru elementul interior catalog a fost creată o clasă catalogCarte, ale căror câmpuri corespund câmpurilor din XML, și câmpul ID marcat ca atribut. Xsd.exe Am înțeles corect ce era înăuntru catalog se păstrează o colecție de cărți, astfel că proprietatea a apărut Articole, pentru a popula colecția copil.
Comentariu: xsd.exe nu pot adăuga comentarii la clasele și câmpurile rezultate. În descriere XSD există un element numit< xs:annotation > , care de cele mai multe ori contine< xs:documentation >, în interiorul căruia se află o descriere a câmpului. În teorie, ar trebui să fie plasat în /// descriere, dar în acest moment xsd.exe refuză să adauge text la descriere, așa că trebuie să apelezi la alternative precum xsd2code sau servicii online.

Pasul 3: Serializați obiectele în XML.

Clasele rezultate sunt în fișier xmlfile.cs. Apoi, adăugați conținutul acestuia sau fișierul în sine la proiect Visual Studio, după care poți lucra cu el. Voi crea obiecte de carte demonstrativă și apoi le voi salva într-un fișier în format XML.

Private void Exemplu() ( // Creați prima carte var book1 = catalog nouCarte () ( autor = "Rege" , descriere = "Carte foarte interesantă" , gen = "Fantezie" , preț = 22.ToString(), id = "42011" , titlu = "It" }; !} // Creați o a doua carte var book2 = new catalogBook () ( autor = "O"Brien, Tim" , descriere = „Inițiativa Microsoft .NET este explorată în detaliu în referința acestui programator profund.”, gen = „Computer” , preț = 36.ToString(), id = „30012” , titlu = „Microsoft .NET: Biblia de programare” }; // Creați un element rădăcină de director care conține cele două cărți de mai sus var catalog = new catalog() (Articole = new(book1, book2)); // Conține XML-ul obiectului catalog var xmlCatalog = Serialize(catalog); // Scrieți un șir într-un fișier // TODO Realizat în scop demonstrativ. Este recomandabil să apelați metoda Serialize pentru a transfera fluxul în fișier Fișier .WriteAllText("Output.xml" , xmlCatalog); ) șir privat Serialize (TType sourceObject) ( dacă (sourceObject == null ) ( șir returnat .Empty; ) // Folosiți XmlSerializer pentru a-l converti într-un șir XML var xmlserializer = new XmlSerializer(typeof(TType)); var stringWriter = new StringWriter(); folosind (var writer = XmlWriter .Create(stringWriter, new XmlWriterSettings () ( Indent = true ))) ( xmlserializer.Serialize(writer, sourceObject); return stringWriter.ToString(); ) ) După rulare și deschidere Ieșire.xml").

puteți vedea că l-am salvat așa cum ne-am dorit (Fișierul de jos - " Creat prin cod La efectuarea diferitelor forme de raportare (și chiar în timpul

munca regulata

online), unii utilizatori pot întâlni un fișier cu extensia XSD. Acest fișier este de obicei o schemă pentru descrierea datelor XML, dar există și cazuri când fișierul la care se face referire este un derivat al programului Pattern Maker. În acest articol, vă voi spune cum să deschideți un fișier XSD, ce programe ne vor ajuta cu acest lucru și, de asemenea, vă voi descrie esența erorii „Fișierul nu se potrivește cu schema xsd”. Ce este XSD Termenul „XSD” este o abreviere a cuvintelor engleze

Un fișier xsd descrie elementele găsite într-un document XML. De obicei, acestea sunt date fixe, valori implicite, sintaxa datelor, reguli pe care un anumit document trebuie să le respecte și așa mai departe, cu unele elemente deseori interconectate cu alte elemente și care fac referire.

Standardul XSD 1.1 a primit aprobarea consorțiului World wide webîn aprilie 2012, oferind câteva avantaje importante față de schemele XML preexistente precum DTD (Document Type Definition) sau SOX (Simple Object XML). De exemplu, acesta este că XSD este scris în XML, există crearea automată diagrame și așa mai departe.


Cum se deschide formatul xsd

Pentru a deschide majoritatea fișierelor xsd, va fi suficient să utilizați orice editor de text disponibil (Notepad, Notepad++, PSPad Editor etc.). De asemenea, programe precum Microsoft XML Notepad, Oxygen XML Editor, Liquid XML Studio și alți analogi pot fi utile în deschiderea formatului xsd.

Dacă acest dosar este rezultatul programului Pattern Maker for Cross stitch (de obicei un model pentru broderie), apoi un astfel de fișier poate fi vizualizat fie folosind programul specificat, fie folosind un vizualizator special numit „Pattern Maker Viewer”.


Format de broderie.XSD

Fișierul nu se potrivește cu schema xsd - ce este?

Cu toate acestea, există situații în care descrierea fișierului XML conținută în fișierul XSD nu se potrivește cu datele reale prezente în fișierul XML. Eroarea poate fi fie în datele în sine, fie în metoda de introducere a acestor date, iar sistemul reacționează în mod standard, afișând mesajul menționat „Fișierul nu se potrivește cu schema xsd”.


De multe ori această situație apare în cazul depunerii contabilității și a altor forme de raportare, atunci când un specialist de la o autoritate de reglementare, când încearcă să deschidă un fișier xml, descoperă eroarea menționată.

  1. Verificați că datele din fișierul xml sunt corecte, concentrându-se pe prezența erorilor de sintaxă (cratime suplimentare, spații și așa mai departe);
  2. Actualizați programul în care ați lucrat cu fișierul xml(poate că versiunea sa actuală este depășită);
  3. Contact suport tehnic implicat în întreținerea acestui produs software (sau suport tehnic al autorității de reglementare).

Concluzie

Cum se deschide un fișier XSD? Răspunsul la întrebare va fi să utilizați orice editor de text la îndemână (același Notepad). Dacă fișierul xsd dorit este un produs al programului Pattern Maker, atunci recomand să-l deschideți folosind acest program sau folosind un instrument de vizualizare complementar, Pattern Maker Viewer.

Un fișier cu o extensie XSD este cel mai probabil un fișier de schemă XML; format text fișier care definește regulile de validare pentru fișierul XML și explică formularul XML.

Deoarece fișierele XSD sunt fișiere de schemă, ele oferă un model pentru altceva, în în acest caz, acestea sunt fișiere XML. De exemplu, un fișier XSD poate necesita asta fișier XML avea anumite limite, relații, ordine, atribute, sub-caracteristici și alte elemente și a stabilit orice restricții.

Fișierele XML pot face referire la un fișier XSD cu un atribut schemaLocation.

Programul de cusături în cruce HobbyWare Pattern Maker folosește și extensia XSD pentru formatul său.

Cum se deschide un fișier XSD

Fișierele XSD pot fi deschise și folosind Microsoft Visual Studio, XML Notepad, EditiX XML și XMLSpy. Oxygen XML Editor este unul dintre puținele instrumente XSD care funcționează pe Linux, Mac și Windows.

De asemenea, puteți utiliza editor de text ca vizualizator și editor XSD, având în vedere că fișierul este doar un fișier text.

Iată un exemplu despre cum arată fișierul XSD când este deschis într-un editor de text:








Dacă aveți de-a face cu un fișier XSD utilizat cu Pattern Maker, desigur că îl puteți deschide cu acesta software. Cu toate acestea pentru deschidere liberăși tipăriți un fișier cu modele HobbyWare oferă programul Pattern Maker Viewer. Pur și simplu trageți și plasați fișierul XSD în program sau utilizați meniul "Fişier""Deschide...". Acest vizualizator acceptă și formatul similar PAT.

Aplicația Crossty pentru iOS și Android poate deschide și fișiere XSD pentru cusături în cruce, dar nu este gratuită.

Cum se transformă un fișier XSD

Cel mai simplu mod de a converti un fișier XSD într-un alt format– utilizați unul dintre editorii XSD descriși mai sus.

O altă conversie de care ai putea avea nevoie este XSD în PDF astfel încât să puteți deschide fișierul XSD în Adobe Acrobat Reader sau alt instrument. Probabil că nu există niciun motiv special pentru a converti un fișier XSD în PDF, în afară de a vă asigura că codul este vizibil pe orice computer care îl deschide.

XML Schema Definition Tool poate converti fișierele XDR, XML și XSD într-o clasă serializabilă sau într-un set de date # ca o clasă C.

Puteți folosi Microsoft Excel dacă trebuie să importați date dintr-un fișier XSD și să le puneți într-o foaie de calcul Excel.

Este probabil ca programul Pattern Maker pe care l-am menționat mai sus (nu program gratuit vizualizator) poate fi folosit pentru a converti un fișier XSD cu punct în cruce într-un nou format de fișier.

Încă nu poți deschide fișierul?

Dacă fișierul dvs. XSD nu se deschide cu programele și instrumentele enumerate mai sus, există probabilitate mare că nu aveți de-a face cu un fișier XSD, ci cu un fișier cu o extensie similară.

De exemplu, extensia XDS arată foarte asemănătoare cu XSD, dar este folosită în schimb pentru fișierele de proiect DS Game Maker și fișierele LcdStudio Design. Niciunul dintre aceste formate de fișiere nu este asociat cu fișiere sau șabloane XML.

Același concept se aplică multor alte formate de fișiere, cum ar fi fișierele XACT Sound Bank, care folosesc extensia de fișier .XSB. Acest fișiere de sunet, care nu se deschid cu niciun deschizător XSD sau convertor de fișiere.

Dacă fișierul dvs. nu se termină cu .XSD, căutați extensia pentru a găsi ce programe pot deschide sau converti acel anumit tip de fișier.

În articolul anterior despre XML, ne-am uitat la o astfel de metodă învechită de validare a documentelor XML precum XML DTD. Această metodă este încă folosit pentru validarea datelor XML, dar este înlocuit din ce în ce mai mult în fiecare zi tehnologie nouă numită XML Schema. Multe deficiențe care erau în DTD XML au fost corectate în schemele XML, așa că în prezent toți dezvoltatorii de top folosesc doar scheme XML pentru validarea documentelor.

Pentru a aprecia avantajele Schemelor XML față de DTD-uri, să aruncăm o privire mai atentă la principalele dezavantaje ale DTD-urilor care au fost corectate cu succes în Schemele XML. Le-am menționat deja în articolul „”, dar pentru o mai bună înțelegere, să repetăm.

Dezavantajele XML DTD față de XML Schema

  1. Sintaxa limbajului diferită de XML. Adică, DTD nu este XML. În acest sens, pot apărea diverse probleme cu codificarea și verificarea documentelor XML.
  2. Nu se verifică tipul de date. Există un singur tip de date într-un DTD XML — șir. În acest sens, de exemplu, dacă există text într-un câmp numeric, documentul va trece totuși verificarea, deoarece DTD-ul XML nu poate verifica tipul de date.
  3. Nu puteți atribui mai mult de o descriere DTD unui document XML. Adică, un document poate fi verificat cu o singură descriere DTD. Dacă există mai multe dintre ele, va trebui să refaceți descrierile și să combinați totul într-un singur fișier, ceea ce este foarte incomod.

Acestea au fost principalele deficiențe ale XML DTD, care au fost corectate cu succes în descrierea standardului industrial Documente XML XML Schemă.

XML Schema este un standard industrial pentru descrierea documentelor XML

Pe scurt, XML Schema face următoarele:

  1. Descrie numele elementelor și atributelor (dicționar).
  2. Descrie relația dintre elemente și atribute, precum și structura acestora (modelul de conținut).
  3. Descrie tipuri de date.

De asemenea, vreau să remarc că în acest moment aproape totul poate fi descris folosind diagrame. Adică schema este metoda universala descrieri ale gramaticii datelor, care pot fi folosite nu numai pentru verificarea documentelor XML, ci și pentru a descrie baze de date etc. Astfel, domeniul de aplicare al schemelor este în prezent foarte larg.

Exemplu de schemă XML pentru validarea unui document XML

După cum arată practica, materialul este absorbit mult mai bine dacă începeți imediat să studiați cu exemple. Vă spun imediat că nu vom intra în toate detaliile, deoarece materialul este foarte complex, mai ales dacă îl studiați sub formă de text.

Exemplu de schemă XML simplă

Folosind această schemă, puteți valida următorul document XML.

<книга xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation = "book.xsd"> <название>Bazele XML <цена>300

Deci, să revenim la schema noastră XML. După cum ați observat deja, pentru Crearea XML Schemele folosesc XML care ne este deja cunoscut. Singura diferență aici este că XML Schema are elemente deja definite, spre deosebire de XML obișnuit. În acest sens, sunt folosite spațiile de nume. În acest caz, spațiul de nume necesar va fi „http://www.w3.org/2001/XMLSchema”, care va fi specificat folosind prefixele „xs”.

Aș dori să notez imediat că puteți utiliza ambele prefixe de spațiu de nume și puteți seta un spațiu de nume pentru elementul rădăcină. Nu există nicio diferență ca atare. Fiecare decide singur ce să facă într-o anumită situație. Permiteți-mi doar să spun că de obicei sunt folosite prefixele „xs” sau „xsd”.

Ei bine, acum să ne dăm seama cum să descifrăm diagrama de mai sus. După cum am menționat mai sus, XML Schema este o descriere a unui vocabular și a unor tipuri de date. Pe baza acestui lucru, vom descifra fiecare element.

  • — declara elementul „carte” cu tipul „Carte”.
  • — declarați un tip complex cu numele „Carte” (xs:complexType - poate conține elemente imbricate).
  • — declarație de cuibărit. Adică, tipul va conține elemente imbricate.
  • — declara un element cu numele „title” (tipul standard „string” - xs:string).
  • — declarați un element cu numele „preț” (tipul standard „număr” - xs:zecimal).

După cum puteți vedea, nu este nimic super complicat aici. Dacă te gândești bine, totul este foarte simplu.

Elemente de bază ale schemei XML

Pe scurt, schema XML poate fi descrisă după cum urmează.

Schema ta

După cum puteți vedea din exemplu, fiecare schemă XML constă dintr-un element rădăcină „schema” și un spațiu de nume necesar „http://www.w3.org/2001/XMLSchema”. Urmează o descriere a circuitului și a circuitului în sine. În același timp, foarte adesea în schemele de foarte înaltă calitate descrierea este mult mai mare decât schema XML în sine.

Descrierea elementelor din Schema XML

La începutul articolului, ne-am uitat deja la un exemplu de schemă XML simplă. În el am descris separat elemente și tipuri. În același timp, aș dori să observ imediat că secvența nu joacă un rol aici. Schema va funcționa în orice caz.

Acum să ne uităm la a doua modalitate de a scrie XML Schema, care se bazează pe descrierea tipului imediat în interiorul elementului. Această metodă este potrivită dacă nu intenționați să utilizați aceeași descriere pentru elemente diferite. Pentru claritate, să ne uităm la un exemplu.

După cum se poate vedea din exemplu, un element este declarat folosind un „element” de construcție special, folosind prefixul corespunzător. În acest caz, definim un element numit „rădăcină” fără a specifica un tip, deoarece acesta va fi descris în interiorul elementului. Adică, există două moduri de a descrie elemente.

1 cale

Descriere tip

2 sensuri

Descrierea tipului de element

Puteți folosi atât prima metodă, cât și a doua. Toate lucrează la fel. Singura întrebare este confortul în acest caz particular.

În plus, după declararea elementului, indicăm că este de tip complex ( ) și lista ( ) elemente imbricate. În acest caz, acestea sunt elementele de nume și vârstă cu tipurile „xs:string” și „xs:integer”. Prefixul xs înseamnă că este un tip de bază care este deja definit în standardul XML Schema.

După cum puteți vedea, totul este destul de simplu până acum. Din nou, nu vom intra în toate detaliile, deoarece acest articol are scopul de a vă familiariza cu XML Schema și nu de a o studia în detaliu.

Cum se potrivesc Schema XML și documentul

Particularitatea XML Schema este că nu descrie documentul în sine, ci spațiul de nume. În acest sens, cel mai adesea nu este menționată în document. Managerul însuși mapează schema de care aveți nevoie fără a utiliza instrucțiuni din documentul XML.

În cazul în care handlerul nu știe unde este schema, putem indica unde să o căutăm. Acest lucru se face folosind atributul special „schemaLocation”. Deoarece acest atribut aparține unui spațiu de nume diferit, spațiul de nume trebuie de asemenea specificat înainte de a utiliza atributul. Pentru claritate, să ne uităm la un exemplu.

Schema XML

document XML

Acum să ne uităm la fiecare linie în detaliu.

  • targetNamespace="http://www.site.com" – indicați pentru ce spațiu de nume este această schemă XML.
  • xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance” – conectăm spațiul de nume în care este descris atributul „schemaLocation”.
  • xsi:schemaLocation="http://www.site.com/product.xsd” – indicăm unde poate fi găsită schema în cazul în care analizatorul nu știe unde se află. Dacă documentul XML nu aparține niciunui spațiu de nume și, prin urmare, nu există nicio referință la acesta în schemă, atunci atributul „schemaLocation” este înlocuit cu „noNamespaceSchemaLocation” (o referire la schemă fără a defini spații de nume).

Asta e tot. Mult succes și succes în învățarea XML!

© 2024 ermake.ru -- Despre repararea PC-ului - Portal de informații