Uvod v SGML
Sestavil:
Vladimir Batagelj, Univerza v Ljubljani, Matematika,
Jadranska 19, 61111 Ljubljana
e-mail:
Vladimir.Batagelj@uni-lj.si
©1995 Vladimir Batagelj
zadnja sprememba: 24. september 1995
http://vlado.mat.uni-lj.si/vlado/sgml/sgmluvod.htm
in
http://vlado.mat.uni-lj.si/ftps.htm#sgml
Povzetek: SGML - Standard Generalized Markup Language je
sestav namenjen za pripravo zvrsti spisov. Z dopolnitvijo spisov z
opisom njihove zgradbe (v od vrste programa/ra~unalnika neodvisni
obliki) omogo~imo izdelavo razli~nih programov za njihovo uporabo
(priprava, vzdr`evanje, prikaz, iskanje in analiza) in prenosljivost
med raznovrstnimi ra~unalniki.
V sestavku je podana kratka predstavitev sestava SGML.
Abstract: SGML - Standard Generalized Markup Language is
a system for preparing document type definitions. Embedding of descriptive
markup within documents enables us to produce different application
programs (to prepare, display, maintain, search and analyze
documents) and to transfer documents among different platforms.
In the paper a short introduction to SGML is given.
Sestavek je sestavljen iz dveh delov:
- splo{ne predstavitve sestava SGML, namenjene {irokemu krogu
bralcev - predvsem informatikom, zalo`nikom, knji`ni~arjem in arhivarjem; ter
- programerske predstavitve, ki naj pomaga pri prvih korakih
uporabe SGMLja in vzpodbudi k samostojnemu poglabljanju v njegove
tan~ine.
Na koncu je zbranih {e nekaj smerokazov za samostojno brskanje.
1. Zakaj SGML?
1.1. Besedila, ra~unalnik in ozna~evanje
Po nekaterih ocenah v ZDA:
- porabijo 20% narodnega dohodka za ustvarjanje novih informacij;
- 90% teh informacij je na papirju in ne v ra~unalni{ki obliki;
- pri pripravi spisov se 30% ~asa porabi za iskanje informacij
in nadaljnjih 30% za oblikovanje spisov.
Podobno velja tudi drugod v razvitem svetu.
Zaradi tehnolo{kih sprememb je potrebno tudi informacijo
v ra~unalni{ki obliki pogosto pretvarjati za nove programe.
Kompaktne plo{~e in omre`ja omogo~ajo hranjenje in raz{irjanje
velikih koli~in podatkov.
Po drugi strani uporabnik `eli informacijo prilagojeno njegovim
potrebam.
SGML - Standard Generalized Markup Language je poskus
odgovora na te izzive.
V tiskarstvu se ozna~evanje pri oblikovanju besedil
uporablja `e dolgo. Uporabljajo ga oblikovalci, kot navodila stavcem, za
dolo~itev kje in kako naj se dani del besedila
prika`e (sprememba pisave in njenih lastnosti, prehod na novo stran,...).
Podobno pri ra~unalni{kem oblikovanju besedila oblikovalnik (Word Star,
Word, Word Perfect, ...) vklju~i med besedilo dodatne sestavine,
ki dolo~ajo prikaz besedila. Taki so tudi opisi besedil v jezikih
Postscript, RTF (Rich Text Format), roff, ... Ker ti opisi
natanko dolo~ajo, kaj se zgodi s posameznim delom besedila, govorimo
o postopkovni ozna~itvi besedila.
Korak naprej predstavljajo zvrsti besedila v LaTeXu in oblikovanje
besedil z uporabo slogov (Word, ...), kjer za posamezni del besedila
povemo le kaj je - opisna ozna~itev, oblikovalnik
pa nato sam poskrbi za ustrezno oblikovanje glede na izbrani slog.
Prednost opisne ozna~itve se poka`e pri preoblikovanjih besedila zaradi
sprememb (~lanek, prosojnice).
Vendar tudi opisna ozna~itev {e ne omogo~a zadovoljive ra~unalni{ke
obdelave besedil. To dose`emo {ele s posplo{enim ozna~evanjem,
s katerim v besedilo vnesemo opis njegove zgradbe - dolo~itev zna~ilnih
sestavin in njihove medsebojne povezanosti. S tem ustvarimo znakovno
podatkovno bazo. SGML je sestav, ki to omogo~a.
Natan~neje, SGML zagotavlja:
- lo~itev opisa zgradbe od opisa oblike prikaza -
znakovna podatkovna baza;
- uporabo gradiv v razli~ne namene,
vklju~evanje dodatnih informacij;
- prenosljivost: neodvisnost od vrste ra~unalnika (znakovni opis
v izbrani kodi - praviloma koda ASCII);
- pove~anje u~inkovitosti priprave, uporabe, vzdr`evanja in
razpe~evanja informacije;
- trpe`nost in trdo`ivost gradiv: nevezanost na posameznega
proizvajalca programske opreme;
- odprtost: pestrost orodij razli~nih proizvajalcev;
- nedvoumnost, zmanj{anje {tevila napak v podatkih;
- izbolj{an nadzor: povezave med posameznimi sestavinami,
omejen dostop do posameznih podatkov.
1.2. Razvoj sestava SGML
Septembra leta 1967 je William Tunnicliffe na sestanku na
Kanadskem dr`avnem uradu za tisk predstavil zamisel
o potrebi po lo~itvi vsebine in oblike spisov.
Konec {estdesetih let je Stanley Rice, oblikovalec knjig iz
New Yorka, predlagal nabor zna~k za opis zgradbe spisov.
Ta nabor je bil ob podpori zdru`enja Graphic Communications
Association razvit v prvi opisni nabor GenCode.
Na teh osnovah so leta 1969 Charles Goldfarb,
Edwar Mosher in Raymond Lorie za podjetje IBM ustvarili
GML - Generalized Markup Language. Vanj so vpeljali
tudi pojem zvrsti spisa in gnezdenja sestavin. GML je postal
osnova IBMove programske podpore zalo`ni{tva. Goldfarb je
nadaljeval raziskave o zgradbi spisov in razvil vrsto dodatnih
sestavin.
Leta 1978 je bila pri ANSI (American National Standards Institute)
ustanovljena skupina za pripravo standarda jezika za opis besedil, ki
bi izhajal iz jezika GML. Prvi osnutek standarda je bil predstavljen
leta 1980; {esta razli~ica pa je `e dobila vlogo industrijskega
standarda (GCA 101-1983).
Leta 1984 je za~elo sodelovanje med ANSI in ISO (International
Standards Organization) na pripravi mednarodnega standarda.
Osnutek je bil objavljen leta 1985, naslednje leto pa tudi sam
standard SGML (ISO 8879:1986
Information processing - Text and office systems -
Standard Generalized Markup Language).
1.3. Projekti
SGML je bil `e med nastajanjem in ob samem za~etku podprt z
dvema ve~jima projektoma:
1.3.1. Electronic Manuscript Project
V letih 1983-1987 je delovna skupina pri
Association of American Publishers pripravila v SGML opise
zvrsti knjiga, ~asopis in ~lanek, s ~emer
naj bi poenotila in olaj{ala izmenjavo rokopisov med pisci in
zalo`bami. Te re{itve je sprejelo tudi porajajo~e se zalo`ni{tvo
kompaktnih plo{~.
1.3.2. CALS
CALS - spo~etka (1987) Computer-aided Acquisition and
Logistic Support, sedaj
Continuous Acquisition and Life-cycle Support je projekt
ameri{kega obrambnega ministrstva (US Department of Defense).
@e februarja leta 1988 je bil izdan standard MIL-M-28001,
ki temelji na SGML.
Cilj projekta je zagotoviti, v ra~unalni{ki obliki, enotno tehni~no
dokumentacijo vseh naro~enih izdelkov. To naj zagotovi pocenitev,
sprotno obnovo in hitrej{i dostop do iskane informacije.
O pomenu projekta marsikaj pove podatek, da ameri{ka bojna ladja
nosi tudi 20 do 25 ton priro~nikov o njej.
Odslej naj bi vsi dobavitelji DoD pripravljali dokumentacijo
po pravilih CALS.
V devetdesetih letih je {tevilo projektov zelo naraslo. Med njimi
bomo omenili le tri:
1.3.3. HTML
HTML (HyperText Markup Language) se uporablja na
WWW (World-Wide Web) od leta 1990 dalje. To je preprost
jezik za ozna~evanje, ki temelji na SGML in omogo~a pripravo
sestavkov (besedilo, slika, zvok, video,...)
prenosljivih med razli~nimi vrstami ra~unalnikov.
HTML je v trajnem razvoju, za katerega skrbi IETF
(Internet Engineering Task Force). Trenutno ve~ina pregledovalnikov
podpira HTML 2.0; marca 1995 pa je `e iz{el osnutek za
HTML 3.0.
1.3.4. TEI - Text Encoding Initiative
TEI je mednarodni projekt, ki ga podpirajo
Association for Computing in Humanities,
Association for Literary and Linguistic Computing in
Association for Computational Linguistics.
Usmerjen je na ozna~evanje gradiv s podro~ja umetnosti in
dru`benih ved in naj bi ustvaril priporo~ila za pripravo in
izmenjavo besedil v ra~unalni{ki obliki za raziskovalne in
zalo`ni{ke namene.
1.3.5. UTF
Delovne skupine pri International Press Telecomunications Council
in Newspaper Association of America so za osnovo novega standarda
UTF (Universal Text Format), ki bo nadomestil standarda IPTC 7901
in ANPA 1312, izbrale SGML.
2. Osnove SGML
2.1. Osnovne sestavine
Pri opisu osnov sestava SGML bomo uporabljali obi~ajni zapis.
Njegova pravila (uporabljena koda, lo~ila, dol`ina imen, ...) lahko
po potrebi spremenimo.
2.1.1. Zna~ke
Opis zgradbe vna{amo z zna~kami (tag, ELEMENT).
Posamezna zna~ka je obdana z znakoma
za~etek zna~ke < in
konec zna~ke >. Na primer
<odstavek>
. Poznamo:
- samostojne zna~ke ali dolo~ila, pri katerih
za~etku zna~ke sledi ime zna~ke; in
- oklepajne zna~ke, ki jih sestavlja par zna~k.
Z oklepajnimi zna~kami omejujemo gradnike besedila.
Prva zna~ka para - za~etek je po obliki enaka samostojni zna~ki;
druga zna~ka para - konec pa ima po za~etku zna~ke znak
/, ki mu sledi ime zna~ke.
Pravzaprav je </ sestavljen znak za za~etek konca
zna~ke. Na primer, z oklepajno zna~ko
kraj
povemo,
da uklenjeni del besedila
pripeljali smo se v Ljubljano, glavno mesto
predstavlja nek kraj.
V obi~ajnem zapisu je ime zna~ke sestavljeno iz ~rk, {tevk in znakov
. ter -; za~eti mora s ~rko; ni razlike med velikimi
in malimi ~rkami; dolgo je lahko najve~ 8 znakov.
2.1.2. Delci
V besedilo lahko vklju~ujemo tudi delce
besedila (ENTITY), katerih
vsebina se nahaja izven samega spisa - v pomnilniku ali na
datoteki. Delci so lahko od znaka do vsebine cele datoteke.
Vklju~itev nekega delca zahtevamo tako, da zapi{emo njegovo ime
predzna~eno z znakom & in zaklju~eno s
podpi~jem ;. Za imena delcev veljajo v obi~ajnem zapisu ista
pravila kot za imena zna~k, le da razlikujemo med velikimi in malimi
~rkami. Delci nam omogo~ajo:
- zapisati posebne znake, ki jih ni v kodi, v kateri pripravljamo
opis spisa;
- vpeljati okraj{ave za dolge in ponavljajo~e se dele besedila;
- pripraviti opis spisa na ve~ datotekah.
- vklju~evanje lokalnih podatkov - datum, ustanova, vrsta
ra~unalnika, ...
Delec oblike &#n; ozna~uje znak
s kodo n (deseti{ko). SGML pozna tudi delce
&#RS; (record start - za~etek zapisa),
&#RE; (record end - konec zapisa),
&#SPACE; (presledek),
&#TAB; (predel~nik) in imena za znake, ki nastopajo
v zna~kah.
<, >, &,
" dajo zaporedoma znake
<, >, &, ".
Kako sami dolo~imo delce, bomo razlo`ili v nadaljevanju.
2.1.3. Stavki
Dolo~itev delcev in zna~k ter opis medsebojnih zvez med posameznimi
zna~kami omogo~ajo stavki. Ti so nekak{ne samostojne
zna~ke, ki za~enjajo s sestavljenim znakom za~etek stavka
<!. Temu sledi ime vrste stavka (ELEMENT,
ENTITY, ATTRIBUTE, NOTATION, LINK,
SHORTREF,...) in za njim, glede na vrsto
stavka, v predpisanem vrstnem redu in obliki zahtevane sestavine.
V stavku ima del od za~etnega -- do kon~nega --
(oba vklju~no) vlogo pojasnila. To vlogo ima tudi stavek
<!>.
2.1.4. Ukazi
Tudi ukazi so nekak{ne samostojne
zna~ke, ki za~enjajo s sestavljenim znakom za~etek ukazov
<?. Temu sledi zaporedje ukazov namenjenih programu,
ki obdeluje spis.
2.2. Opis spisa v SGML
Opis spisa v SGML je sestavljen iz treh delov:
- dolo~itev na~ina zapisa
- opis zvrsti spisa
- spis
V posameznih programih/sestavih sta pogosto prvi in drugi razdelek stalna
- vgrajena v program. Tedaj mora uporabnik pripraviti le sam spis.
To je uporabljeno v HTML, ki uporablja obi~ajni zapis z dol`ino imen
podalj{ano na 72. Opis jezika HTML (zvrst spisa) pa je tudi vgrajen
v pregledovalnike (Netscape, Mosaic, Lynx, ...).
Stavki lahko nastopajo le v prvih dveh delih opisa.
2.2.1. Dolo~itev na~ina zapisa
SGML daje precej svobode pri dolo~itvi na~ina zapisa,
vendar, kakor re~eno, se bomo v tem sestavku dr`ali obi~ajnega zapisa.
Tega napovemo na za~etku opisa spisa s stavkom
ki ga ponavadi lahko opustimo.
2.2.2. Opis zvrsti spisa
Zvrst spisa je dolo~ena z zna~kami in delci, ki so zna~ilni za
neko skupino spisov. Te so obi~ajno zbrane na eni ali ve~ datotekah
s podalj{kom DTD (Document Type Definition).
<!DOCTYPE zvrst SYSTEM "pot\zvrst.DTD">
V stavku DOCTYPE
lahko v oglatih oklepajih vnesemo
popravke in dopolnila opisa zvrsti spisa in poskrbimo za posamezne delce.
Praviloma zvrst spisa sestavimo za ve~jo skupino uporabnikov, ki
uporabljajo in si izmenjujejo istovrstne spise.
Najpogosteje v opisu zvrsti uporabljamo naslednje stavke:
2.2.2.1. Dolo~itev delcev
Najpreprostej{a oblika dolo~itve delca je vpeljava okraj{ave, ki
ima obliko
<!ENTITY ime "niz znakov">
Na primer
Del spisa na datoteki proglasimo za delec s stavkom
<!ENTITY ime SYSTEM "pot\datoteka">
Na primer
Z opisom spisa lahko pove`emo (NOTATION) tudi neSGMLjevske
datoteke (bitne slike, spise oblikovane v Wordu, ...).
Delce, ki vsebujejo ukaze vpeljemo s stavkoma oblike
<!ENTITY ime PI "niz znakov">
<!ENTITY ime SDATA "niz znakov">
Prvo obliko PI (Processing Instructions) uporabljamo takrat, ko
gre za ~iste ukaze programu za obdelavo
druga oblika pa vrne programu za obdelavo niz znakov. Tako je
v dodatkih k ISO 8879, v opisu nabora znakov Latin 2, znak ~ podan
kot
Delec č vrne v program za obdelavo niz
[ccaron]. ^e pa v stavku [ccaron] nadomestimo
z ~, bomo na starej{ih prirejenih tiskalnikih in
zaslonih dobili `eljeni izpis.
Kadar `elimo delec ime uporabiti v definiciji nekega drugega delca,
ga vpeljemo s stavkom oblike
<!ENTITY % ime "niz znakov">
uporabimo pa z zahtevo %ime;.
Na primer, kadar je delec na datoteki {ir{e uporaben (del knji`nice), to povemo
z obliko
<!ENTITY % ime PUBLIC "javno ime">
Tako delec ISOlat2 pove`emo z opisom nabora znakov Latin 2,
v dodatkih k ISO 8879, s stavkom
%ISOlat2;
S stavkom
<!ENTITY #DEFAULT "niz znakov">
lahko dolo~imo vrednost vklju~itev nenajavljenih delcev.
2.2.2.2. Zna~ke
Zna~ke vpeljemo s stavki oblike:
<!ELEMENT ime zac kon sestava>
Pri tem je ime ime zna~ke.
zac in kon lahko zavzameta
vrednost - ali O. V opisu spisa omogo~ata opu{~anje
posameznih zna~k, ki so dolo~ene z drugimi. Vrednost -
pomeni, da je zna~ka obvezna; vrednost O pa, da jo lahko
opustimo. SGML pozna {e ve~ vrst okraj{av, vendar moramo biti pri
njih uporabi previdni, ker lahko privedejo do dvoumij.
sestava opisuje zgradbo in medsebojne povezanosti gradnikov
in dolo~il. ^e uporabimo za sestavo besedico EMPTY, je
pripadajo~a zna~ka dolo~ilo. Sicer je sestava dolo~ena z izrazom, ki
pove katere zna~ke in v kak{nem vrstnem redu se lahko pojavijo
znotraj gradnika. Izraz zgradimo postopno iz ~lenov oblike:
- #PCDATA - (parsed character data) zaporedje znakov,
- ime - ime zna~ke,
- clen? - ~len je lahko prisoten ali odsoten,
- clen+ - ~len se mora pojaviti vsaj enkrat,
- clen* - ~len se lahko pojavi poljubno krat -
lahko je tudi odsoten,
- ( cleni ) skupina: zaporedje ~lenov povezanih z:
- , - zaporedje,
- | - ali, ali,
- & - vsi, v poljubnem vrstnem redu.
Tako na primer
dolo~a, da se spis (za~etno in kon~no zna~ko lahko opustimo) za~ne
z naslovom in neobveznim piscem ali pa piscem in naslovom. Sledi
neprazno zaporedje odstavkov.
Pri opisu sestave gradnikov, lahko opise gradnikov z enako sestavo
zdru`imo v en opis, ki ima namesto imena zna~ke skupino imen,
lo~enih z |, zdru`enih gradnikov.
Opis sestave lahko nadaljujemo tudi z znakom + predzna~eno
skupino imen, kar pomeni, da se te zna~ke lahko pojavljajo kjerkoli
znotraj dane zna~ke. Predznak - ima nasprotni u~inek.
Posamezni zna~ki ime lahko pripi{emo lastnosti
s stavkom:
<!ATTLIST ime lastnost zaloga vrednost ...>
Trojica lastnost zaloga vrednost se ponovi za vsako
lastnost, ki jo lahko pripi{emo zna~ki. Lastnost podamo z njenim imenom.
Za zalogo vrednosti napi{emo seznam vseh mo`nih vrednosti (na{tetje) ali
pa navedemo eno od vrst vrednosti:
ID,
IDREF,
CDATA,
NUMBER,
NUMBERS,
NAME,
NAMES,
NMTOKENS,
NUTOKENS,...
Za vrednost lahko napi{emo izbrano vrednost ali eno od gesel:
- #REQUIRED - pri uporabi zna~ke mora biti dolo~ena tudi
lastnost;
- #IMPLIED - ~e vrednost ni podana, dobi lastnost vgrajeno
vrednost;
- #CURRENT - ~e vrednost ni podana, dobi lastnost zadnjo
uporabljeno vrednost.
Zaradi omejenega prostora, bomo tu na{ opis sestava SGML prekinili.
Seveda SGML omogo~a {e vrsto stvari, ki pa presegajo okvire uvoda.
3. Primer
Za primer si oglejmo poenostavljen opis zvrsti, ki ustreza zbirki
vesti. Shranimo ga na datoteki VESTI.DTD
:
Na datoteki ZNAKI.ENT
pripravimo nekaj razli~nih re{itev
za obravnavo na{ih ~rk ~{`:
Primer vesti je shranjen na datoteki JANEZ.SGM
:
X Y
aaaa bbbb
U V
cccc dddd
10. januar 1995
čira Čara
žiga Žaga
Vse skupaj pove`emo z datoteko VLADO.SGM
:
%znaki;]
>
&janez;
U V X Y
cccc Šiška
23. januar 1995
bla bla
ble ble
Za pregled pripravljenega opisa bomo v DOSu uporabili Clarkov raz~lenjevalnik
nsgmls
(SP parser). Da nam ne bo potrebno vsaki~ navajati
vseh stikal, si jih pripravimo na datoteki SP.BAT
:
SET DOS4G=quiet
nsgmls -deguv -f%1.ERR %1.SGM > %1.PRS
Sedaj lahko preprosto zahtevamo SP vlado
. Na datoteki
vlado.ERR
dobimo izpis sporo~il o napakah v opisu -
v na{em primeru ostane prazna. Na datoteki vlado.PRS
pa dobimo raz~lenjeni opis (prikazan je v dveh stolpcih):
(VESTI AOZNAKA TOKEN VLADO01
AOZNAKA TOKEN JANEZ01 ATAJNOST TOKEN ZAUPNO
ATAJNOST TOKEN JAVNO (VEST
(VEST (GLAVA
(GLAVA (KDO
(KDO (OSEBA
(OSEBA - U V
- X Y )OSEBA
)OSEBA )KDO
(NASLOV (KOMU
- aaaa (OSEBA
(VRSTA - X Y\n
)VRSTA )OSEBA
- bbbb (NASLOV
)NASLOV - cccc
)KDO (VRSTA
(KOMU )VRSTA
(OSEBA - [i{ka\n
- U V )NASLOV
)OSEBA )KOMU
(NASLOV AOZNAKA TOKEN JANEZ01
- cccc (SKLIC
(VRSTA )SKLIC
)VRSTA (DATUM
- dddd - 23. januar 1995\n
)NASLOV )DATUM
)KOMU )GLAVA
(DATUM (TELO
- 10. januar 1995 (ODSTAVEK
)DATUM - bla
)GLAVA (VRSTA
(TELO )VRSTA
(ODSTAVEK - bla\n
- \|c\|ira \|C\|ara )ODSTAVEK
)ODSTAVEK (ODSTAVEK
(ODSTAVEK - ble ble
- \|"z\|iga "Zaga )ODSTAVEK
)ODSTAVEK )TELO
)TELO )VEST
)VEST )VESTI
C
Znak C na koncu raz~lenitve pomeni conforming -
opis je skladen z zvrstjo spisa. Podrobneje si oglejte, kaj je
raz~lenjevalnik naredil s posameznimi delci za na{e ~rke. Primerjajte
tudi vest iz datoteke JANEZ.SGM
(polni opis) z vestjo
z datoteke VLADO.SGM
(okraj{ani opis).
4. Programska in druga podpora
^eprav lahko opise spisov pripravimo s poljubnim znakovnim urejevalnikom,
je to precej la`je po~eti s prilagojenimi urejevalniki, ki upo{tevajo
zvrst spisa. Taki so na primer Emacs,
Author/Editor (SoftQuad) in dodatek WordPerfectu.
Med proizvajalci programske podpore za SGML sta najbolj znani podjetji
SoftQuad in ArborText.
Za preverjanje pravilnosti spisov je na voljo ve~ raz~lenjevalnikov.
Med njimi sta najbolj znana Clarkova sgmls in novej{i
nsgmls (SP), ki smo ga tudi mi uporabili v na{em primeru.
Raz~lenjeni spis lahko z lastnimi programi naprej obdelamo glede na
na{e potrebe. Za oba raz~lenjevalnika je mogo~e dobiti tudi izvorne
programe napisane v Cju, kar nam omogo~a izdelati u~inkovitej{e (brez
vmesne datoteke *.PRS
)
programe za obdelave spisov.
Obstaja tudi ve~ splo{no dostopnih opisov zvrsti (DTD):
Association of American Publishers, Elsevier, ISO 12083,
IBM Information Development document type, TEI, CALS, ...
S splo{nim ozna~evanjem lo~imo zgradbo spisa od njegove oblikovanosti
pri prikazih. Tudi za opis oblike je bilo pripravljenih nekaj
standardov. Taka sta na primer DSSSL (Document Style Semantics
and Specification Language, ISO10179:1991) in FOSI
(Formatted Output Specification Instance, CALS).
5. Viri
5.1. Pisna gradiva
- Charles F. Goldfarb: The SGML Handbook. Clarendon
Press, Oxford 1990.
- Eric Van Herwijnen: SGML Pratique. International
Thomson Publishing France, Paris 1995 (izpopolnjen prevod
v franco{~ino knjige Practical SGML, Kluwer AP, 1994).
- Ian S. Graham: HTML Sourcebook. John Wiley,
New York, 1995.
-
Guidelines for Electronic Text Encoding and Interchange,
C.M. Sperberg-McQueen, Lou Burnard, eds., 16. maj 1994:
http://www.uic.edu/orgs/tei/info/guide.html
-
Getting Started with SGML:
http://www.arbortext.com/wp.html
-
SGML Users' Group History:
http://www.sil.org/sgml/sgmlhist0.html
5.2. Naslovi na Internetu
- SGML Web Page:
http://www.sil.org/sgml/sgml.html
;
- Department of Informatics, University of Oslo,
SGML Repository:
ftp://ftp.ifi.uio.no/pub/SGML
;
- The <SGML> Project at
Exeter Home Page
http://www.ex.ac.uk/SGML/newsgml.html
;
FTP:
ftp://info.ex.ac.uk/pub/SGML
;
- Computer Science Department, Technical University of Darmstadt,
SGML Archive:
ftp://ftp.th-darmstadt.de/pub/text/sgml
;
- James Clark's
Home Page:
http://www.jclark.com/
in njegovi
SGML Parsers (SGMLS, SP):
ftp://ftp.jclark.com/pub
;
- TEI - Text Encoding Initiative
Home Page:
http://www.uic.edu/orgs/tei/
;
FTP:
ftp://ftp-tei.uic.edu/pub/tei/
;
- CALS / navy:
http://navysgml.dt.navy.mil/cals.html
; glej {e The NTIS
CALS Information Center:
http://www.fedworld.gov/edicals/calsinf2.html
;
- Oxford
Text Archive:
ftp://ota.ox.ac.uk/pub/ota
;
- BNC - British National Corpus Project
Text Archive:
http://info.ox.ac.uk/bnc/index.html
;
- Project Gutenberg
Home Page:
http://jg.cso.uiuc.edu/PG/
;
- IADS
- Interactive Authoring and Display System:
ftp://ftp.ifi.uio.no/pub/SGML/IADS/v2_0/
- SoftQuad Inc. Home Page:
http://www.sq.com/
.
5.3. Slovar~ek
attribute | lastnost
|
document | spis
|
element | gradnik, zna~ka
|
font | pisava
|
entity | delec
|
markup | ozna~evanje
|
parser | raz~lenjevalnik
|
style | slog
|
tag | zna~ka
|
text | besedilo, znakovni
|
type | zvrst
|