Osnovne XML konstrukcije - XML ​​elementi, oznake, atributi, upute za obradu, CDATA odjeljci, komentari. xml jezik

Ponovno nastavljamo s proučavanjem XML-a i u ovom ćemo se članku upoznati s takvim XML konstrukcijama kao što su upute za obradu, komentari, atributi i drugi XML elementi. Ovi elementi su osnovni i omogućuju vam da fleksibilno, u strogom skladu sa standardom, označite dokumente apsolutno bilo koje složenosti.

Već smo djelomično raspravljali o nekim točkama, kao što su XML oznake, u prethodnom članku “”. Sada ćemo se ponovno dotaknuti ove teme i detaljnije je ispitati. Ovo je učinjeno posebno kako bi vam bilo lakše razumjeti cijelu sliku XML konstrukata.

XML elementi. Prazni i neprazni XML elementi

Kao što je spomenuto u prethodnom članku, oznake u XML-u ne označavaju samo tekst, kao što je to slučaj u HTML-u, već ističu pojedinačne elemente (objekte). Zauzvrat, elementi hijerarhijski organiziraju informacije u dokumentu, što ih zauzvrat čini glavnim strukturnim jedinicama XML jezika.

U XML-u elementi mogu biti dvije vrste - prazni i neprazni. Prazni elementi ne sadrže nikakve podatke, poput teksta ili drugih konstrukcija. Za razliku od praznih elemenata, elementi koji nisu prazni mogu sadržavati bilo koje podatke, poput teksta ili drugih XML elemenata i konstrukcija. Da bismo razumjeli poantu gore navedenog, pogledajmo primjere praznih i nepraznih XML elemenata.

Prazan XML element

XML element koji nije prazan

Sadržaj elementa...

Kao što možemo vidjeti iz gornjeg primjera, glavna razlika između praznih i nepraznih elemenata je ta što se sastoje od samo jedne oznake. Osim toga, također je vrijedno napomenuti da u XML-u sva imena razlikuju velika i mala slova. To znači da imena myElement, MyElement, MYELEMENT itd. razlikuju jedni od drugih, pa se ovaj trenutak treba odmah sjetiti kako bi se izbjegle pogreške u budućnosti.
Dakle, shvatili smo elemente. Sada prijeđimo na sljedeću točku, a to je logična organizacija XML dokumenata.

Logička organizacija XML dokumenata. Struktura stabla XML podataka

Kao što se sjećate, glavni konstrukt XML jezika su elementi koji mogu sadržavati druge ugniježđene konstrukte i na taj način formirati hijerarhijsku strukturu u obliku stabla. U ovom slučaju, nadređeni element bit će korijen, a svi ostali podređeni elementi bit će grane i listovi XML stabla.

Da bismo lakše razumjeli bit navedenog, pogledajmo sljedeću sliku s primjerom.

Kao što vidimo, organiziranje XML dokumenta kao stabla prilično je jednostavna struktura za obradu. Pritom je ekspresivna složenost samog stabla prilično velika. Prikaz stabla je najoptimalniji način za opisivanje objekata u XML-u.

XML atributi. Pravila za pisanje atributa u XML-u

U XML-u, elementi također mogu sadržavati atribute s vrijednostima koje su im dodijeljene, a koje se stavljaju u jednostruke ili dvostruke navodnike. Atribut za element postavlja se na sljedeći način:

U ovom slučaju korišten je atribut s nazivom “atribut” i vrijednošću “value”. Vrijedno je odmah napomenuti da XML atribut mora sadržavati neku vrijednost i ne može biti prazan. U suprotnom, kod će biti netočan s XML točke gledišta.

Također vrijedi obratiti pozornost na korištenje navodnika. Vrijednosti atributa mogu se staviti u jednostruke ili dvostruke navodnike. Osim toga, također je moguće koristiti neke navodnike unutar drugih. Za demonstraciju razmotrite sljedeće primjere.

