Markup jezici. Uvod u XML Zove se poseban jezik za označavanje tekstualnih dokumenata

Logičko i vizuelno označavanje

Postoje logičke i vizuelne oznake. U prvom slučaju govorimo samo o tome kakvu ulogu igra dati dio dokumenta u njegovoj cjelokupnoj strukturi (na primjer, „ovaj red je naslov“). Drugi definira kako će se točno ovaj element prikazati (na primjer, "ova linija treba biti prikazana podebljano"). Ideja koja stoji iza jezika za označavanje je da vizuelni izgled dokumenta treba da bude automatski izveden iz logičke oznake i da ne zavisi od njegovog stvarnog sadržaja. Ovo olakšava automatsku obradu dokumenta i njegovo prikazivanje pod različitim uslovima (na primer, ista datoteka može biti različito prikazana na ekranu računara, mobilni telefon i na štampi, budući da se svojstva ovih izlaznih uređaja značajno razlikuju). Međutim, ovo pravilo se često krši: na primjer, kada kreirate dokument u uređivaču kao što je MS Word, korisnik može podebljati naslove, ali nigdje ne naznačiti da je ovaj red naslov.

Primjeri jezika za označavanje

Označni jezici se koriste svuda gde je potreban formatirani tekst: u štampanju (SGML, TeX, PostScript, PDF), korisničkim interfejsima računara (Microsoft Word, OpenOffice, troff), World Wide Webu (HTML, XHTML, XML, WML, VML, PGML, SVG, XBRL).

Lagani jezici za označavanje

Zovu se jezici dizajnirani za lako i brzo pisanje teksta u jednostavnom uređivaču teksta olakšan(en:Lightweight markup language). Karakteristike takvih jezika:

  • Minimalne funkcije.
  • Mali skup podržanih oznaka.
  • Lako se uči.
  • Izvorni tekst na ovom jeziku čita se sa istom lakoćom kao i gotov dokument.

Koriste se tamo gde osoba treba da pripremi tekst u običnom uređivaču teksta (blogovi, forumi, wikiji), ili gde je važno da i korisnik sa redovnim uređivačem teksta može da čita tekst. Evo nekih najčešće korišćenih lakih jezika za označavanje:

  • Wiki oznake (pogledajte Wikipedia: Kako uređivati ​​članke)
  • Različiti sistemi auto-dokumentacije (na primjer, Javadoc).

Priča

Pojam “markiranje” (kao rezultat istoimenog procesa, eng. markup) dolazi od engleske fraze “ markiranje” („obilježavanje (kao proces)”, lit. „obilježavanje, obilježavanje”), preuzeto iz tradicionalne izdavačke prakse stavljanja posebnih konvencionalnih napomena na margine i u tekst rukopisa ili dokaza prije slanja u štampu. Tako su „markupci“ označavali font, stil i veličinu fonta za svaki dio teksta. Danas, označavanje teksta rade urednici, lektori, grafički dizajneri - i, naravno, sami autori.

GenCode

Ideju o korištenju jezika za označavanje u kompjuterskoj obradi teksta najvjerovatnije je prvi uveo William Tunnicliffe. William W. Tunnicliffe ) na konferenciji 1967. On je sam svoj prijedlog nazvao „univerzalno kodiranje“ (eng. "generičko kodiranje"). Sedamdesetih godina, Tunnicliffe je vodio razvoj GenCode standarda za izdavačku industriju, a kasnije je postao šef jednog od komiteta Međunarodne organizacije za standardizaciju (ISO). Internacionalna Organizacija za Standardizaciju ), koji je stvorio SGML, prvi deskriptivni markup jezik. Brian Reid (ur. Brian Reid ) u svojoj disertaciji koju je odbranio 1980. na Univerzitetu Carnegie. Univerzitet Carnegie Mellon ), u razvoju predloženog koncepta, izvršio praktičnu implementaciju deskriptivnog označavanja.

Međutim, danas se "otac" markup jezika obično naziva IBM istraživač Charles Goldfarb. Charles Goldfarb ). Osnovni koncept rodio mu se 1969. godine, dok je radio na primitivnom sistemu za upravljanje dokumentima namijenjenom advokatskim kancelarijama. Iste godine je učestvovao u stvaranju IBM GML jezika, koji je prvi put predstavljen 1973. godine.

Neke rane implementacije kompjuterskih jezika za označavanje mogu se naći u UNIX tipografskim uslužnim programima kao što su troff i nroff. Oni vam omogućavaju da umetnete komande za oblikovanje u tekst dokumenta kako biste ga formatirali u skladu sa zahtjevima urednika.

Dostupnost softvera za izdavanje sa WYSIWYG funkcijom "ono što vidite je ono što dobivate" - "ono što vidiš, to i dobiješ") zamijenio je većinu ovih jezika među običnim korisnicima, iako ozbiljan izdavački rad i dalje koristi oznake za specifične nevizualne strukture teksta, a WYSIWYG urednici sada najčešće spremaju dokumente u formate zasnovane na markup jezici .

Τ Ε Χ

Drugi važan izdavački standard je Τ Ε Χ , koju je kreirao i naknadno poboljšao Donald Knuth 70-ih-80-ih godina dvadesetog stoljeća. Τ Ε Χ objedinjuje visokokvalitetno oblikovanje teksta i opise fontova, posebno za knjige iz matematike profesionalnog kvaliteta. Trenutno Τ Ε Χ je de facto standard u mnogim naučnim disciplinama. Pored Tech postoji LaTeX, koji je široko korišćen deskriptivni sistem označavanja zasnovan na T Ε Χ .

Scribe, GML i SGML

Početkom 1980-ih, ideja da se označavanje treba fokusirati na strukturne aspekte dokumenta i prepustiti eksternu reprezentaciju dokumenta tumaču dovela je do stvaranja SGML-a. Jezik je razvio komitet na čelu sa Goldfarbom. Kombinovao je ideje iz mnogih izvora, uključujući projekat Tunnikoflick, GenCode. Sharon Adler, Anders Berglund i James A. Marke su također bili ključni članovi SGML komiteta.

SGML je precizno definisao sintaksu za uključivanje markiranja u tekst, a takođe je posebno opisao koje oznake su dozvoljene i gde (DTD - Definicija tipa dokumenta). Ovo je omogućilo autorima da kreiraju i koriste bilo koju oznaku koju žele, birajući oznake koje će koristiti i dajući im imena na normalnom jeziku. Stoga, SGML treba smatrati metajezikom; iz njega je evoluiralo više posebnih jezika za označavanje. Krajem 1980-ih došlo je do porasta novih jezika za označavanje zasnovanih na SGML-u, kao što su TEI i DocBook.

Godine 1986, SGML je objavljen kao međunarodni standard pod ISO brojem 8879. SGML je naišao na široko prihvaćenost i široko se koristio u veoma velikim projektima. Međutim, generalno je utvrđeno da je glomazan i težak za učenje, sa nuspojavom jezika da je pokušavao učiniti previše i biti previše fleksibilan. Na primjer, SGML je kreirao ne uvijek potrebne oznake za zatvaranje (ili oznake otvaranja, ili čak oboje) jer je vjerovao da će ovu oznaku ručno dodati osoblje za podršku projektu koje bi cijenilo uštedu u pritiskanju tipki.

HTML

