Računala Windows Internet

XML shema je opis strukture XML dokumenata. Izradite XML datoteku Primjer jednostavne XML sheme

Ponekad razumijevanje XML datoteku, poslano u katastarsku komoru jednostavno je potrebno kad osjetite da morate negdje nešto popraviti, a kod mnogih je razvijena prirodna znatiželja. Ali ... Važno. Upamtite da nakon potpisivanja EDS datoteke ne možete uređivati ​​XML datoteku! Kao primjer iz prakse, prilikom dijeljenja parcele od 300 memorije, djevojka je slučajno izbrisala samo jedan redak u adresi s jedne od zavjera. I to je to .. XML datoteka nije prošla provjeru valjanosti. Pretraživanje programa kroz sve zapise činilo mi se dosadnim, što sam više znao što tražiti. Otvorivši XLM datoteku u uređivaču testa pretraživanjem, pronašao sam traženi redak i napravio promjene. Ali opet ponavljam - ako ste uredili datoteku, morate je ponovno potpisati s EDS -om. Pa krenimo. Predstavit ću crteže i opisati ih.

I još jedno povlačenje, za uređivanje i prikladan pregled XML datoteka Preporučujem korištenje programa. Omogućit će vam da vidite strukturu datoteke i prikladno je obojite prema vrijednostima. Na primjer, za kupaonicu ću uzeti električni grijač za ručnike, pa naravno ne njegov -), već formiranje XML datoteke od 2 skladišne ​​jedinice dodjelom udjela u zajedničkom vlasništvu skladišne ​​jedinice s katastarskim brojem ... .
Kao primjer, prvo ću prikazati sliku srušene XML datoteke s jednim urušenim blokom.

Dakle, sudeći prema brojaču linija s lijeve strane, imamo datoteku s 336 redaka. Kao što možete vidjeti sa slike, blok Suženo, znak plus s desne strane. Stoga ću prvo opisati redak po redak što se može vidjeti na ovoj slici, a zatim ćemo analizirati blokove uključene u blok Budući da je najobimniji.

Nećemo razmatrati cijelu datoteku redak po redak, već samo one retke u koje su uneseni naši podaci.

3 reda : CodeType = "014" - vrsta rada, postoje samo dva, kao u našem slučaju - obrazovanje i "015" - pojašnjenje. Verzija = "03" - XML verzija datoteka. GUID (Globally Unique Identifier) ​​je statistički jedinstven 128-bitni identifikator, u našem slučaju naziv datoteke mora odgovarati ovom pokazatelju.
4 reda : Podaci organizacije u kojoj katastarski inženjer radi, ili podaci samog katastarskog inženjera.
5 redak : Šifra organizacije korisnika, u ovom slučaju Uprava Federalna služba državna registracija, katastar i kartografija u Republici Tatarstan.

Sada se odmah spustimo na kraj datoteke, na temelju prikazane slike i razmotrimo blok ... Ovaj blok sadrži informacije o inženjer katastra koji je izvodio posao. Slijedi blok u koji odgovara koordinatni sustav. usput & quotu vrijednostima tekstualne datoteke označavaju navodnike.

U načelu, otvaranjem datoteke u Notepad ++, cijela struktura XML datoteke postaje jasna. - Lokacija - sadrži adresu. Vrijednost u napisano kada ne postoji dio adrese za KLADR.

Primjer XML datoteke mape plana generirane u softverski proizvod Plan poligon karte

Za što vizualniji prikaz ovog fragmenta, kopirajte ga i pogledajte u testnom uređivaču Notepad ++, koji možete preuzeti iz odjeljka

Uzimajući sredstva za kraj, ljudi postaju razočarani u sebe i druge, zbog čega iz svih njihovih aktivnosti ne proizlazi ništa ili suprotno od onoga čemu su težili.I. Goethe

XML format osmišljen je za spremanje podataka koji mogu biti korisni u radu nekih programa, web mjesta i podrške za određene jezike označavanja. Nije teško stvoriti i otvoriti datoteku s ovim formatom. To se može učiniti čak i ako na računalu nema instaliranog specijaliziranog softvera.