Prije nego što pogledamo druge XML konstrukcije, također je vrijedno napomenuti da se prilikom stvaranja atributa posebni znakovi kao što su ampersand "&" ili kutne zagrade " ne mogu koristiti kao vrijednosti.<>" Ovi su znakovi rezervirani kao kontrolni znakovi ("&" je entitet, a "<» и «>» otvoriti i zatvoriti oznaku elementa) i ne može se koristiti u svom „čistom obliku“. Da biste ih koristili, morate pribjeći zamjeni posebnih znakova.

XML upute za obradu (upute za obradu). XML deklaracija

XML ima mogućnost uključivanja uputa u dokumentu koje nose specifične informacije za aplikacije koje će obraditi određeni dokument. Upute za obradu u XML-u kreiraju se na sljedeći način.

Kao što možete vidjeti iz gornjeg primjera, u XML-u su upute za obradu u kutu navodnika s upitnikom. Ovo je pomalo slično uobičajenom što smo gledali u prvim PHP lekcijama. Prvi dio upute za obradu specificira aplikaciju ili sustav kojem je namijenjen drugi dio ove upute ili njegov sadržaj. Međutim, upute za obradu vrijede samo za one aplikacije na koje su upućene. Primjer instrukcije za obradu može biti sljedeća instrukcija.

Vrijedno je napomenuti da XML ima posebnu konstrukciju koja je vrlo slična instrukciji za obradu, ali sama to nije. Govorimo o XML deklaraciji koja softveru za obradu prenosi neke informacije o svojstvima XML dokumenta, kao što je kodiranje, verzija jezika na kojem je dokument napisan itd.

Kao što možete vidjeti iz gornjeg primjera, XML deklaracija sadrži takozvane pseudo-atribute, koji su vrlo slični regularnim atributima o kojima smo govorili gore. Činjenica je da, po definiciji, XML deklaracija i upute za obradu ne mogu sadržavati atribute, pa se te deklaracije nazivaju pseudoatributima. Ovo je vrijedno zapamtiti za budućnost kako biste izbjegli razne pogreške.

Budući da smo se bavili pseudo-atributima, pogledajmo što oni znače.

  • Encoding – odgovoran je za kodiranje XML dokumenta. Obično se koristi UTF8 kodiranje.
  • Verzija – verzija XML jezika na kojem je ovaj dokument napisan. Obično je to XML verzija 1.0.

Pa, prijeđimo sada na završni dio članka i razmotrimo takve XML konstrukcije kao što su komentari i CDATA odjeljci.

Čitatelj će naučiti koristiti XSLT, koji vam omogućuje pretvaranje dokumenata iz jednog formata u drugi. Naučite alat XPath koji se koristi za pristup različitim dijelovima XML dokumenata. Ove i druge tehnologije opisane u knjizi omogućuju vam ispis dokumenata u HTML formatu, korištenje različitih kodiranja, posebno za rusificiranje, i još mnogo, mnogo više.

O čemu još govori ova knjiga? Na ovo se pitanje može odgovoriti na sljedeći način: knjiga Alexeya Valikova "XSLT Technology" govori o tehnologijama koje olakšavaju korištenje strukturiranih podataka u web aplikacijama, čime se otvara put za velike i vrlo velike projekte.

"Tutorial XML" idealan je za samostalno proučavanje računalne tehnologije - XML-a, koji brzo prodire u gotovo sva područja razmjene informacija. Ova knjiga predstavlja najnovije aspekte XML tehnologije—jezik upita XQuery, jezik opisa XSD dokumenata i oblikovanje dokumenta XSL-FO. Imajte na umu da počevši od osnova XML tehnologije, Ildar Khabibullin postupno vodi korisnika do razine samostalnog stvaranja različitih programa koji obrađuju XML dokumente. Izlaganje se temelji na autorovom tijeku predavanja i odlikuje se sažetošću i jednostavnošću. Ogroman broj vježbi i primjera omogućuje dubinsko svladavanje gradiva. Vodič je namijenjen programerima.

Knjiga "XSLT. Zbirka recepata" nezaobilazan je vodič za sve programere jer nudi rješenja za stotine problema s kojima se programeri moraju susresti pri korištenju jezika XSLT (Extensible Stylesheet Language Transformation). Ovaj jezik je glavni alat za obradu XML dokumenata, ali mnogi programeri ga nisu ovladali u potrebnoj mjeri, radije mijenjaju postojeći kod nego stvaraju novi. Ova publikacija pomoći će vam razumjeti obje verzije XSLT-a. Velika prednost knjige je činjenica da ne samo da daje rješenja za pojedine probleme koji se javljaju tijekom izrade programa, već daje i obrazloženje rješenja i objašnjenje korištene metodologije, kao i alternativna rješenja. Knjiga je namijenjena programerima različitih razina znanja - i onima koji su već upoznati s jezikom XSLT i onima koji ga tek počinju svladavati.

XSLT je zgodan i učinkovit sustav za transformaciju dokumenata koji se danas široko koristi. Stephen Holzner ne samo da detaljno analizira XSLT sintaksu, već i jasno objašnjava moderne načine korištenja ovog sustava. Ova knjiga sadrži stotine primjera koji vam govore kako se XSLT transformacije provode u praksi na web poslužiteljima i kako se preglednici koriste za izvođenje transformacija u hodu. Knjiga je bitna za svakoga tko želi naučiti XSLT i koristiti ga u praksi.

Knjiga "Programiranje XML i SOAP za BizTalk poslužitelje" autora Briana Travisa ispituje tehnologije koje su u osnovi e-trgovine i modernog internetskog poslovanja. Detaljno su navedeni standardi za hijerarhijsko strukturiranje informacija, Biztalk ideologija i sheme prezentacije. Osim toga, postavljaju se pitanja vezana uz integraciju i razvoj aplikacija na platformi Biztalk. Sadržaj knjige objašnjen je kroz konkretne primjere izrade SOAP klijenta i poslužitelja te razvoja rješenja za automatizaciju razmjene između više web stranica i XML dokumenata. Dodaci pružaju obilje referentnog materijala, uključujući najnoviju BizTalk infrastrukturu i specifikacije SOAP protokola. Publikacija je zanimljiva voditeljima internetskih projekata, kreatorima softvera za e-trgovinu i svima koji žele proširiti svoje znanje o suvremenim metodama strukturiranja informacija. Knjiga se sastoji od 12 poglavlja, četiri priloga i predmetnog kazala. Disk priložen uz knjigu sadrži softver, dokumentaciju, primjere implementacije aplikacija i elektroničku verziju tiskane publikacije.

Knjiga “Razvijanje XML web usluga korištenjem Microsoft .NET” opisuje konstrukciju i korištenje web usluga korištenjem Microsoft .NET platforme. Dat je pregled internetskih tehnologija ASP.NET i Remoting, DISCO, UDDI, SOAP protokola, XML, WSDL jezika i njihove uloge u razvoju web servisa. Sadrži opis najnovijih novih dostignuća tvrtke Microsoft koja pojednostavljuju dizajn i distribuciju web usluga. Također sadrži raspravu o produktivnim načinima otklanjanja pogrešaka na web uslugama, zaštite prenesenih informacija i osiguravanja skalabilnosti i visoke dostupnosti web usluga. Knjiga je dopunjena brojnim primjerima za lakše razumijevanje teorije.

Programiranje za Microsoft SQL Server 2000 s XML-om Grahama Malcolma praktičan je vodič za razvoj poslovnih aplikacija pomoću XML-a i SQL Servera. Potreban je detaljan pregled dohvaćanja, umetanja i mapiranja XML podataka koristeći popularni XPath, XDR shemu, XSL Transformation Language, HTTP i OLE DB i najnovije tehnologije. Primjeri u knjizi pokazuju kako značajne poslovne procese poduzeća premjestiti na web koristeći SQL Server i XML. Ovo izdanje sadrži 9 poglavlja i dodatak koji opisuje osnove XML jezika osobno za SQL Server DBMS administratore. Knjiga će biti korisna svima koji žele naučiti kako integrirati aplikacije i poslovne procese poduzeća koja pohranjuju podatke u bazu podataka SQL Servera pomoću XML-a.

Knjiga Alexeya Starygina "XML: Razvoj web aplikacija" sadrži detaljan opis XML jezika zajedno s jezicima XSLT i XPath opisanim u prvom dijelu. Drugo izdanje sadrži praktične smjernice o primjeni materijala predstavljenog u prvom. Osim XML-a, razmatramo zadatke koji se javljaju prilikom izrade stvarnih web aplikacija, kao što je prosljeđivanje parametara HTTP zahtjeva poslužitelju, dizajniranje obrazaca, predstavljanje podataka pomoću kaskadnih stilskih listova, obrada korisničkih radnji pomoću JavaScripta.

Udžbenik „XML. WEB Master's Directory" nezaobilazan je alat za one koji su zainteresirani za nova dostignuća u tehnologiji za izradu i izradu dokumenata koji će biti objavljeni na internetskim stranicama. Upoznat će vas s osnovama XML-a. Ova referentna knjiga sadrži definicije svih XML elemenata i raspravlja o mnogim pitanjima koja se tiču ​​dizajna XML dokumenata i odabira stilova. Osim toga, referenca pruža korisne informacije o tome kako stvoriti XLink hiperveze, kako identificirati XPointer resurse i informacije o korištenju CDF kanala, kako na WAP resursima tako i na Internetu. Osim toga, postoje specifikacije WML, XML, XML i Schema.

U knjizi “XML. Encyclopedia" predstavlja dva glavna pristupa XML programiranju: Microsoftov pristup i njegovu alternativu. Knjiga pokriva mnoge korisne teme, kao što su: kaskadne tablice stilova, oblikovanje, korištenje preglednika, raščlanjivanje i povezivanje XML dokumenata s različitim aplikacijama i poslužiteljima baza podataka. Programer početnik moći će se osloniti na ovu knjigu pri učenju XML-a, a iskusni programer proširit će svoje znanje.

označni jezici) skup je posebnih uputa, nazvanih oznakama, osmišljenih za oblikovanje strukture u dokumentima i definiranje odnosa između različitih elemenata te strukture. Drugim riječima, markup pokazuje koji je dio dokumenta naslov, koji podnaslov, što treba smatrati imenom autora itd. Markup se dijeli na stilski markup, strukturalni i semantički.