Do 1991. upotreba SGML-a je bila ograničena na poslovne programe i baze podataka, a WYSIWYG alati (koji su pohranjivali dokumente u vlasničkim binarnim formatima) korišteni su za druge programe za obradu dokumenata. Situacija se promijenila kada je Sir Tim Berners-Lee saznao za SGML od svog kolege Andersa Berglanda. Anders Berglund ) i drugi saradnici u CERN-u, koristili su SGML sintaksu za kreiranje HTML-a. Jezik je imao sličnosti sa drugim jezicima za označavanje zasnovanim na SGML sintaksi, ali je bilo mnogo lakše početi sa njim, čak i za programere koji to nikada ranije nisu radili. Steven DeRose je tvrdio da je HTML koji koristi deskriptivne oznake (i SGML posebno) bio glavni faktor u razvoju Weba jer je dizajniran sa fleksibilnošću i proširivosti (kao i drugim faktorima, uključujući koncept URL-ova i slobodnu upotrebu od strane pretraživača) . Danas je HTML najatraktivniji i najčešće korišteni jezik za označavanje na svijetu.

Međutim, neki kompjuterski naučnici osporavaju status HTML-a kao jezika za označavanje. Njihov glavni argument je da HTML ograničava postavljanje oznaka, zahtijevajući da obje oznake budu ugniježđene unutar drugih oznaka ili unutar glavnih oznaka dokumenta. Kao rezultat toga, ovi naučnici smatraju HTML jezikom kontejnera koji slijedi hijerarhijski model.

XML

XML (Extensible Markup Language) je meta jezik za označavanje koji se danas široko koristi. XML je razvio World Wide Web Consortium u komitetu na čijem je čelu Jon Bosak. Osnovna svrha XML-a je da bude jednostavniji od SGML-a i da se fokusira na konkretan problem - dokumente na Internetu. XML je meta-jezik poput SGML-a, korisnicima je dozvoljeno da kreiraju bilo koje oznake koje su im potrebne (dakle "proširivi"). Uspon XML-a je bio potpomognut jer je svaki XML dokument mogao biti napisan na isti način kao SGML dokument, a programi i korisnici koji koriste SGML mogli su vrlo lako preći na XML.

Međutim, XML je izgubio mnoge osobine SGML-a usmjerene na ljude koje su ga činile lakšim za korištenje (sve dok nije proširio količinu markupa i vratio čitljivost i mogućnost uređivanja na istom nivou). Druga poboljšanja su ispravila neke probleme sa SGML-om na međunarodnom nivou i omogućila hijerarhijski raščlanjivanje dokumenta čak i ako DTD nije bio dostupan.

XML je prvenstveno dizajniran za polustrukturirana okruženja kao što su dokumenti i publikacije. Međutim, pogodio je sretan medij između fleksibilnosti i jednostavnosti i brzo su ga usvojili mnogi korisnici. XML se sada široko koristi za prijenos podataka između programa. Kao i HTML, on se može okarakterisati kao "kontejnerski" jezik.

XHTML

Počevši od januara 2000. godine, sve preporuke W3C-a bile su zasnovane na XML-u, a ne na SGML-u, a predložen je akronim XHTML (Extensible HyperText Markup Languge). Specifikacije jezika zahtevale su da XHTML dokumenti budu formatirani kao XML dokumenti, što omogućava da se XHTML koristi za jasnije i preciznije dokumente koristeći oznake iz HTML-a.

Jedna od najvažnijih razlika između HTML-a i XHTML-a je pravilo da sve oznake moraju biti zatvorene: prazne oznake, na primjer<br/>, oba moraju biti zatvorena standardnom završnom oznakom ili posebnim unosom:<br/> (razmak ispred "/" u završnoj oznaci nije obavezan, ali se često koristi jer ga koriste neki pre-XML pretraživači i SGML parseri). Ostali atributi u oznakama moraju biti u navodnicima. Konačno, sve oznake i imena atributa moraju biti napisana malim slovima da bi se ispravno čitali; HTML ne razlikuje velika i mala slova.

Ostali razvoji zasnovani na XML-u

Mnogi razvojni programi zasnovani na XML-u su sada u upotrebi, kao što su RDF (Okvir za opis resursa), XFORMS, DocBook, SOAP i OWL (ontološki veb jezik).

Posebnosti

Zajednička karakteristika svih jezika za označavanje je da miješaju tekst dokumenta s uputama za označavanje u toku podataka ili datoteci. Ovo nije neophodno; moguće je izolovati oznaku iz teksta pomoću pokazivača, oznaka, identifikatora ili drugih tehnika koordinacije. Ova "zasebna oznaka" tipična je za interno predstavljanje programa koji rade sa označenim dokumentima. Međutim, ugrađene ili "inline" oznake su prihvatljivije drugdje. Evo, na primjer, mali dio teksta označen HTML-om:

Anatidae

Porodica Anatidae uključuje patke, guske i labudove, ali ne bliski vriskači.

Kod instrukcija za označavanje (poznat kao oznake) je zatvoren u uglastim zagradama<как здесь>. Tekst između ovih uputstava je tekst dokumenta. Kodovi h1, str I em- primjeri strukturalnih oznaka, oni opisuju poziciju, svrhu ili značenje teksta koji je u njima uključen.

tačnije, h1 znači "ovo je naslov prvog nivoa" str znači „ovo je pasus“, i em znači "ovo je podvučena riječ ili fraza." Program za tumačenje može primijeniti ova pravila ili stilove da prikaže različite dijelove teksta, koristeći različite tipove, veličine fonta, razmake, boju ili druge stilove po potrebi. Oznaka kao što je h1 može, na primjer, biti predstavljena velikim, podebljanim tipografskim fontom, ili u dokumentu s jednorazrednim tekstom (kao na pisaćoj mašini) može biti podvučena ili uopće ne promijeniti svoj izgled.

Za kontrast, označite i u HTML-u - primjer vizualnog označavanja; obično se koristi za identifikaciju specifičnih karakteristika teksta (koristite kurziv u ovom bloku) bez objašnjenja zašto.

TEI (Tex Encoding Initiative) objavila je sveobuhvatna uputstva za kodiranje teksta u interesu čovječanstva i naučna društva. Ove smjernice su korištene za kodiranje istorijskih dokumenata, konkretni radovi naučnika, periodika i tako dalje.

Alternativne upotrebe

Dok se razvijala ideja o korištenju jezika za označavanje s tekstualnim dokumentima, povećala je upotrebu jezika za označavanje u drugim područjima, predloženo je njihovo korištenje za prezentaciju razne vrste informacije, uključujući liste za reprodukciju, vektorsku grafiku, web usluge, korisnička sučelja. Većina ovih aplikacija zasnovana je na XML-u jer je to dobro strukturiran i proširiv jezik.

Vodič za tehnički prevodilac

markup language- 06/23/33 markup language: Jezik koji se sastoji od ugrađenih komandi koji pruža podršku za označavanje teksta tokom njegove obrade.

U sistemima za obradu teksta, dodatne informacije koje se nazivaju označavanje su uključene u dokument i obavljaju sljedeće funkcije:

Odabir logičkih elemenata ovaj dokument;

Funkcije podešavanja za obradu odabranih elemenata.

U konvencionalnim procesorima teksta ugrađene su komande za uključivanje/isključivanje fontova i sl., slične komandama za kontrolu postavljanja informacija na ekran ili prilikom štampanja (tzv. Escape sekvence). Ovaj pristup se naziva komandno ili proceduralno označavanje (tabela 2.1).