Sam XML je jezik za označavanje, donekle sličan HTML -u, koji se koristi na web stranicama. No, ako se potonji koristi samo za prikaz informacija i njihovo ispravno označavanje, tada XML dopušta njegovu strukturu na određeni način, što ovaj jezik čini nečim poput analoga baze podataka koja ne zahtijeva DBMS.

XML datoteke možete stvarati pomoću specijaliziranih programa i ugrađenih Windows Text urednik. Pogodnost pisanja koda i razina njegove funkcionalnosti ovise o vrsti softvera koji se koristi.

1. metoda: Visual Studio

Umjesto ovog Microsoftovog uređivača koda, možete koristiti bilo koje od njegovih kolega drugih programera. Zapravo, Visual Studio je naprednija verzija uobičajenog "Bilježnica"... Kôd sada ima posebno isticanje, pogreške se automatski ističu ili ispravljaju, a u program su već učitani posebni predlošci koji omogućuju pojednostavljenje stvaranja velikih XML datoteka.

Za početak morate stvoriti datoteku. Kliknite na stavku "Datoteka" na gornjoj traci i s padajućeg izbornika odaberite "Stvoriti…"... Otvorit će se popis na kojem je stavka označena "Datoteka".

  • Bit ćete prebačeni u prozor s izborom nastavka datoteke, odnosno odaberite stavku "XML datoteka".
  • Novostvorena datoteka već će imati prvi redak s kodiranjem i verzijom. Zadana je prva verzija i kodiranje UTF-8 koje možete promijeniti u bilo kojem trenutku. Zatim, da biste stvorili punopravnu XML datoteku, morate registrirati sve što je bilo u prethodnoj uputi.

    Kad završite, odaberite ponovo s gornje trake "Datoteka", a zatim iz stavke padajućeg izbornika "Spremi sve".

    2. način: Microsoft Excel

    Možete stvoriti XML datoteku bez pisanja koda, na primjer, pomoću modernih verzija programa Microsoft Excel, što vam omogućuje spremanje tablica s ovim proširenjem. Međutim, morate shvatiti da u ovom slučaju nećete moći stvoriti nešto funkcionalnije od obične tablice.

    Ova je metoda prikladnija za one koji ne žele ili ne znaju raditi s kodom. Međutim, u ovom slučaju korisnik može naići na određene probleme pri prepisivanju datoteke u XML format. Nažalost, operaciju pretvaranja obične tablice u XML moguće je izvršiti samo na najnovijim verzijama MS Excela. Da biste to učinili, slijedite sljedeće korak-po-korak upute:


    Metoda 3: Bilježnica

    Čak i uobičajeni je u redu za rad s XML -om. "Bilježnica", međutim, korisniku koji nije upoznat sa sintaksom jezika bit će teško, budući da se u njemu moraju upisivati ​​različite naredbe i oznake. Postupak će biti nešto jednostavniji i mnogo produktivniji u specijaliziranim programima za uređivanje koda, na primjer, u Microsoft Visual Studiju. Imaju posebno isticanje oznaka i opise alata, što uvelike pojednostavljuje rad osobi koja je tek upoznata sa sintaksom ovog jezika.

    Za ovu metodu ne morate ništa preuzimati jer u operacijski sustav već ugrađeno "Bilježnica"... Pokušajmo u njoj napraviti jednostavnu XML tablicu prema danim uputama:


    Gotov rezultat trebao bi izgledati otprilike ovako:




    25
    Pravi


    Prevoditelji XML -a moraju obraditi ovaj kôd u obliku tablice s jednim stupcem, koji sadrži podatke o određenom Ivanu Ivanovu.

    V. "Bilježnica" sasvim je moguće napraviti ovakve jednostavne tablice, ali pri stvaranju opsežnijih nizova podataka mogu se pojaviti poteškoće, budući da u uobičajenim "Bilježnica" nema funkcija za ispravljanje pogrešaka u kodu ili njihovo isticanje.

    Kao što vidite, nema ništa teško u stvaranju XML datoteke. Po želji, može ga izraditi svaki korisnik koji manje -više zna raditi na računalu. Međutim, za stvaranje punopravne XML datoteke preporučuje se da naučite ovaj jezik označavanja, barem na primitivnoj razini.

    Ovo poglavlje će vam pokazati kako napisati XML sheme. Također ćete naučiti da se dijagrami mogu pisati na mnogo različitih načina.

    XML dokument

    Pogledajmo sljedeći XML dokument pod nazivom "shiporder.xml":

    John Smith Ola Nordmann

    Langgt 23
    4000 Stavanger Norveška Imperijska burleska Posebno izdanje 1 10.90 Sakrij svoje srce 1 9.90

    Gornji XML dokument sastoji se od korijenskog elementa shiporder sa obaveznim atributom orderid ... Element shiporder sadrži troje djece: nalogodavac, poslati nekome i artikal... Element artikal koristi se dva puta i sadrži element titula, izborni element Bilješka kao i elementi količina i cijena.

    Crta xmlns: xsi = "http://www.w3.org/2001/XMLSchema-instance" govori XML parseru da bi se ovaj dokument trebao provjeriti prema shemi. Crta xsi: noNamespaceSchemaLocation = "shiporder.xsd" određuje gdje se shema nalazi (u ovom slučaju, ona se nalazi u istoj mapi kao i datoteka "shiporder.xml").

    Kreiranje XML sheme

    Sada napravimo XML shemu za gornji XML dokument.

    Kreirajmo novu datoteku koju ćemo nazvati "shiporder.xsd". Za izradu XML sheme jednostavno ćemo slijediti strukturu XML dokumenta i definirati svaki element s kojim se susreće. Počnimo sa standardnom XML deklaracijom nakon koje slijedi element xs: shema , koji definira samu shemu:

    ...

    Ovdje koristimo standardni imenski prostor ( xs ) i URI povezan s tim prostorom imena, koji ima zadanu vrijednost http://www.w3.org/2001/XMLSchema .

    Sada moramo definirati element shiporder... Ovaj element ima atribut i sadrži druge elemente, pa ga tretiramo kao element složenog tipa. Definicije podređenog elementa shiporder staviti u deklaraciju xs: slijed , koji definira kruti niz pod -elemenata:

    ...

    Sada definirajmo element nalogodavac koji će biti jednostavnog tipa (budući da ne sadrži nikakve atribute niti druge elemente). Njegov tip ( xs: niz ) ima prefiks s imenskim prostorom povezanim s XML shemom, što ukazuje na uporabu unaprijed definirane vrste podataka:

    Sada moramo definirati: poslati nekome i artikal... Počnimo definiranjem elementa poslati nekome:

    Pomoću dijagrama možemo definirati bilo koji element. Atributi će nam u tome pomoći. maxOzbijeno i minOzgodi ... Atribut maxOzbijeno navodi maksimalni broj pojavljivanja elementa i atribut minOzgodi navodi minimalni broj pojavljivanja. Prema zadanim postavkama vrijednost oba atributa je 1.

    Sada definirajmo element artikal... Ovaj element se može koristiti neograničen broj puta unutar elementa. shiporder... Odredite takvo obilježje elementa artikal dopušta dodjeljivanje atributa maxOzbijeno značenje "neograničeno" ... To znači da element artikal može se koristiti onoliko puta koliko je potrebno autoru dokumenta. Imajte na umu da element Bilješka izborno. To definiramo postavljanjem atributa minOzgodi na nulu:

    Sada možemo deklarirati atribut elementa shiporder... Budući da je to obavezan atribut, koristimo se definicijom use = "potrebno" .

    Napomena: Atribute uvijek treba objaviti posljednje:

    Evo potpunog koda za datoteku sheme "shiporder.xsd":

    Dijeljenje sheme

    Prethodna metoda izgleda sheme prilično je jednostavna, međutim, kada je dokument prilično složen, ova metoda može učiniti odgovarajuću shemu prilično nezgrapnom, što će uvelike utjecati na njezinu čitljivost i održavanje.

    Sljedeći način postavljanja sheme je prvo definiranje svih elemenata i atributa, a zatim pozivanje na te definicije pomoću atributa ref .

    Slijedi novi izgled datoteke sheme ("shiporder.xsd"):

    Korištenje imenovanih vrsta

    Treći način postavljanja sheme uključuje definiranje klasa ili tipova koji dopuštaju ponovnu upotrebu definicija članova. To postaje moguće davanjem naziva elementima simpleTypes i complexTypes a zatim ih pokažite pomoću atributa tip .

    Treći način povezivanja datoteke sheme ("shiporder.xsd"):

    Element ograničenje označava da je tip podataka izveden iz tipova podataka u imenskom prostoru W3C XML sheme. Dakle, sljedeći dio koda znači da vrijednost elementa ili atributa mora biti niz:

    Međutim, mnogo češće element ograničenje koristi se za nametanje ograničenja elementima. Pogledajte sljedeće retke iz gornjeg dijagrama:

    Ovaj isječak koda navodi da vrijednost elementa ili atributa mora biti niz, točno šest znakova po duljini i da ti znakovi moraju biti brojevi od 0 do 9.

    Za sve dolje navedene primjere koristi se jezični standard XSL. Suvremenija izmjena ovog standarda, XSL jezik, također se široko koristi. T, više pojedinosti o kojima možete pročitati u \ xml \ XSLTutorial ili MSDN.

    Pogledajmo jednostavan primjer XML datoteke (ex01.xml). Ovaj i drugi primjeri mogu se pronaći u mapi \ xml \ XSLTForBeginers na disku.



    XSL bilješke

    Otvorimo li ovu datoteku u Internet preglednik Explorer, vidjet ćemo isti tekst koji je prikazan gore, zajedno sa svim oznakama i servisnim podacima. Ali ne trebaju nam oznake i servisni podaci! Želimo vidjeti samo podatke koji su relevantni za slučaj, a uz pomoć oznaka - upravljati izgled ova informacija. Ovaj se zadatak može riješiti jednostavno i jednostavno: trebate dodati predložak transformacije - XSL datoteku - u XML datoteku.

    Prepišimo našu XML datoteku na sljedeći način (ex01-1.xml).




    XSL bilješke

    I stvorite XSL datoteku ex01-1.xsl. Tekst datoteke prikazan je ispod.






    Otvorimo li sada datoteku ex01-1.xsl u pregledniku Internet Explorer, tada ćemo vidjeti da je naš zadatak riješen - na ekranu ostaju samo potrebne informacije, sve su oznake nestale. Rezultat koji dobijete na zaslonu preglednika prikazan je u nastavku.

    XSL bilješke

    Također je lako vidjeti da redoslijed izlaza redaka određuje samo sadržaj predloška transformacije - XSL datoteka. Ako je potrebno, predložak se može lako promijeniti bez promjene naše glavne XML datoteke.

    Prepisimo XML datoteku. Nećemo mijenjati informativni dio, već ćemo navesti drugi predložak ex01-2.xml.




    XSL bilješke

    Kreirajmo XSL datoteku ex01-2.xsl. Tekst datoteke prikazan je ispod.






    Ako sada otvorimo datoteku ex01-2.xsl u Internet Exploreru, rezultat će biti drugačiji.

    XSL bilješke

    Istaknimo sada trenutak koji je ključan za programere baza podataka. Podaci na XML stranici obično se pojavljuju kao rezultat upita u bazi podataka. Upiti u bazu podataka u okruženju s više korisnika vrlo su skupi. Pretpostavimo sada da nemamo XML i generiramo standardne statičke HTML stranice. U ovom slučaju, za rješavanje problema jednostavne transformacije vanjskog prikaza informacija, na primjer, za promjenu sortiranja, imamo dva načina za rješavanje problema: izvršiti upit i pohraniti rezultate u neki privremeni međuspremnik na poslužitelju, ili svaki put kad se promijeni vanjski prikaz, izvedite novi upit i ponovno generirajte HTML stranicu.

    Prva metoda zahtijeva naporno programiranje, druga metoda značajno povećava opterećenje poslužitelja baze podataka čija je izvedba često usko grlo sustava - korisnik uvijek želi brže doći do rezultata.

    XML i XSL pružaju sveobuhvatno rješenje za gore opisani problem. Zapravo, XML stranica je privremeni međuspremnik za rezultate upita. Samo umjesto nestandardnog i dugotrajnog programiranja, sada koristimo standardni XSL mehanizam.

    Postoji još jedno razmatranje koje može biti značajno za programere baza podataka. Većina modernih DBMS -a može formatirati rezultate upita prema bazi podataka kao XML datoteku. Odnosno, pri izgradnji korisničkog sučelja u okviru XML i XSL tehnologije postižemo određenu neovisnost od dobavljača DBMS -a. U smislu organizacije povlačenja - gotovo potpuna neovisnost. I ovaj je dio prilično velik u većini aplikacija orijentiranih na baze podataka. Naravno, osim izlaza, postoji i unos i poslužiteljska obrada poslovne logike, no ovdje ćete morati potražiti neka druga rješenja.

    Prvi koraci

    Pogledajmo sada prvi primjer detaljnije. Prisjetimo se njegova teksta.



    XSL bilješke

    Prvi redak obavještava preglednik da je datoteka u XML formatu. Atribut verzije je obavezan. Atribut kodiranja nije obavezan, ali ako u tekstu imate ruska slova, morate umetnuti ovaj atribut, inače se XML datoteka jednostavno neće obraditi - primit ćete poruku o pogrešci.

    Sljedeći su redovi tijelo XML datoteke. Sastoji se od elemenata koji zajedno tvore strukturu stabla. Elementi su identificirani oznakama i mogu se ugnijezditi jedan u drugi.

    Elementi mogu imati atribute čije se vrijednosti također mogu obraditi prema predlošku.

    Uvijek postoji jedan element na najvišoj razini XML datoteke. Odnosno, datoteka obrasca



    XSL bilješke



    "Uvod u CSP"

    preglednik neće obraditi. Za pretvaranje u valjanu XML datoteku morate dodati oznake elemenata najviše razine, na primjer




    XSL bilješke



    "Uvod u CSP"


    Imajte na umu da nazivi oznaka razlikuju velika i mala slova. Više o tome možete pročitati u bilo kojoj knjizi o XML elementima i atributima; ove knjige posvećuju mnogo pažnje.

    Prijeđimo na predložak transformacije - XSL datoteku. Zadatak XSL datoteke je pretvoriti stablo XML datoteke u drugo stablo, koje će, na primjer, biti u skladu s HTML formatom i može se prikazati na zaslonu preglednika, uzimajući u obzir oblikovanje, izbor fontova itd.

    Da bi preglednik izvršio potrebnu transformaciju, morate navesti vezu do XSL datoteke u XML datoteci


    Pogledajmo sada tekst XSL datoteke






    Prvi redak datoteke sadrži oznaku elementa xsl: stylesheet. Atributi elementa su broj verzije i referenca prostora imena. Ovi atributi elementa xsl: stylesheet su potrebni. U našem slučaju, imenski prostor su svi nazivi elemenata i njihovi atributi koji se mogu koristiti u XSL datoteci. Za XSL datoteke referenca imenskog prostora je standardna.

    Imajte na umu da je XSL datoteka vrsta XML datoteke. Ne sadrži korisničke podatke, ali je format isti. Datoteka sadrži element najviše razine xsl: stylesheet, nakon čega slijedi stablo pravila transformacije.

    U ovom dokumentu nećemo detaljno objašnjavati što znači svaki element XSL datoteke. Navest ćemo različite primjere i u svakom primjeru prikazati rezultat koji će omogućiti neovisno mapiranje različitih elemenata XSL datoteke i transformacije izvorne XML datoteke s korisničkim podacima koje pokreću ti elementi. Također imajte na umu da je vrijednost atributa Odaberi i slični sa značenjem "izabrati" napisani su na posebnom jeziku XPath, o čemu možete ukratko pročitati na disku \ xml \ XPathTutorial, a detaljnije u MSDN -u.

    U nastavku ćemo predstaviti crno -bijele tekstove XML i XSL datoteka. Uvijek možete otvoriti pravu datoteku i vidjeti sve u boji. Ako je potrebno, komentirajte vezu do XSL datoteke. Sintaksa komentara je sljedeća -... Ne možete umetnuti simbole - u tekst komentara.

    U prvom primjeru vidjeli smo kako se xsl: value-of element može koristiti za prikaz sadržaja elementa (tekst zatvoren između oznaka) u HTML formatu. Sada ćemo vidjeti kako se isti element može koristiti za prikaz vrijednosti atributa elementa.

    Razmotrite sljedeću XML datoteku ex02-1.xml

    U prethodnom članku o XML -u pogledali smo tako zastarjeli način provjere valjanosti XML dokumenata, XML DTD. Ova metoda i dalje se koristi za provjeru valjanosti XML podataka, ali se iz dana u dan sve više zamjenjuje nova tehnologija naziva XML shema. Popravljeni su mnogi nedostaci u XML shemama, koji su bili u XML DTD -u, itd ovaj trenutak svi vodeći programeri koriste samo XML sheme za provjeru valjanosti dokumenata.

    Kako bismo cijenili prednosti XML sheme u odnosu na DTD -ove, pogledajmo pobliže glavne slabosti DTD -a koje su uspješno ispravljene u XML shemama. Već sam ih spomenuo u članku "", ali ponovimo radi boljeg razumijevanja.

    Nedostaci XML DTD -ova u odnosu na XML shemu

    1. Jezična sintaksa osim XML -a. Odnosno, DTD nije XML. To može dovesti do raznih problema s kodiranjem i provjerom XML dokumenata.
    2. Nema provjere vrste podataka. U XML DTD -ovima postoji samo jedna vrsta podataka - niz. U tom smislu, na primjer, ako postoji tekst u numeričkom polju, dokument će se i dalje provjeravati, jer XML DTD ne može provjeriti vrstu podataka.
    3. Ne možete mapirati više od jednog DTD opisa u jedan XML dokument. Odnosno, dokument se može provjeriti samo s jednim DTD opisom. Ako ih ima nekoliko, morat ćete ponoviti opise i sve spojiti u jednu datoteku, što je vrlo nezgodno.

    To su bili glavni nedostaci XML DTD -a koji su uspješno ispravljeni u industrijskom standardu za opis XML dokumenata, XML shemi.

    XML shema - industrijski standard za opisivanje XML dokumenata

    Ukratko, XML shema radi sljedeće:

    1. Opisuje nazive elemenata i atributa (rječnik).
    2. Opisuje odnos između elemenata i atributa i njihovu strukturu (model sadržaja).
    3. Opisuje vrste podataka.

    Također želim napomenuti da u ovom trenutku, koristeći dijagrame, možete opisati gotovo sve. Odnosno, shema je univerzalan način opisa gramatike podataka koji se može koristiti ne samo za provjeru XML dokumenata, već i za opisivanje baza podataka itd. Stoga je opseg primjene shema u ovom trenutku vrlo širok.

    Primjer XML sheme za provjeru valjanosti XML dokumenta

    Kao što pokazuje praksa, materijal se puno bolje usvaja ako odmah počnete učiti s primjerima. Moram odmah reći da nećemo ulaziti u sve suptilnosti, budući da je materijal vrlo složen, pogotovo ako ga proučavate u tekstualnom obliku.

    Primjer jednostavne XML sheme

    Pomoću ove sheme možete potvrditi XML dokument sa sljedećim sadržajem.

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

    Dakle, natrag na našu XML shemu. Kao što ste već primijetili, XML koji nam je već poznat koristi se za izradu XML shema. Jedina razlika ovdje je što XML shema već definira elemente, za razliku od običnog XML -a. Iz tog razloga koriste se prostori imena. U ovom slučaju, potrebni imenski prostor je "http://www.w3.org/2001/XMLSchema", koji će imati prefiks s "xs".

    Želim odmah primijetiti da možete koristiti oba prefiksa imenskog prostora i postaviti imenski prostor za osnovni element. Kao takva, ovdje nema razlike. Svatko sam odlučuje kako će se ponašati u datoj situaciji. Reći ću samo da se obično koriste prefiksi "xs" ili "xsd".

    Pa, sada shvatimo kako dešifrirati gornju shemu. Kao što je gore spomenuto, XML shema je opis rječnika i tipova podataka. Na temelju toga dešifrirat ćemo svaki element.

    • - element "knjiga" deklariramo s vrstom "Knjiga".
    • - deklariramo složenu vrstu pod nazivom "Knjiga" (xs: complexType - može sadržavati ugniježđene elemente).
    • - izjava o gniježđenju. Odnosno, tip će sadržavati ugniježđene elemente.
    • - deklariramo element s imenom "name" (standardnog tipa "string" - xs: string).
    • - deklariramo element pod nazivom “cijena” (standardnog tipa “broj” - xs: decimalni).

    Kao što vidite, ovdje nema ništa super komplicirano. Ako bolje razmislite, sve je vrlo jednostavno.

    Osnovni elementi sheme XML

    Ukratko, XML shemu možemo opisati na sljedeći način.

    Vaš krug

    Kao što možete vidjeti iz primjera, svaka se XML shema sastoji od korijenskog elementa "schema" i potrebnog imenskog prostora "http://www.w3.org/2001/XMLSchema". Slijedi opis kruga i samog kruga. Istodobno, vrlo često u vrlo kvalitetnim shemama, opis je mnogo veći od same XML sheme.

    Opis elemenata u XML shemi

    Na početku članka već smo pogledali primjer najjednostavnije XML sheme. U njemu smo zasebno opisali elemente i vrste. U isto vrijeme, želim odmah primijetiti da slijed ovdje ne igra ulogu. Krug će ionako raditi.

    Pogledajmo sada drugi način pisanja XML sheme, koji se temelji na opisu tipa neposredno unutar elementa. The metoda će odgovarati u slučaju da ne planirate koristiti isti opis za različite elemente. Radi jasnoće, razmotrite primjer.

    Kao što možete vidjeti iz primjera, element se deklarira pomoću posebne konstrukcije "element" koristeći odgovarajući prefiks. U ovom slučaju definiramo element pod nazivom "root" bez navođenja tipa (tipa), budući da će biti opisan unutar elementa. Odnosno, postoje dva načina za opis predmeta.

    1 način

    Vrsta Opis

    2 smjera

    Opis vrste artikla

    Možete koristiti i prvu i drugu metodu. Svi rade na isti način. Pitanje je samo pogodnost u ovom konkretnom slučaju.

    Nadalje, nakon što proglasimo element, ukazujemo da je složenog tipa ( ) i nabrajati ( ) ugniježđeni elementi. U ovom slučaju radi se o elementima ime i dob s tipovima "xs: string" i "xs: integer". Prefiks xs znači da je ovo osnovni tip koji je već opisan u standardu XML sheme.

    Kao što vidite, sve je dosad prilično jednostavno. Opet, nećemo ulaziti u sve detalje, budući da je cilj ovog članka upoznati se s XML shemom, a ne detaljno proučavati.

    Kako XML shema i mapiranje dokumenata

    Posebnost XML sheme je ta što ne opisuje sam dokument, već imenski prostor. S tim u vezi, u dokumentu je se najčešće ne spominje. Rukovatelj sam preslikava shemu koja vam je potrebna bez korištenja bilo kakvih uputa u XML dokumentu.

    U slučaju da rukovatelj ne zna gdje se shema nalazi, možemo navesti gdje je tražiti. To se radi pomoću posebnog atributa "schemaLocation". Budući da ovaj atribut pripada drugom imenskom prostoru, prostor se također mora navesti prije korištenja atributa. Radi jasnoće, razmotrite primjer.

    XML shema

    XML dokument

    Pogledajmo sada svaki redak pobliže.

    • targetNamespace = "http://www.site.com" - označite za koji imenski prostor ova XML shema.
    • xmlns: xsi = "http://www.w3.org/2001/XMLSchema-instance" - povezujemo imenski prostor u kojem je opisan atribut "schemaLocation".
    • xsi: schemaLocation = "http://www.site.com/product.xsd" - označite gdje se shema može pronaći u slučaju da parser ne zna gdje se nalazi. Ako XML dokument ne pripada nijednom imenskom prostoru, pa stoga u shemi nema pozivanja na njega, tada se atribut "schemaLocation" zamjenjuje s "noNamespaceSchemaLocation" (upućivanje na shemu bez definiranja imenskih prostora).

    To je sve. Sretno i uspješno u učenju XML -a!