Stilsko označavanje

Stilsko označavanje odgovorno je za izgled dokumenta. Na primjer, u HTML-u ova vrsta označavanja uključuje oznake kao što su (kurziv), (podebljano), (podcrtavanje), (precrtani tekst) itd.

Strukturno označavanje

Strukturne oznake definiraju strukturu dokumenta. U HTML-u, na primjer, oznake (odlomak) odgovorne su za ovu vrstu označavanja. (titula),

(odjeljak) itd.

Semantičko označavanje

Semantičko označavanje informira o sadržaju podataka. Primjeri ove vrste označavanja su oznake (naziv dokumenta), (kod, koristi se za popis kodova), (varijabla),

(adresa autora).

Osnovni pojmovi svakog jezika za označavanje su oznake, elementi i atributi.

Oznake i elementi.

Značenja oznaka i elemenata često se brkaju.

Oznake, ili kontrolni deskriptori kako se još nazivaju, služe kao upute programu koji prikazuje sadržaj dokumenta na strani klijenta o tome što učiniti sa sadržajem oznake. Uglaste zagrade koriste se za razlikovanje oznake u odnosu na glavni sadržaj dokumenta: oznaka počinje znakom manje od (<) и завершается знаком "больше" (>), unutar koje se nalaze nazivi instrukcija i njihovi parametri. Na primjer, u HTML-u oznaka označava da tekst koji slijedi treba biti u kurzivu.

Element su oznake zajedno s njihovim sadržajem. Sljedeća konstrukcija je primjer elementa:

Ovaj tekst je u kurzivu .

Element se sastoji od uvodne oznake (u našem primjeru to je oznaka ), sadržaj oznake (u primjeru je to tekst "Ovo je tekst u kurzivu") i završnu oznaku (), iako se ponekad u HTML-u završna oznaka može izostaviti.

Atributi

Kako bi se postavili bilo koji parametri koji pojašnjavaju karakteristike ovog elementa prilikom definiranja elementa, koriste se atributi.

Atributi se sastoje od para naziv = vrijednost koji se može navesti prilikom definiranja elementa u početnoj oznaci. Možete ostaviti razmake lijevo i desno od simbola jednakosti. Vrijednost atributa navedena je kao niz u jednostrukim ili dvostrukim navodnicima.

Svaka oznaka može imati atribut ako je taj atribut definiran.

Kada se koristi atribut, element ima sljedeći oblik:

<имя_тега атрибут = "значение"> sadržaj oznake

Tekst je poravnat prema sredini

Jedna početna oznaka može sadržavati više atributa, na primjer:

Određena veličina i boja teksta

Povijest razvoja označnih jezika.

Koncept hiperteksta uveo je W. Bush 1945. godine, a počevši od 60-ih godina počele su se pojavljivati ​​prve aplikacije koje koriste hipertekstualne podatke. Međutim, ova je tehnologija dobila svoj glavni razvoj kada se pojavila stvarna potreba za mehanizmom za kombiniranje više izvora informacija, pružajući mogućnost stvaranja i pregleda nelinearnog teksta.