Alternativna tehnika označavanja je odabir dijela teksta bez specificiranja kako se odabirom treba rukovati. Ostale komande zatim određuju kako bi se fragmenti trebali obraditi. Ova oznaka se zove deskriptivan(opisno). Uključuje oznake (oznake, oznake) početak i kraj tekstualnog elementa i pokazuje kako interpretirati dati fragment.

Promjenom skupa procedura koje odgovaraju deskriptivnom označavanju, možete promijeniti izgled istog dokumenta. Razvoj ideja o deskriptivnom označavanju doveo je do definicije markupa kao formalnog jezika. Ovo vam omogućava da provjerite ispravnost oznake i smanjite njen volumen zamjenom zadanih vrijednosti.

Glavna prednost deskriptivnog označavanja je njegova fleksibilnost, budući da su dijelovi teksta označeni kao "ono što jesu" (a ne "kako bi trebali biti prikazani"), a softver će se u budućnosti možda pisati za rukovanje tim dijelovima na način koji nije čak ni namijenili dizajneri jezika. . Na primjer, HTML hiperveze, prvobitno namijenjene korisnicima za navigaciju kroz skup veza na Internetu, kasnije su počele da se koriste mehanizmima pretraživanja i indeksiranja na Internetu, za procjenu popularnosti resursa itd.

Deskriptivno označavanje takođe olakšava preformatiranje dokumenta ako je potrebno, jer opis formata nije povezan sa sadržajem. Na primjer, kurziv može se koristiti za isticanje teksta, za označavanje stranih (ili sleng) riječi ili u druge svrhe.

Međutim, ako se riječi jednostavno istaknu (deskriptivno ili proceduralno) kao kurziv, ova dvosmislenost se ne može u potpunosti razumjeti. Ako su dva slučaja na početku različito označena, svaki se može preformatirati nezavisno od drugih. Generičko označavanje je drugo ime za deskriptivne oznake.

U praksi, elementi različitih klasa označavanja obično koegzistiraju u bilo kojem sistemu. Na primjer, HTML sadrži i elemente označavanja koji su proceduralni (b za podebljano) i druge koji su deskriptivni (atribut "blockquote" ili "href"). HTML također uključuje pre element, koji ograničava područje teksta koji će biti pozicioniran točno onako kako je otkucano.



Najviše savremeni sistemi Deskriptivno označavanje tretira dokumente kao hijerarhijske strukture (stabla) i takođe pruža neka sredstva za ugrađeno unakrsno referenciranje. Stoga se takvi dokumenti mogu tretirati i obraditi kao baze podataka, čija je struktura prilično dobro definirana (međutim, budući da nemaju tako stroge sheme kao relacijske baze podataka, obično se nazivaju „slabo strukturiranim bazama podataka“).

Sa dolaskom III milenijum pojavio se interes za dokumente nehijerarhijskih struktura. Na primjer, antička i vjerska literatura obično ima retoričku ili proznu strukturu (priča, odjeljak, paragraf, itd.) i također uključuje pozadinske informacije (knjige, poglavlja, strofe, stihove). Budući da se granice ovih modula često preklapaju, oni se ne mogu u potpunosti kodirati koristeći samo stablo strukturiran sistem označavanja. Sistemi za modeliranje dokumenata koji podržavaju takve strukture uključuju MECS, TEI smjernice, LMNL i CLIX.

Termin "označavanje" dolazi iz tradicionalne prakse označavanja rukopisa prije objavljivanja (tj. dodavanje simboličkih naredbi na marginama i između redova papirnog rukopisa), koje su stoljećima radili izdavači (urednici i lektori) koji su zabilježili koji font , stil i fragmenti teksta morali su biti otkucani fontom, a zatim je rukopis predat slagačima, koji su ručno kucali tekst, vodeći računa o znakovima za označavanje.



Trenutno postoji mnogo jezika za označavanje (Tabela 2.2), među najpoznatijima su DocBook,

MathML, SVG, Open eBook, XBRL, itd. Oni su uglavnom dizajnirani da predstavljaju različite tekstualne dokumente, ali specijalizovani jezici može se koristiti u mnogim drugim područjima. Naravno, najpoznatiji jezik za označavanje je HTML (HyperText Markup Language), jedan od temelja WWW-a (World Wide Web).

Pogledajmo neke od sistema označavanja.

RUNOFF je bio prvi sistem za formatiranje teksta koji je postigao značajnu slavu. Razvio ga je 1964. za CTSS operativni sistem Jerome H. Saltzer koristeći MAD asembler.

Proizvod se zapravo sastojao od nekoliko programa:

TYPSET, koji je u osnovi bio uređivač dokumenata;

RUNOFF - izlazni procesor.

RUNOFF je pružio podršku za paginaciju i postavljanje naslova, kao i poravnanje teksta. RUNOFF je direktni prethodnik programa za formatiranje dokumenata u Multics OS-u, koji je zauzvrat bio predak programa za formatiranje za Unix OS (roff i nroff) i njihovih potomaka. Takođe je bio predak FORMAT-a za IBM-ov OS/360, i naravno indirektno za sve naredne programe i sisteme za obradu teksta. Vjeruje se da naziv potiče od fraze popularne u to vrijeme - Pobeći ću kopiju.

TeX je skraćenica od τεχνη (TEXNH - techne), grčkog izraza za "umetnost, zanat, veštinu", izvor reči "tehnički". Na engleskom se izgovara "tek" (kao u tehnologiji).

TeX je sistem za slaganje teksta koji je kreirao Donald Knuth. Zajedno sa METAFONT jezikom za opisivanje fontova i fontom Computer Modern, dizajniran je za dvije glavne svrhe - prvo, da svakom korisniku pruži mogućnost kreiranja visokokvalitetnih knjiga uz razumnu količinu truda, i drugo, da takav sistem bi proizveo identične rezultate na svim računarima, kako sada tako i u budućnosti. TeX je besplatni softver popularan u akademskoj zajednici, posebno među matematičarima, kompjuterskim fizičarima, ekonomistima i u tehničkim zajednicama. U velikoj meri se takmiči sa drugim popularnim TeX formaterom, Unix troff, i mnoge Unix instalacije koriste to dvoje zajedno.

TeX je prepoznat kao najbolji način za kreiranje i štampanje složenih matematičkih formula, ali se sada koristi i za mnoge druge zadatke pisanja teksta, posebno u obliku LaTeX-a i drugog softvera za formatiranje.

TeX komande obično počinju sa obrnutom kosom crtom i grupišu se u blokove sa vitičastim zagradama. Međutim, skoro sva sintaktička svojstva TeX-a mogu se promeniti tokom izvršavanja programa, što otežava drugim programima da obrađuju TeX unos. TeX je jezik zasnovan na makro i tokenima, a mnoge komande, uključujući one najčešće definisane od strane korisnika, proširuju se nakon izvršenja dok ne ostanu samo neproširivi tokeni, koji se izvršavaju.

Osnovna verzija TeX-a uključuje približno 300 komandi, koje se nazivaju primitivima. Međutim, ove komande niskog nivoa korisnici rijetko koriste direktno; većina funkcionalnost obezbjeđuju datoteke formata (kopije TeX memorije nakon što su učitani veliki skupovi makro instrukcija). Nutov originalni (podrazumevani) format, koji dodaje približno 600 komandi, zove se Plain Tech. Široko korišćeni format je LaTeX, koji je prvobitno razvio Leslie Lamport, koji uključuje stilove dokumenata za knjige, slova, slajdove, itd., a takođe dodaje podršku za referenciranje i automatsko numerisanje formula i sekcija.