Godine 1986. ISO je odobrio standardizirani generalizirani označni jezik. Ovaj jezik je namijenjen stvaranju drugih jezika za označavanje; on definira važeći skup oznaka, njihove atribute i unutarnju strukturu dokumenta. Tako je moguće kreirati vlastite oznake vezane uz sadržaj dokumenta. Sada postaje očito da je takve dokumente teško tumačiti bez definicije označnog jezika, koja je pohranjena u Definiciji tipa dokumenta (DTD). DTD grupira sva pravila jezika u SGML standardu. Drugim riječima, DTD opisuje međusobni odnos oznaka i pravila za njihovu upotrebu. Štoviše, za svaku klasu dokumenata definiran je vlastiti skup pravila koja opisuju gramatiku odgovarajućeg jezika za označavanje. Dakle, samo uz pomoć DTD-a može se provjeriti ispravna upotreba oznaka i stoga se mora poslati zajedno s SGML dokumentom ili uključiti u dokument.

U to vrijeme, osim SGML-a, postojalo je još nekoliko sličnih jezika koji su se međusobno natjecali, ali popularnost (HTML, koji je jedan od njegovih potomaka) dala je SGML-u neosporivu prednost nad svojim kolegama.

Pomoću SGML-a možete opisati strukturirane podatke, organizirati informacije sadržane u dokumentima i predstaviti te informacije u nekom standardiziranom formatu. Ali zbog svoje složenosti, SGML se prvenstveno koristio za opisivanje sintakse drugih jezika, a nekoliko je aplikacija radilo izravno sa SGML dokumentima. SGML se obično koristi samo u velikim projektima, na primjer, za stvaranje jedinstvenog sustava upravljanja dokumentima za veliku tvrtku.

HTML označni jezik mnogo je jednostavniji i praktičniji od SGML-a, njegove upute prvenstveno su namijenjene kontroli procesa prikazivanja sadržaja dokumenta na ekranu. HTML kao način označavanja tehničkih dokumenata osmislio je Tim Berners-Lee 1991. posebno za znanstvenu zajednicu. Izvorno je to bila samo jedna od SGML aplikacija.

Unatoč činjenici da je jedino što HTML može klasificirati dijelove dokumenta i osigurati njegov točan prikaz u pregledniku, on je najpopularniji označni jezik. To je zato što je HTML vrlo lako naučiti. Sve što trebate učiniti je naučiti HTML naredbe. DTD za HTML pohranjuje se u pregledniku. Osim toga, treba napomenuti da je HTML dizajniran za rad na velikom broju platformi. Ali ima niz značajnih ograničenja:

  1. HTML ima fiksni skup oznaka, a ovaj skup se ne može proširiti ili promijeniti;
  2. Tagovi HTML jezika pokazuju samo kako podaci trebaju biti prikazani, odnosno izgled dokumenta. HTML ne nosi informacije o značenju sadržaja sadržanog u oznakama ili strukturi dokumenta.

XML je kratica za Extensible Markup Language, s naglaskom na markup. Možete stvoriti tekst i označiti ga oznakama za uokvirivanje, pretvarajući svaku riječ, rečenicu ili fragment u informaciju koju je moguće identificirati i sortirati. Datoteke ili instance dokumenta koje stvarate sastoje se od elemenata (oznaka) i teksta, a elementi vam pomažu da ispravno razumijete dokument kada ga čitate na papiru ili ga čak elektronički obrađujete. Što je više opisnih elemenata, to se više dijelova dokumenta može identificirati. Od ranih dana označavanja, jedna od njegovih prednosti je ta što će, ako se računalni sustav izgubi, ispisani podaci i dalje ostati čitljivi zahvaljujući oznakama.

Označni jezici evoluirali su od prvih obrazaca koje su stvorile tvrtke i vladine agencije do Standard Generalized Markup Language (SGML), Hypertext Markup Language (HTML) i na kraju do XML-a. SGML se može činiti složenim, a HTML (koji je u početku bio samo skup elemenata) pokazao se nedovoljno moćnim za prepoznavanje informacija. XML je dizajniran da bude označni jezik jednostavan za korištenje i proširenje.

U XML-u možete kreirati vlastite elemente, omogućujući vam točan prikaz dijelova podataka. Dokumenti se ne mogu samo podijeliti u odlomke i naslove, već se mogu i istaknuti svi fragmenti unutar dokumenta. Da bi ovo bilo učinkovito, trebate definirati konačan popis svojih elemenata i pridržavati ga se. Elementi se mogu definirati u Definiciji tipa dokumenta (DTD) ili u shemi, kao što je ukratko objašnjeno u nastavku. Nakon što svladate i počnete koristiti XML, nemojte se bojati eksperimentirati s nazivima elemenata dok stvarate stvarne datoteke.

Izrada XML dokumenta

Kao što je spomenuto, XML datoteke se sastoje od tekst i označavanje. Većina teksta nalazi se u elementima u kojima je tekst okružen oznakama. Na primjer, recimo da želite izraditi kuharicu u XML formatu. Imamo recept pod nazivom Ice Cream Sundae koji treba pretvoriti u XML. Kako bismo označili naziv recepta, njegov tekst prilažemo u element koji počinje i završava oznakama. Ovaj element se može nazvati recipename. Da biste označili početnu oznaku elementa, stavite njegovo ime u uglaste zagrade<>), ovako: . Zatim unesite tekst Ice Cream Sundae. Nakon teksta stavljamo završnu oznaku, koja je naziv elementa u uglastim zagradama, plus kosa crta na kraju (/) prije naziva elementa, ovako:. Ove oznake čine element u koji možete unijeti tekst, pa čak i druge elemente.

Imena elemenata mogu se kreirati za pojedinačne dokumente ili za grupe dokumenata. Prema vašim zahtjevima, možete odrediti pravila koja se moraju poštovati za elemente. Elementi mogu biti strogo specifični ili sasvim općeniti. Pravila također moraju definirati što je prihvatljivo uključiti u svaki element. Mogu biti strogi, opušteni ili između. Jednostavno stvorite elemente koji definiraju dijelove vašeg dokumenta za koje mislite da su važni.