Drugi široko korišćeni format je AMS-TeX, koji je razvilo Američko matematičko društvo i pruža mnoge dodatne prijateljske komande koje izdavači mogu modifikovati kako bi im pružili stil forme. Većina karakteristika AMS-TeX-a može se koristiti u LaTeX-u korišćenjem AMS "paketa" (koji se nazivaju AMS-LaTeX).

Da biste napisali program za štampanje linije "Programiranje" u Plain TeX-u, potrebno je da kreirate datoteku myfile.tex sa sledećim sadržajem:

\bye % kraj datoteke; nije prikazano u konačnom izlazu.

Podrazumevano, sve što sledi znak procenta na liniji je komentar, ignorisan od strane TeX interpretatora. Ako pokrenete Tex na ovoj datoteci (na primjer, kucanjem tex myfile.tex u načinu komandne linije), kreirat će se izlazna datoteka pod nazivom myfile.dvi, koja predstavlja sadržaj stranice u formatu nezavisnom od uređaja (DVI). Rezultati se mogu odštampati direktno iz interaktivnog digitalnog video sistema ili konvertovati u uobičajeniji format kao što je PostScript pomoću programa dvips. TeX varijante kao što je PDFTeX direktno proizvode PDF datoteke.

Pogledajmo formatiranje matematičke formule. Na primjer, da biste napisali dobro poznati izraz za korijen kvadratne jednadžbe, možete unijeti:

Kvadratna formula je $-b \pm \sqrt(b^2 - 4ac) \preko 2a$ \bye

Ovo će dati sljedeći tekst:

Nekoliko sistema za obradu dokumenata bazirano je na TeX-u, posebno jadeTeX, koji koristi TeX kao pozadinu za štampanje izlaza iz DSSSL Engine-a Jamesa Clarka, i Texinfo, GNU sistemski procesor dokumentacije. TeX je bio službeni paket za slaganje za GNU operativni sistem od 1984. godine.

Postoje brojna proširenja i srodni programi za TeX, uključujući BibTeX za bibliografije (distribuiran uz LaTeX), PDFTeX, koji zaobilazi DVI format i izlazi direktno u Adobe Systems Portable Document Format (pdf) i Omega, koji omogućava TeX-u da koristi set Unicode znakova Većina TeX ekstenzija može se dobiti besplatno iz sveobuhvatne TeX arhivske mreže (CTAN). naučna literatura baziran na TeX-u, podržava WYSIWYG način rada i dizajniran je da bude kompatibilan sa TeX-om i Emacs-om.

U mnogim tehničkim oblastima, kao što su primenjene računarske nauke, matematika i fizika, TeX je postao de facto standard. Mnogo hiljada knjiga je objavljeno koristeći TeX od strane izdavača kao što su Addison-Wesley, Cambridge University Press, Elsevier, Oxford University Press ili Springer. Brojni časopisi u ovim oblastima se proizvode koristeći TeX ili LaTeX, a autorima je dozvoljeno da predaju rukopise u TeX formatu.

Od verzije 3, TeX je koristio specifičan sistem numerisanja verzija, gde se ažuriranja označavaju upotrebom dodatne znamenke decimalnog broja tako da se broj verzije asimptotski približava l. Ovo je odraz činjenice da je TeX vrlo stabilan i da se očekuju samo manja ažuriranja. Trenutna verzija TeX-a je 3.141592; ovo je posljednji put ažurirano u decembru 2002.

Svi dokumenti dostupni putem Weba napisani su na jeziku posebno razvijenom za ovu svrhu, koji se zove Hyper Text Markup Language (HTML). HTML je jednostavan jezik za označavanje koji vam omogućava da označite fragmente teksta i postavite veze do drugih dokumenata, istaknete naslove na nekoliko nivoa, razbijete tekst u pasuse, centrirate ih, itd., pretvarajući jednostavan tekst u formatirani hipermedijski dokument.

Osnova HTML jezičkih alata su tagovi - HTML instrukcije, kojih u jeziku ima na stotine. Oni su prisutni unutar hipertekstualnog dokumenta i omogućavaju vam da oblikujete cjelokupnu strukturu i stil njegovog dizajna do suptilnosti. Kada gledate takav dokument pomoću pretraživača, na primjer, ove oznake su nevidljive. A kada kreirate web stranicu pomoću specijaliziranih softverskih alata, a takvi alati su prisutni u gotovo svim uredskim aplikacijama (Word, Excel, Access, Power Point, Outlook itd.), tagovi nisu vidljivi korisniku - unose se automatski.

Oznake se pišu u uglatim zagradama, na primjer

ili
. Ovdje je prva oznaka početna oznaka, a druga, sa kosom crtom, je završna oznaka. Efekat ovog para oznaka je da je tekst između njih poravnat sa središtem prozora u kojem se dokument pregleda. Postoji niz oznaka od jednostavnih (za strukturno oblikovanje i poravnavanje teksta, formiranje boja, veličina, stil fonta, itd.) do posebnih (za uključivanje grafičkih i multimedijalnih objekata u dokument. Složene oznake, pored name, takođe imaju atribute koji detaljno opisuju način njihove upotrebe.

HTML oznake ne definiraju apsolutno formatiranje dokumenta, kao kodovi za obradu teksta, već samo relativno. Na primjer, oznaka koja uzrokuje da se red teksta centrira jednako će raditi i na širokom i na uskom ekranu, a ako se tekst ne uklapa u širinu ekrana, automatski će se premjestiti u drugi red, treći, i tako dalje.

Web stranice možete pregledati u bilo kojem uređivaču teksta, ali to je izuzetno nezgodno, jer stranica nije formatirana, ali su njene oznake vidljive.

Programi za pregled HTML dokumenata nazivaju se pretraživači. Pregledanje web dokumenata jedna je od glavnih, ali ne i jedina funkcija pretraživača.

Prošlo je nekoliko godina od razvoja prve verzije jezika (HTML 1.0). Za to vrijeme došlo je do prilično ozbiljnog razvoja jezika. Broj elemenata za označavanje gotovo se udvostručio, dizajn dokumenata se sve više približava dizajnu visokokvalitetnih štampanih publikacija, razvijaju se sredstva za opisivanje netekstualnih informacijskih resursa i metode interakcije sa aplikativnim softverom. Poboljšava se mehanizam za razvoj standardnih stilova. U stvari, HTML se trenutno razvija ka stvaranju standardnog jezika za razvoj interfejsa i za lokalne i za distribuirane sisteme.

Početkom februara 1998. međunarodna organizacija W3C odobrila je specifikaciju Extensible Markup Language (XML) 1.0, što je označilo početak razvoja mnogih novih jezika za označavanje za prijenos informacija putem Interneta na osnovu XML standarda. U suštini, to je značilo novi korak u razvoju jezika za označavanje hiperteksta. Tokom četiri godine svog postojanja, XML ne samo da je privukao veliku pažnju i običnih korisnika i mnogih web dizajnera, već je postao i sastavni dio interneta. Danas praktički nema servera koji ne koriste, u ovoj ili drugoj mjeri, ovu tehnologiju kao analog HTML-a. Međutim, još uvijek je u najmanju ruku preuranjeno reći da XML sada postaje glavna metoda prenošenja hiperteksta preko globalne mreže. Sam jezik je još prilično mlad, a neki njegovi elementi su još u razvoju. Do sada je napravljen samo opšti okvir za ono što će, možda, u budućnosti zameniti HTML, ali u kom će konkretnom obliku biti, još je nemoguće reći.

Od početka

U novembru 1990. godine, kada su korisnici Interneta prvi put čuli za novu tehnologiju, čiji se naziv lako može uklopiti u samo tri slova, gotovo niko nije mogao zamisliti da će proći vrlo malo vremena i da će ova tehnologija postati praktično jedini način za prenošenje informacija o globalnoj mreži. Danas je za mnoge neiskusne korisnike riječ Internet snažno povezana sa WWW-om, iako su u stvari ove stvari, naravno, povezane jedna s drugom, ali ipak malo drugačije.

Uglavnom, upravo je nevjerovatna popularnost World Wide Weba i njegovog sastavnog dijela, HTML-a, svakako postao razlog izuzetno povećane pažnje strukturama hipertekstualnog označavanja dokumenata.

Pojam hiperteksta prvi je uveo V. Bush davne 1945. godine. Međutim, stvarne aplikacije koje koriste takve strukture podataka počele su se koristiti tek od 60-ih godina, a zaista izvanredan nalet oko ove tehnologije počeo je tek kada je postojala stvarna potreba za mehanizmom za kombinovanje više informacijskih resursa, koji bi omogućio stvaranje i prikaz nelinearnog teksta. A primjer implementacije ovog mehanizma bio je isti WWW.

Sam jezik za označavanje dokumenta je skup posebnih instrukcija koje se nazivaju tagovi (u nekim prevedenim publikacijama oznake se zovu prečice), dizajniranih da kreiraju strukturu u dokumentima i da definišu odnose, respektivno, između različitih elemenata ove strukture. Oznake jezika za označavanje, ili kontrolni deskriptori kako ih ponekad nazivaju, kodirani su u takvim dokumentima na vrlo specifičan način, dodijeljeni u odnosu na glavni sadržaj dokumenta, a zatim služe kao upute za program koji tumači i prikazuje sadržaj dokumenta. dokumenta, zapravo, osobi koja ga gleda, ako pokušate da nađete analogije sa internetom, onda je taj neko klijent, a program tumač u najčešćem slučaju pretraživač). Već u prvim sistemima odlučeno je da se koriste simboli "<" и ">“, unutar kojeg se nalaze nazivi instrukcija i njihovi parametri. Danas je ovaj način označavanja oznaka opšteprihvaćen standard.

Sama upotreba hipertekstnog razlaganja tekstualnog dokumenta u modernom informacioni sistemi To je uglavnom zbog činjenice da hipertekst omogućava stvaranje mehanizma za takozvano nelinearno gledanje informacija. To znači da se u sistemima podaci ne predstavljaju kao kontinuirani tok tekstualnih struktura, već kao skup međusobno povezanih komponenti, kojima se kreće pomoću hiperveza.

Najpopularniji i najpoznatiji jezik za označavanje hiperteksta danas, HTML, kreiran je posebno za strukturiranje i prenošenje informacija koje se nalaze na Internetu, i nesumnjivo je ključna komponenta WWW tehnologije. Korištenjem modela hipertekstualnog dokumenta uredniji je način predstavljanja različitih informacionih resursa na mreži, a korisnici su dobili pogodan mehanizam za pretraživanje i pregled potrebnih informacija. Međutim, prvi znak u ovoj stvari još uvijek se smatra mnogo više stari jezik- SGML.

SGML (Standard Generalized Markup Language) je zvanično usvojen 1986. godine kao međunarodni standard (ISO 8879:1986) za opisivanje metoda ulazno/izlaznih uređaja i okoline za predstavljanje tekstualnih informacija u elektronskom obliku. Osnova za njegovo stvaranje bio je prilično stari jezik za označavanje GML (Generalized Markup Language), koji je razvio IBM još u danima prvih personalnih računara. Da budemo precizni, SGML je metajezik dizajniran da opiše druge jezike za označavanje.

Prvobitno, riječ markup se obično koristila za opisivanje napomena ili drugih oznaka unutar teksta koje su imale za cilj da upute piscu dokumenta, ili „dizajneru rasporeda“, kako se to ponekad naziva, kako tačno treba otkucati određeni odlomak. Takve metode mogu uključivati ​​iskrivljeno podvlačenje radi označavanja kurziva, neke posebne ikone za preskakanje određenih fraza ili njihovo štampanje određenim fontom, itd. Kako su formatiranje i štampanje vremenom postali automatizovani, termin je obuhvatao sve vrste posebnih kodova za označavanje koji su umetnuti u elektronske tekstualne dokumente radi kontrole formatiranja, štampanja ili druge obrade.

Markup jezik se stoga odnosi na skup konvencija oblikovanja koje se koriste za kodiranje blokova teksta. Jezik za označavanje mora jasno naznačiti koje oznake su prihvatljive u datom dokumentu, koje oznake su potrebne, kako razlikovati njegove elemente od običan tekst i šta označava markiranje. SGML je uspio riješiti prva tri problema, rješenje posljednjeg zahtijeva prisustvo neformalnog opisa.

SGML, za razliku od svih drugih jezika za označavanje kreiranih na njegovoj osnovi, koristi princip takozvanog deskriptivnog označavanja umjesto proceduralnog označavanja. Takav sistem koristi elemente označavanja koji jednostavno daju imena za dodjelu pojedinačnih dijelova dokumenta određenim kategorijama. Drugim riječima, oznake kao što su Ili \end(list), jednostavno identificira dio dokumenta i navodi da je "ovaj dio paragraf" ili da je "ovaj dio kraj započete liste" itd. Sistem koji koristi proceduralno označavanje (ovo uključuje procesore teksta, na primjer, Microsoft Word) određuje kakva će se obrada izvršiti na određenom mjestu u tekstualnom dokumentu: „na ovom mjestu pozovite tu i takvu proceduru sa parametrima 5, e i z” ili “pomaknuti ivicu dokumenta 7 mm udesno u odnosu na bilo koji element, preskočiti jedan red, započeti sljedeći od crvene linije, itd. U SGML-u, instrukcije koje su potrebne za obradu dokumenta za neku specifičnu svrhu (na primjer, formatiranje) jasno su odvojene od deskriptivne oznake koja se javlja unutar dokumenta. Obično se prikupljaju izvan dokumenta u posebnim procedurama ili programima.

Koristeći deskriptivno, a ne proceduralno označavanje, isti dokument mogu obraditi različiti programi, od kojih svaki može primijeniti vlastite upute za obradu na one njegove dijelove koje smatra važnim. Na primjer, program za raščlanjivanje sadržaja može u potpunosti zanemariti fusnote, dok ih program za oblikovanje može izdvojiti i sastaviti za ispis na kraju svakog dijela. Različite vrste instrukcija za obradu mogu biti povezane sa istim dijelom datoteke. Na primjer, jedan program može izdvojiti prezimena ljudi iz dokumenta i geografska imena za kreiranje indeksa ili baze podataka, dok druga obrada istog teksta može ispisati imena u drugom fontu.