Počnite stvarati XML datoteku

Prvi redak XML dokumenta može biti XML deklaracija. Ovaj neobavezni dio datoteke identificira je kao XML datoteku, što može pomoći automatiziranim alatima i ljudima da prepoznaju datoteku kao XML, a ne SGML ili drugu oznaku.

Deklaracija može izgledati jednostavno ovakoili uključite XML verziju, pa čak i kodiranje znakova, npr.za Unicode. Budući da ova deklaracija mora biti na samom početku datoteke, ako planirate kombinirati male XML datoteke u veću datoteku, najbolje je preskočiti ovaj izborni element.

Stvaranje korijenskog elementa

Početna i završna oznaka korijenskog elementa okružuju cijeli tekst XML dokumenta. U datoteci bi trebao postojati samo jedan korijenski element, a ovo je potreban "pokrov" za njega. Ispis 1 prikazuje isječak primjera koji ovdje koristim, s korijenskim elementom (recept).

Ispis 1. Korijenski element

Dok stvarate svoj dokument, između njega ćete postaviti tekst i dodatne oznake I .

Poštivanje velikih i malih slova u oznakama

Prilikom izrade XML-a početna i završna oznaka moraju se podudarati s velikim i malim slovima. U suprotnom, možete primiti poruku o pogrešci kada koristite ili gledate XML. Na primjer, Internet Explorer ne prikazuje tekst ako postoji neslaganje velikih i malih slova. Umjesto toga, prikazuje poruke o neslaganju između početne i završne oznake.

Imena elemenata

Dakle, imamo korijenski element . U XML-u se prvo odabiru nazivi elemenata, a zatim se na temelju tih naziva određuje odgovarajući DTD opis ili shema. Imena mogu sadržavati slova, brojke i posebne znakove kao što je podvlaka (_). Evo nekoliko pravila o imenima koja treba zapamtiti:

  • Razmaci nisu dopušteni u nazivima elemenata.
  • Imena moraju počinjati slovom, a ne brojem ili znakom. Nakon ovog prvog slova možete koristiti bilo koju kombinaciju slova, brojeva i valjanih simbola.
  • Velika i mala slova nisu bitna, ali svakako ih slijedite kako biste izbjegli zabunu.

Ispis 2. Ostali elementi

sladoled sladoled 5 minuta

XML dokument može sadržavati prazne oznake koje nemaju ništa unutar sebe i mogu se izraziti kao jedna oznaka umjesto para početnih i završnih oznaka. Na primjer, ovo može biti samostalna oznaka HTML stila . Ne sadrži podređene elemente ili tekst, stoga je prazan element i može se pisati kao (s razmakom i poznatom kosom crtom na kraju).

Elementi gniježđenja

Ugniježđenje je postavljanje elemenata unutar drugih elemenata. Ti novi elementi nazivaju se podređeni elementi, a elementi koji ih okružuju nazivaju se roditeljski elementi. U ispisu 3 na korijenski element nekoliko elemenata je ugniježđeno. Ovo su ugniježđena djeca , I Unutar elementa postoji nekoliko identičnih podređenih elemenata . Gniježđenje može učiniti XML dokument višerazinskim.

Uobičajena sintaktička pogreška uključuje ugniježđivanje nadređenih i podređenih elemenata. Svaki podređeni element mora biti u cijelosti postavljen između uvodne i završne oznake nadređenog elementa. Podređeni elementi moraju završiti prije nego što započne sljedeći podređeni element.

Primjer ispravnog ugniježđivanja prikazan je u ispisu 3. Oznake počinju i završavaju bez ispreplitanja s drugim oznakama.

Ispis 3. Ispravno ugniježđivanje XML elemenata.

sladoled sladoled 3 1 orašasti plodovi 1 trešnja 5 minuta

Dodavanje atributa