SGML takođe uvodi pojam tipa dokumenta i, shodno tome, načine njegovog definisanja (definicija tipa dokumenta, DTD). Dokumenti se smatraju otkucanim, baš kao i drugi kompjuterski obrađeni objekti. Vrsta dokumenta je formalno određena njegovim sastavnim dijelovima i njihovom strukturom. Na primjer, može se definirati tip dokumenta tako da se sastoji od naslova i možda imena autora, nakon čega slijedi sažetak i niz od jednog ili više pasusa. Svaki dokument bez naslova, prema ovoj formalnoj definiciji, neće biti izvještaj, kao što to neće biti ni niz pasusa iza kojih slijedi sažetak, bez obzira koliko dokument može biti sličan izvještaju sa stanovišta čovjeka. čitalac..

Budući da su dokumenti poznatih tipova, možete koristiti poseban program koji se zove parser da obradite dokument koji tvrdi da je određenog tipa i provjeri da li su svi elementi potrebni za tu vrstu dokumenta prisutni i pronađeni u ispravnom redoslijedu i ispravno strukturirano. Što je još važnije, različiti dokumenti iste vrste mogu se obraditi na jedinstven način. Možete pisati programe koji koriste znanje sadržano u informaciona struktura dokumenata, koji na taj način mogu biti inteligentniji.

SGML, kao metajezik, omogućava definiciju specifičnih jezika (često zvanih "SGML aplikacije") koji ciljaju na određene aplikacije. Primjer za to je HTML jezik, koji se široko koristi na WWW-u. Svaki takav jezik je opisan u obliku DTD-a, definirajući elemente i njihove atribute. Jednom kada se dobije takav DTD, SGML softver može ispravno obraditi dokumente napisane prema tom DTD-u.

Čak iu projektu, ovaj jezik je zamišljen posebno za implementaciju modela prenosa informacija u globalnu mrežu koji sada imamo. Drugi u HTML riječima je kreacija interneta. Iako je, u stvari, HTML pojednostavljena verzija standarda zajednički jezik markup - SGML (Standard Generalized Markup Language), koji je ISO odobrio kao standard još 80-ih godina prošlog vijeka. SGTML nije jezik u svom čistom obliku, već skup pravila i opisa za kreiranje drugih jezika; on definiše važeći skup oznaka, njihovih atributa i interne strukture dokumenta. Kontrola nad ispravnom upotrebom deskriptora se vrši pomoću posebnog skupa pravila nazvanih DTD opisi, koje koristi klijentski program tumača prilikom raščlanjivanja dokumenta. Za svaku klasu dokumenata definiran je vlastiti skup pravila koja opisuju gramatiku odgovarajućeg jezika za označavanje. Koristeći SGML, možete organizirati informacije sadržane u dokumentima, opisati strukturirane podatke i predstaviti ove informacije u nekom standardiziranom formatu za kasniju upotrebu. Međutim, zbog neke svoje složenosti, SGML se uglavnom koristio za opisivanje sintakse drugih jezika (od kojih je najpoznatiji HTML), a nekoliko aplikacija je radilo direktno sa SGML dokumentima.

HTML je mnogo praktičniji i lakši za upotrebu jezik od SGML-a. Ne dozvoljava vam da odredite dodatni jezici na sopstvenoj osnovi. Korištenje HTML-a uključuje označavanje dokumenta prema standardu, koji je definiran prilično ograničenim skupom uputstava ili oznaka. Ovakva uputstva imaju za cilj, pre svega, da kontrolišu proces prikazivanja sadržaja dokumenta na ekranu klijentskog programa i time određuju način predstavljanja dokumenta, ali ne i njegovu celokupnu strukturu. U većini slučajeva, HTML podaci su predstavljeni u običnom tekstualnom fajlu koji se lako može prenijeti preko mreže koristeći http protokol.

Međutim, kako vrijeme odmiče i postavlja sve strože zahtjeve za popularne tehnologije, modernim aplikacijama nije potreban samo jezik za prikazivanje podataka na ekranu klijenta, već i mehanizam koji omogućava da se odredi struktura dokumenta i opiše elementi koji se u njemu nalaze. . HTML ima jednostavan skup naredbi i prilično se uspješno nosi sa zadatkom opisivanja tekstualnih informacija i prikazivanja na ekranu programa za pregled - pretraživača. Međutim, sami prikazani podaci nisu ni na koji način povezani sa oznakama koje se koriste za formatiranje, tako da programi za raščlanjivanje nemaju mogućnost da koriste HTML oznake za pronalaženje fragmenata dokumenta koji su nam potrebni. One. naišao na, na primjer, takav opis

ruža,

Gledalac će znati u kojoj boji da prikaže tekst sadržan u oznakama i najvjerovatnije će ga ispravno prikazati, ali je apsolutno svejedno gdje se u dokumentu nalazi ova oznaka, u koje druge oznake je uključen trenutni fragment, da li postoje fragmenti ugniježđeni u njemu ili da li su izgrađeni odnosi između objekata ispravno. Ova „ravnodušnost“ prema strukturi dokumenta dovodi do činjenice da se pretraživanje ili analiza informacija unutar njega neće razlikovati od rada s kontinuiranim tekstualnim fajlom koji nije razbijen na elemente. A ovo, kao što znate, nije najviše efikasan metod rad sa informacijama.

Još jedan značajan nedostatak same ideje, implementirane u HTML, je ograničen skup njegovih oznaka. DTD pravila za HTML definiraju fiksni skup deskriptora i stoga programer nema mogućnost da unese svoje, posebne oznake. Iako se nova jezička proširenja pojavljuju s vremena na vrijeme (do danas najnoviju verziju HTML je HTML 4.0) ali duge staze njihova standardizacija, praćena stalnim nesuglasicama između glavnih proizvođača pretraživača, čine gotovo nemogućim brzo prilagođavanje jezika, njegovu upotrebu za prikaz specijalizovanih informacija (na primjer, multimedijskih, matematičkih, hemijske formule itd.).

Da sumiramo sve rečeno, može se tvrditi da HTML danas ne zadovoljava u potpunosti zahtjeve koje postavljaju savremeni programeri za jezike ove vrste. I ponuđena mu je zamjena novi jezik označavanje hiperteksta: moćan, fleksibilan i istovremeno zgodan XML jezik.

XML (Extensible Markup Language) je jezik za označavanje koji opisuje čitavu klasu objekata podataka koji se nazivaju XML dokumenti. Ovaj jezik se koristi kao sredstvo za opisivanje gramatike drugih jezika i za kontrolu ispravnosti dokumenata. One. Sam XML ne sadrži nikakve oznake za označavanje, on jednostavno definira redoslijed u kojem su kreirane. Dakle, ako, na primjer, mislimo da bismo trebali koristiti oznaku za označavanje elementa ruže u dokumentu , tada nam XML omogućava da slobodno koristimo oznaku koju definiramo i možemo uključiti fragmente poput sljedećih u dokument:

ruža

Skup oznaka se može lako proširiti. Ako, pretpostavimo, želimo i naznačiti da opis cvijeta treba smisleno ući u opis staklenika u kojem cvjeta, onda jednostavno postavljamo nove oznake i biramo redoslijed kojim se pojavljuju:

ruža

Ako želimo tamo posaditi još nekoliko cvijeća, moramo napraviti sljedeće promjene:

ruža

tulip

cactus

Kao što vidite, proces kreiranja XML dokumenta je veoma jednostavan i zahteva samo osnovno znanje HTML-a i razumevanje zadataka koje želimo da obavimo koristeći XML kao jezik za označavanje. Ovo daje programerima jedinstvenu mogućnost da definišu prilagođene komande koje im omogućavaju da najefikasnije definišu podatke sadržane u dokumentu. Autor dokumenta kreira njegovu strukturu, gradi potrebne veze između elemenata, koristeći one naredbe koje zadovoljavaju njegove zahtjeve, i postiže vrstu označavanja koja mu je potrebna za obavljanje operacija pregleda, pretraživanja i analize dokumenta.

Još jedna očigledna prednost XML-a je mogućnost da se koristi kao univerzalni jezik upita za repozitorije informacija. Danas se u dubinama W3C-a razmatra radna verzija XML-QL (ili XQL) standarda, koji bi u budućnosti mogao postati ozbiljan konkurent SQL-u. Osim toga, XML dokumenti mogu djelovati kao jedinstven način pohranjivanja podataka koji uključuje i sredstva za raščlanjivanje informacija i njihovo predstavljanje na strani klijenta. U ovoj oblasti, jedno od obećavajućih oblasti je integracija Java i XML tehnologija, što omogućava da se iskoristi snaga obe tehnologije pri izgradnji mašinski nezavisnih aplikacija koje takođe koriste univerzalni format podataka za razmenu informacija.

XML vam takođe omogućava kontrolu ispravnosti podataka pohranjenih u dokumentima, provjeru hijerarhijskih odnosa unutar dokumenta i uspostavljanje jedinstvenog standarda za strukturu dokumenata, čiji sadržaj može biti različiti podaci. To znači da se može koristiti pri izgradnji složenih informacionih sistema, u kojima je pitanje razmene informacija između različitih aplikacija koje rade u istom sistemu veoma važno. Kreiranjem strukture za mehanizam razmjene informacija na samom početku rada na projektu, menadžer se u budućnosti može spasiti mnogih problema povezanih s nekompatibilnošću formata podataka koje koriste različite komponente sistema.

Takođe, jedna od prednosti XML-a je to što su programi za obradu XML dokumenata jednostavni, a danas se slobodno distribuiraju sve vrste softverskih proizvoda dizajniranih za rad sa XML dokumentima. XML je danas podržan u svim pretraživačima porodice Microsoft Internet Explorer, počevši od verzije 4.0. Najavljeno je da će biti podržan u narednim verzijama aplikacija Netscape Communicator, Oracle DBMS, DB-2 i MS-Office. Sve ovo daje razlog za pretpostavku da će, najvjerovatnije, u bliskoj budućnosti XML postati glavni jezik za razmjenu informacija za informacione sisteme, čime će zamijeniti HTML. Poznati specijalizovani jezici za označavanje kao što su SMIL, CDF, MathML, XSL već su kreirani na bazi XML-a, a lista radnih nacrta novih jezika koje W3C razmatra stalno raste.

Kako izgleda XML dokument?

Ako ste upoznati sa HTML-om, učenje XML-a vam neće zahtijevati mnogo truda. Iako je XML po svojim mogućnostima i namjeri svakako vrlo različit od HyperText Markup Language, oba jezika su podskupovi SGML-a i stoga nasljeđuju njegove osnovne principe.

Struktura dokumenta

Jednostavan XML dokument može izgledati kao Primjer 1

Prvo

Sekunda podstav 1

Treće

Last

Imajte na umu da je ovaj dokument vrlo sličan običnoj HTML stranici. Baš kao u HTML-u, instrukcije zatvorene u ugaone zagrade nazivaju se tagovima i služe za označavanje tijela dokumenta. U XML-u postoje oznake za otvaranje, zatvaranje i prazne (u HTML-u takođe postoji koncept prazne oznake, ali nije potrebna posebna oznaka).

Tijelo XML dokumenta sastoji se od markupnih elemenata i stvarnog sadržaja dokumenta – podataka (sadržaja). XML oznake su dizajnirane da definiraju elemente dokumenta, njihove atribute i druge jezičke konstrukcije. O vrstama oznaka koje se koriste u dokumentima ćemo detaljnije govoriti nešto kasnije.

Svaki XML dokument uvijek mora početi naredbom, unutar kojeg možete postaviti i broj jezične verzije, broj kodne stranice i druge parametre potrebne za program analizatora u procesu raščlanjivanja dokumenta.

Pravila za kreiranje XML dokumenta

Generalno, XML dokumenti moraju zadovoljiti sljedeće zahtjeve:

Zaglavlje dokumenta sadrži XML deklaraciju koja specificira jezik za označavanje dokumenta, broj verzije i dodatne informacije.

Svaka početna oznaka koja definira neko područje podataka u dokumentu mora imati svog završnog “partnera”, odnosno, za razliku od HTML-a, završne oznake se ne mogu izostaviti.

XML je osjetljiv na velika i mala slova.

Sve vrijednosti atributa koje se koriste u definicijama oznaka moraju biti stavljene u navodnike.

Ugniježđenje tagova u XML-u je strogo kontrolirano, pa je potrebno pratiti redoslijed otvaranja i zatvaranja tagova.

Sve informacije između početne i završne oznake tretiraju se kao podaci u XML-u, te se stoga svi znakovi oblikovanja uzimaju u obzir (tj. razmaci, prijelomi reda, tabovi se ne zanemaruju kao u HTML-u).

Ako XML dokument ne krši gornja pravila, onda se naziva formalno ispravnim i svi analizatori dizajnirani za raščlanjivanje XML dokumenata moći će ispravno raditi s njim.

Međutim, osim provjere formalne usklađenosti sa gramatikom jezika, dokument može sadržavati sredstva kontrole nad sadržajem dokumenta, nad usklađenošću s pravilima koja određuju potrebne odnose između elemenata i formiraju strukturu dokumenta. Na primjer, sljedeći tekst, iako savršeno valjan XML dokument, bit će potpuno besmislen:

Rusija Novosibirsk</country>

Kako bi se osigurala provjera ispravnosti XML dokumenata, potrebno je koristiti analizatore koji vrše takvu provjeru i nazivaju se verifikatorima.

Danas postoje dva glavna načina za kontrolu ispravnosti XML dokumenta: DTD definicije (Definicija tipa dokumenta) i šeme podataka (Semantička šema). Sljedeći put ćemo razgovarati više o korištenju DTD-ova i shema. Za razliku od SGML-a, definisanje DTD pravila u XML-u nije neophodno, a ova okolnost nam omogućava da kreiramo bilo kakve XML dokumente bez razbijanja mozga oko prilično komplikovane DTD sintakse.

Osnovni princip

Element je glavni strukturna jedinica XML dokument. Stavljanje riječi ruža u oznake , definiramo neprazan element tzv , čiji je sadržaj ruža. U opštem slučaju, sadržaj elemenata može biti jednostavno neki tekst, ili drugi ugniježđeni elementi dokumenta, CDATA sekcije, upute za obradu, komentari, tj. gotovo svaki dio XML dokumenta.

Svaki neprazan element mora se sastojati od početne oznake, završne oznake i podataka zatvorenih između njih.

Skup svih elemenata sadržanih u dokumentu definira njegovu strukturu i određuje sve hijerarhijske odnose. Koristeći elemente, ravni model podataka se transformiše u složen hijerarhijski sistem sa mnogo mogućih odnosa između elemenata.