Elementima se ponekad dodaju atributi. Atributi se sastoje od para naziv-vrijednost, gdje je vrijednost zatvorena u dvostruke navodnike ("), ovako: type="dessert" . Atributi vam omogućuju pohranjivanje dodatnih parametara s elementom, mijenjajući njihove vrijednosti parametri od elementa do elementa u istom dokumentu.

Atribut - ili čak nekoliko atributa - navedeno je unutar početne oznake elementa: . Kada dodajete više atributa, oni se odvajaju razmacima: . Ispis 4 prikazuje XML datoteku kako sada izgleda.

Ispis 4. Naša XML datoteka s elementima i atributima

sladoled sladoled 5 minuta

Može se koristiti bilo koji broj atributa. Razmislite koje detalje možete dodati svom dokumentu. Atributi su posebno korisni ako će se pohranjivati ​​dokumenti - na primjer, prema vrsti recepata. Imena atributa mogu sadržavati iste znakove kao i imena elemenata, s istim pravilima za izuzimanje razmaka i početak naziva slovom.

Ispravno i netočno konstruiran XML

Ako slijedite pravila definirana u vašem okviru, možete jednostavno stvoriti dobro oblikovan XML kod. Valjani XML je XML kod koji slijedi sva XML pravila: pravilno imenovanje elemenata, ugniježđivanje, imenovanje atributa itd.

Ovisno o tome što točno radite s XML-om, možda ćete morati raditi s dobro oblikovanim XML-om. Razmotrite gornji primjer sortiranja prema vrsti recepta. Potrebno je da elementi sadržavao atribut tipa. Vrlo je važno moći uspješno testirati kod i osigurati da je vrijednost ovog atributa uvijek prisutna.

Provjera valjanosti znači provjeru usklađenosti strukture dokumenta s pravilima utvrđenim za nju i definiciju podređenih elemenata za svaki roditeljski element. Ta su pravila definirana u opisu vrste dokumenta (DTD) ili shemi. Ova vrsta provjere valjanosti zahtijeva da stvorite DTD ili shemu i zatim referencirate DTD ili datoteku sheme u svojim XML datotekama.

Da biste omogućili provjeru valjanosti, morate postaviti deklaraciju tipa dokumenta (DOCTYPE) blizu početka vaših XML dokumenata. Ovaj redak sadrži poveznicu na DTD ili shemu (popis elemenata i pravila) koja će se koristiti za provjeru valjanosti ovog dokumenta. Redak DOCTYPE mogao bi izgledati otprilike kao onaj u ispisu 5.

Ovaj primjer znači da se vaša datoteka s popisom stavki naziva filename.dtd nalazi na vašem računalu.

Korištenje entiteta

(entitet) mogu biti fragmenti teksta ili posebni znakovi. Mogu se specificirati unutar dokumenta ili izvan njega. Da bi se izbjegle pogreške i ispravno prikazali, entiteti moraju biti ispravno deklarirani i izraženi.

Ne možete unijeti posebne znakove izravno u tekst. Da biste koristili posebne znakove u tekstu, morate ih pretvoriti u entitete i koristiti kodove tih znakova. Fraze, kao što je naziv tvrtke, možete definirati kao entitete, a zatim ih koristiti u cijelom tekstu. Da biste stvorili entitet, dodijelite mu naziv i umetnite taj naziv i umetnite taj naziv u tekst nakon znaka & (&) i završava točkom i zarezom - na primjer, (ili neko drugo ime). Zatim navedite ovaj kod u svom DOCTYPE retku unutar uglatih zagrada(), kao u Ispisu 6. Ovaj kod specificira tekst koji je zamijenjen za entitet.

Ispis 6. Entitet

Korištenje entiteta pomaže u izbjegavanju stalnog ponavljanja iste fraze ili informacije. Također može olakšati uređivanje teksta (na primjer, ako tvrtka promijeni ime) na više mjesta odjednom jednostavnim postavljanjem niza definicije entiteta.

Kako izbjeći greške

Dok budete učili stvarati XML datoteke, otvorite ih u XML uređivaču kako biste bili sigurni da su formalno ispravni i kako biste bili sigurni da se poštuju XML pravila. Na primjer, ako imate Windows® Internet Explorer®, možete jednostavno otvoriti svoju XML datoteku u pregledniku. Ako su vaši elementi, atributi i tekst prikazani, tada je XML datoteka ispravno sastavljena. Ako postoje pogreške, vjerojatno ste nešto zabrljali u sintaksi i morate pažljivo provjeriti ima li u dokumentu pogrešaka pri upisu ili nedostajućih oznaka i interpunkcije.

Kao što je spomenuto u odjeljku Ugniježđenje elemenata, element koji sadrži drugi element naziva se roditelj tog ugniježđenog elementa. U donjem primjeru je korijenski element i sadrži sav tekst datoteke. Ovom nadređenom elementu ugniježđenih podređenih elemenata , , i drugi. Ova struktura čini , I dječji elementi. Ne zaboravite pravilno ugniježditi ove podređene elemente. Ispis 7 primjer je dobro oblikovanog XML dokumenta s pravilnim ugniježđenjem elemenata.

Ispis 7. Dobro oblikovan XML dokument

sladoled sladoled 0.5 sladoled od vanilije 3 čokoladni sirup ili čokoladni kolačić 1 orašasti plodovi 1 trešnja 1 zdjela 1 žlice 1 kuglica za sladoled Koristeći žlicu za sladoled, stavite sladoled od vanilije u zdjelu. Prelijte čokoladni sirup ili čokoladni kolač preko sladoleda. Posipajte orahe preko brda od čokolade i sladoleda. Stavite trešnju na vrh humka sa peteljkom okrenutom prema gore. Poslužiti. 5 minuta

Napomena: prijelomi redaka olakšavaju čitanje koda i ne utječu na sam XML.

Možete eksperimentirati s testnim datotekama i premjestiti početnu i završnu oznaku da biste vidjeli poruke o pogrešci.

XML provjera valjanosti

Slika 1 prikazuje XML dokument čiji se elementi prikazuju bez rušenja u Internet Exploreru. Tekst je uokviren otvarajućim i zatvarajućim oznakama. Pored nadređenih elemenata nalaze se ikone plus (+) i minus (-), koje vam omogućuju da uklonite sve ugniježđene elemente (njihovu djecu) unutar elemenata.

Slika 1. Primjer XML datoteke sa sažetim potomcima

Zaključak

Imajući na umu nekoliko jednostavnih pravila, možete dizajnirati vlastite XML elemente i njihove atribute na fleksibilan način. XML pravila nisu komplicirana. Upisivanje XML dokumenta također je jednostavno. Ključno je razumjeti što želite od svojih dokumenata u smislu mogućnosti sortiranja i pretraživanja, a zatim dizajnirati elemente i atribute koji će zadovoljiti te zahtjeve.

Kada dobro razumijete svoju svrhu i znate kako označiti svoj tekst, možete stvoriti učinkovite elemente i atribute. Iz ove perspektive, pažljivo označavanje je sve što je potrebno za stvaranje dobro oblikovanog i upotrebljivog XML dokumenta.

Standard definira dvije razine ispravnosti za XML dokument:

  • Pravilno građena(Dobro oblikovana). Dobro oblikovan dokument slijedi sva opća pravila XML sintakse koja se primjenjuju na bilo koji XML dokument. A ako, na primjer, početna oznaka nema odgovarajuću završnu oznaku, onda ovo neispravno izgrađena XML dokument. Dokument koji nije pravilno konstruiran ne može se smatrati XML dokumentom; XML procesor (parser) ne bi ga trebao obrađivati ​​normalno i trebao bi klasificirati situaciju kao fatalnu pogrešku.
  • Valjano(Vrijedi). Valjani dokument dodatno je u skladu s nekim semantičkim pravilima. Ovo je stroža dodatna provjera ispravnosti dokumenta za usklađenost s unaprijed određenim, ali već vanjskim pravilima, kako bi se smanjio broj pogrešaka, na primjer, struktura i sastav određenog, specifičnog dokumenta ili skupine dokumenata. Ova pravila mogu razviti ili sami korisnici ili programeri trećih strana, na primjer, programeri rječnika ili standarda za razmjenu podataka. Obično se takva pravila pohranjuju u posebne datoteke - dijagrame, gdje su detaljno opisani struktura dokumenta, svi važeći nazivi elemenata, atributi i još mnogo toga. A ako dokument, na primjer, sadrži naziv elementa koji nije prethodno definiran u shemama, tada se XML dokument smatra poništiti; Prilikom provjere usklađenosti s pravilima i shemama, provjeravajući XML procesor (validator) dužan je (po izboru korisnika) prijaviti pogrešku.

Ova dva koncepta nemaju dobro uspostavljen standardizirani prijevod na ruski, posebno koncept važeći, što se također može prevesti kao važeći, legitiman, pouzdan, odgovarati, ili čak testiran na sukladnost s pravilima, standardima, zakonima. Neki programeri koriste ustaljeni paus papir u svakodnevnom životu " Valjano».

XML sintaksa

Ovaj odjeljak govori samo o ispravna konstrukcija XML dokumenti, odnosno njihova sintaksa.

XML je hijerarhijska struktura dizajnirana za pohranjivanje bilo kojih podataka; vizualno se struktura može predstaviti kao stablo. Najvažniji obavezni sintaktički zahtjev je da dokument ima samo jedan korijenski element(korijenski element) (alternativno nazvan element dokumenta). To znači da se tekst ili drugi podaci cijelog dokumenta moraju nalaziti između jedinac početnu korijensku oznaku i odgovarajuću završnu oznaku.

Sljedeći najjednostavniji primjer je dobro oblikovan XML dokument: Ovo je knjiga: "Mala knjiga" Poziva se prvi redak XML dokumenta XML deklaracija(XML deklaracija) je izborni niz koji označava verziju XML standarda (obično 1.0), a može uključivati ​​i kodiranje znakova i vanjske ovisnosti. Specifikacija zahtijeva da XML procesori podržavaju Unicode kodiranja UTF-8 i UTF-16 (UTF-32 nije obavezan). Ostala kodiranja temeljena na standardu ISO/IEC 8859 priznata su kao prihvatljiva, podržana i naširoko korištena (ali nisu obavezna), na primjer, ruski Windows-1251, KOI-8.

Komentar može se postaviti bilo gdje na stablu. XML komentari smješteni su unutar para oznaka . Dvije crtice (--) ne mogu se koristiti nigdje unutar komentara.

Ispod je primjer jednostavnog recepta za kuhanje označenog pomoću XML-a:

Jednostavan kruh Brašno Kvasac Topla voda Sol

Struktura

Ostatak ovog XML dokumenta sastoji se od ugniježđenih elementi, od kojih neki imaju atributi I sadržaj. Element obično se sastoji od otvarajućih i zatvarajućih oznaka koje okružuju tekst i druge elemente. Oznaka za otvaranje sastoji se od naziva elementa u uglastim zagradama, na primjer, " »; oznaka za zatvaranje sastoji se od istog imena u uglastim zagradama, ali ispred imena se dodaje kosa crta, na primjer, " ». Sadržaj elementa(sadržaj) je sve što se nalazi između početnih i završnih oznaka, uključujući tekst i druge (ugniježđene) elemente. Ispod je primjer XML elementa koji sadrži početnu oznaku, završnu oznaku i sadržaj elementa:

Ponovo premijesite, stavite u lim za pečenje i stavite u pećnicu.

Brašno

U gornjem primjeru element sastojka ima dva atributa: iznos koji ima vrijednost 3 i jedinicu koja ima vrijednost staklo. Sa stajališta XML označavanja, gornji atributi nemaju nikakvo značenje, već su jednostavno skup znakova.

Osim teksta, element može sadržavati i druge elemente:

Pomiješajte sve sastojke i temeljito umijesite. Pokrijte krpom i ostavite sat vremena u toploj prostoriji. Ponovo premijesite, stavite u lim za pečenje i stavite u pećnicu.

U ovom slučaju element Instructions sadrži tri elementa koraka. XML ne dopušta elemente koji se preklapaju. Na primjer, sljedeći isječak nije točan jer se elementi "em" i "strong" preklapaju.

Obični naglašeno naglašeno i naglašeno posvećen

Svaki XML dokument mora sadržavati točno jedan korijenski element(korijenski element ili element dokumenta), tako da se sljedeći fragment ne može smatrati valjanim XML dokumentom.

Entitet #1 Entitet #2

Za označavanje elementa bez sadržaja tzv prazan element, potrebno koristiti poseban oblik snimanja koji se sastoji od jedne oznake u kojoj se kosa crta nalazi iza naziva elementa. Ako element nije proglašen praznim u DTD-u, ali nema sadržaja u dokumentu, za njega dozvoljeno koristite ovaj oblik snimanja. Na primjer:

XML definira dvije metode za pisanje posebnih znakova: referenca entiteta i referenca znakova. Esencija(entitet) u XML-u odnosi se na imenovane podatke, obično tekst, posebno posebne znakove. Referenca entiteta(reference entiteta) navedeno je na mjestu gdje bi trebao biti entitet i sastoji se od znaka & (“&”), naziva entiteta i točke-zareza (“;”). Postoji nekoliko unaprijed definiranih entiteta u XML-u, kao što je "lt" (možete se pozvati na njega pisanjem "< ») для левой угловой скобки и « amp » (ссылка - « & ») для амперсанда, возможно также определять собственные сущности. Помимо записи с помощью сущностей отдельных символов, их можно использовать для записи часто встречающихся текстовых блоков. Ниже приведён пример использования предопределённой сущности для избежания использования знака амперсанда в названии:

AT&T

Kompletan popis unaprijed definiranih entiteta sastoji se od & ("&"),< («<»), >(">"), " ("") i " ("") - posljednja dva su korisna za pisanje graničnika unutar vrijednosti atributa. Svoje entitete možete definirati u DTD dokumentu.

Ponekad je potrebno definirati neprekinuti razmak, koji se vrlo često koristi u HTML-u i označen je jer u XML-u ne postoji takav predefinirani entitet, on je zapisan, a njegova upotreba uzrokuje grešku. Nepostojanje ovog vrlo uobičajenog entiteta često dolazi kao iznenađenje za mnoge programere, a to stvara neke poteškoće prilikom migracije njihovih HTML razvoja u XML.

Veza prema broju simbola(referenca numeričkog znaka) izgleda kao referenca na entitet, ali umjesto naziva entiteta navedeni su znak # i broj (u decimalnom ili heksadecimalnom zapisu), što je broj znaka u tablici znakova Unicode. To su obično znakovi koji se ne mogu izravno kodirati, kao što je arapsko slovo u dokumentu kodiranom ASCII-jem. Ampersand se može predstaviti na sljedeći način:

AT&T

Postoji mnogo više pravila u vezi s pisanjem valjanog XML dokumenta, ali svrha ovog kratkog pregleda bila je samo pokazati osnove potrebne za razumijevanje strukture XML dokumenta.

Priča

Godina rođenja XML-a može se smatrati 1996., na kraju koje se pojavila nacrt verzije jezične specifikacije, ili kada je ova specifikacija odobrena. Sve je počelo pojavom SGML jezika 1986. godine.

SGML (Standard Generalized Markup Language) se deklarirao kao fleksibilan, sveobuhvatan i sveobuhvatan meta-jezik za kreiranje označnih jezika. Unatoč činjenici da se koncept hiperteksta pojavio 1965. (a temeljni principi formulirani su 1945.), SGML nema model hiperteksta. Stvaranje SGML-a se s pouzdanjem može nazvati pokušajem prihvaćanja neizmjernosti, budući da kombinira mogućnosti koje se iznimno rijetko koriste zajedno. To je njegov glavni nedostatak - složenost i, kao rezultat toga, visoka cijena ovog jezika ograničava njegovu upotrebu samo na velike tvrtke koje si mogu priuštiti kupnju odgovarajućeg softvera i angažirati visoko plaćene stručnjake. Osim toga, male tvrtke rijetko imaju probleme koji su dovoljno složeni da bi uključili SGML u njihovo rješavanje.

SGML se najviše koristi za stvaranje drugih jezika za označavanje, a uz njegovu pomoć je stvoren jezik za označavanje hipertekstualnog dokumenta - HTML, čija je specifikacija odobrena 1992. Njegova pojava povezana je s potrebom organiziranja sve većeg niza dokumenata na Internetu. Brzi rast broja priključaka na Internet, a time i Web poslužitelja, povukao je za sobom potrebu za kodiranjem elektroničkih dokumenata s čime se SGML nije mogao nositi zbog velike težine razvoja. Pojava HTML-a, vrlo jednostavnog označnog jezika, brzo je riješila ovaj problem: njegova lakoća učenja i bogatstvo alata za dizajn dokumenata učinili su ga najpopularnijim jezikom za korisnike Interneta. Ali kako je rastao broj i kvaliteta dokumenata na webu, tako su rasli i zahtjevi koji su im se postavljali, a jednostavnost HTML-a postala je njegov glavni nedostatak. Ograničen broj oznaka i potpuna ravnodušnost prema strukturi dokumenta potaknuli su programere koje predstavlja konzorcij W3C da stvore označni jezik koji neće biti složen kao SGML i primitivan kao HTML. Kao rezultat, kombiniranjem jednostavnosti HTML-a s logikom označavanja SGML-a i ispunjavanjem zahtjeva Interneta, rođen je XML.

Snage i slabosti

Prednosti

Mane

  • Modeliranje dvosmislenosti.
  • XML nema podršku za vrstu podataka ugrađenu u jezik. Nema jaku tipizaciju, to jest koncepte "cijelih brojeva", "nizova", "datuma", "booleovih" itd.
  • Hijerarhijski model podataka koji nudi XML ograničen je u usporedbi s relacijskim modelom i objektno orijentiranim modelom podataka grafa i mreže.

Prikaz XML-a na World Wide Webu

Tri najčešća načina pretvaranja XML dokumenta u obrazac koji može prikazati korisnik su:

  1. Primjena CSS stilova;
  2. Primjena XSLT transformacije;
  3. Pisanje rukovatelja XML dokumentima u bilo kojem programskom jeziku.

Bez upotrebe CSS-a ili XSL-a, XML dokument se pojavljuje kao običan tekst u većini web preglednika. Neki preglednici, kao što su Internet Explorer, Mozilla i Mozilla Firefox, prikazuju strukturu dokumenta u prikazu stabla, što vam omogućuje sažimanje i proširenje čvorova klikom miša.

Primjena CSS stilova

Proces je sličan primjeni CSS-a na HTML dokument za prikaz.

Da biste primijenili CSS kada se prikazuje u pregledniku, XML dokument mora sadržavati specifičnu poveznicu na listu stilova. Na primjer:

Ovo se razlikuje od HTML pristupa, koji koristi element .

Primjena XSLT transformacije

XSL je tehnologija koja opisuje kako formatirati ili transformirati podatke XML dokumenta. Dokument se pretvara u format prikladan za prikaz u pregledniku. Preglednik je najčešća upotreba XSL-a, ali ne zaboravite da s XSL-om možete transformirati XML u bilo koji format, npr.