Prilikom naknadnog pretraživanja dokumenta, klijentski program će se oslanjati na informacije koje su ugrađene u njegovu strukturu - koristeći elemente dokumenta. One. ako, na primjer, želite pronaći pravi univerzitet u pravom gradu, morat ćete pogledati sadržaj određenog elementa nalazi unutar određenog elementa . Pretraživanje će u ovom slučaju, naravno, biti mnogo efikasnije od pronalaženja željenog niza kroz cijeli dokument.

U XML dokumentu je po pravilu definiran barem jedan element, koji se naziva korijenski, i parseri počinju skenirati dokument iz ovog elementa. U datom primjeru, ovaj element je .

U nekim slučajevima, oznake mogu promijeniti i razjasniti semantiku određenih fragmenata dokumenta, definirajući iste informacije na različite načine i time aplikaciji koja analizira ovaj dokument pružiti informacije o kontekstu korištenja opisanih podataka. Na primjer, nakon čitanja fragmenta Hollywood, možemo pretpostaviti da je ovaj dio dokumenta o gradu, ali u fragmentu Hollywood- o restoranu.

Zaključak

Jezik za formatiranje web stranica HTML prvobitno je uveden kao aplikacija SGML-a. Kasnije, sa brzim razvojem WWW-a, HTML je počeo da se širi na sve moguće načine kako bi autoru dao veću kontrolu nad eksternom prezentacijom informacija. Novi elementi i atributi kao npr ili , fokusiran na vizuelno formatiranje. Pojavili su se i počeli se aktivno koristiti alati koji nisu dio samog jezika za označavanje: imagemape, Java i JavaScript, dodaci itd. Postoje i mnogi HTML elementi koje podržavaju samo određeni pretraživači ili koji rade drugačije u različitim pretraživačima. Stoga je sada teško reći da li je HTML SGML aplikacija ili ne. Vrlo malo stranica je kreirano prema HTML specifikacijama i odgovarajućim DTD-ovima.

Ovaj problem se djelimično želi ublažiti kaskadnim stilovima, standard za koji je usvojio W3 konzorcij. CSS1 odvaja stil koji definira vizualni izgled elemenata od oznake elementa.

Od velikog interesa je XML jezik, koji bi trebao zamijeniti HTML kao jezik za označavanje web stranica. Ovo je varijanta SGML-a, prvenstveno namijenjena korištenju na WWW-u. Ne zahtijeva DTD, a sam jezik je pojednostavljen zbog rijetko korištene složene strukture. Ovo će učiniti parsere jednostavnim, što će omogućiti aktivnu upotrebu XML-a u pretraživačima. (Vjerovatnoća za to je prilično velika, s obzirom na to da oba glavna igrača u polju pretraživača sklone XML-u).


VERZIJA ZA ŠTAMPANJE>>
Članak pročitan:jednom.

U sistemima za obradu teksta, dodatne informacije su uključene u dokument, tzv oznake i obavlja sljedeće funkcije:

  • isticanje logičkih elemenata datog dokumenta;
  • funkcije podešavanja za obradu odabranih elemenata.

Konvencionalni procesori teksta imaju ugrađene komande za uključivanje/isključivanje fontova i druge, slične komandama za kontrolu postavljanja informacija na ekranu ili prilikom štampanja (tzv. Escare sekvence). Ovaj pristup se zove tim ili proceduralne oznake.

Alternativna tehnika označavanja je odabir dijela teksta bez specificiranja kako se odabirom treba rukovati. Ostale komande zatim određuju kako bi se fragmenti trebali obraditi. Ova oznaka se zove deskriptivan(opisno). Sadrži oznake na početku i kraju tekstualnog elementa i ukazuje na to kako se tumači ovaj fragment.

Promjenom skupa procedura koje odgovaraju deskriptivnom označavanju, možete promijeniti izgled istog dokumenta. Razvoj ideja o deskriptivnom označavanju doveo je do definicije markupa kao formalnog jezika. Ovo vam omogućava da provjerite ispravnost oznake i smanjite njen volumen zamjenom zadanih vrijednosti.

Prednosti

Glavna prednost deskriptivnog označavanja je njegova fleksibilnost, budući da su dijelovi teksta označeni kao "ono što jesu" (a ne "kako bi trebali biti prikazani"), a softver će se u budućnosti možda pisati za rukovanje tim dijelovima na način koji nije čak ni namijenili dizajneri jezika. . Na primjer, HTML hiperveze, prvobitno namijenjene korisnicima za navigaciju kroz skup konekcija na mreži, kasnije su počele da se koriste od strane mehanizama pretraživanja i indeksiranja na mreži, za procjenu popularnosti resursa itd.

Deskriptivno označavanje takođe olakšava preformatiranje dokumenta ako je potrebno, jer opis formata nije povezan sa sadržajem. Na primjer, kurziv može se koristiti za isticanje teksta, za označavanje stranih (ili sleng) riječi ili u druge svrhe. Međutim, ako se riječi jednostavno istaknu (deskriptivno ili proceduralno) kao kurziv, ova dvosmislenost se ne može u potpunosti riješiti. Ako su dva slučaja na početku različito označena, svaki se može preformatirati nezavisno od drugih. Generičko označavanje je drugo ime za deskriptivne oznake.

U praksi, elementi različitih klasa označavanja obično koegzistiraju u bilo kojem sistemu. Na primjer, HTML sadrži i elemente označavanja koji su proceduralni (b za podebljano) i druge koji su deskriptivni (atribut "blockquote" ili "href"). HTML također uključuje PRE element, koji ograničava područje teksta koji će biti pozicioniran točno onako kako je otkucano.

Deskriptivni sistemi označavanja

Većina modernih deskriptivnih sistema označavanja dokumente tretira kao hijerarhijske strukture (stabla) i takođe pružaju neke mogućnosti za ugrađeno unakrsno referenciranje. Stoga se takvi dokumenti mogu tumačiti i obraditi kao Baza podataka, čija je struktura prilično dobro definirana (međutim, budući da nemaju tako stroge sheme kao relacijske baze podataka, obično se nazivaju "polustrukturirane baze podataka").

Dolaskom 3. milenijuma javilo se interesovanje za dokumente nehijerarhijskih struktura. Na primjer, antička i vjerska literatura obično ima retoričku ili proznu strukturu (priča, odjeljak, pasus, itd.), a također uključuje pozadinske informacije(knjige, poglavlja, strofe, stihovi). Budući da se granice ovih modula često preklapaju, oni se ne mogu u potpunosti kodirati koristeći samo stablo strukturiran sistem označavanja. Sistemi za modeliranje dokumenata koji podržavaju takve strukture uključuju MECS, TEI smjernice, LMNL i CLIX.

Termin "označavanje" dolazi iz tradicionalne prakse označavanja rukopisa prije objavljivanja (odnosno, dodavanja simboličkih naredbi na marginama i između redova papirnog rukopisa). Stoljećima su to radili izdavači (urednici i lektori) koji su zabilježili koji font, stil i veličinu fragmenata teksta treba otkucati, a zatim predali rukopis slagačima, koji su ručno kucali tekst uzimajući u obzir oznaku. simboli.

Trenutno postoji mnogo jezika za označavanje, među najpoznatijima su DocBook, MathML, SVG, Open eBook, XBRL i dr. Uglavnom su namijenjeni za predstavljanje raznih tekstualnih dokumenata, ali specijalizovani jezici se mogu koristiti u mnogim drugim oblastima. Naravno, najpoznatiji jezik za označavanje je HTML (HyperText Markup Language), jedan od temelja WWW-a (World Wide Web).

mob_info