WYKŁAD 11 STANDARDY JĘZYKÓW ZNAKOWANIA.pdf

(584 KB) Pobierz
Wykład 11. Standardy języków znacznikowych
1. Standaryzacja zapisu informacji jako cel stosowania języków
znacznikowych
Efektywna komunikacja wspomagana technologią informacyjną stanowi główny filar
współczesnego biznesu. Również w prywatnym życiu coraz częściej zdarza nam się korzystad
z publikacji elektronicznych. Musimy sobie jednocześnie uświadomid, że obok ogromnych
możliwości, które drzemią w słowie elektronicznym, mają one też poważne ograniczenia.
Komputer nie potrafi myśled, wyciągad wniosków w sposób w jaki robią to ludzie.
Jednakże obserwując możliwości współczesnych komputerów, niekiedy o tym zapominamy.
Komputery są w istocie maszynami liczącymi, potrafią mnożyd, dzielid, dodawad, odejmowad
w ułamku sekundy. Jednak pomimo ogromnej, i stale rosnącej, mocy obliczeniowej potrafią
jedynie przedstawiad tekst go w określonej formie, natomiast nie rozumieją sensu
zapisanych treści. Potwierdzi to każdy, kto kiedykolwiek korzystał
z programów
sprawdzających poprawnośd gramatyczną zdao lub z translatorów dokonujących tłumaczenia
tekstu między różnymi językami. Programom tym daleko do doskonałości.
Częstym problemem jest również znalezienie potrzebnej informacji w Internecie.
Lista wyników wyszukiwania wyświetlana przez wyszukiwarki internetowe może byd bardzo
obszerna, a większośd dokumentów nie stanowi odpowiedzi na to czego, szukamy. Dzieje się
tak dlatego, że wpisane przez nas w wyszukiwarce słowa kluczowe mogą mied różne
konteksty i znaczenia, o których komputer nie rozróżnia.
Pewnym rozwiązaniem jest nauczenie komputera o dokumencie tak dużo, jak to tylko
możliwe. Można to zrobid poprzez dodanie do tekstu pewnych informacji, które ułatwią jego
przeszukiwanie, organizowanie, przeglądanie oraz automatyczne formatowanie.
Reprezentacja tekstu w postaci elektronicznej może odbywad się na wiele różnych
sposobów (mamy wiele rodzajów plików – PDF, doc, docx, rtf, odt, ods, xls, to tylko niektóre
z powszechnie używanych formatów). Może się więc zdarzyd, że adresat elektronicznej
informacji nie będzie mógł jej odczytad, gdyż nie dysponuje oprogramowaniem zgodnym z
oprogramowaniem nadawcy. Dlatego też ustalono rozwiązania standaryzacyjne, które
określiły zasady tworzenia dokumentów w postaci elektronicznej.
Takimi rozwiązaniami są znaczniki.
Znacznik (inaczej Tag)
– w informatyce jest to znak lub słowo kluczowe
przypisane do określonego fragmentu informacji.
Znacznik
jest to specjalny tekst,
umieszczony w nawiasach ostrych.
W przypadku danych tekstowych znaczniki są stosowane do klasyfikowania
fragmentów tekstu. Znaczniki, w odróżnieniu od komend programów komputerowych, są
wplecione bezpośrednio w ciało informacji. Nie są one „wykonywane” i nie stanowią
„poleceo”, lecz są osobną formą danych, umożliwiającą wykonywanie określonych działao na
pozostałej informacji. Tagi mogą tworzyd struktury hierarchiczne oraz precyzowad swoje
znaczenie poprzez atrybuty.
1
2. Czym są języki znaczników?
Standaryzowane zbiory tagów oraz zasady ich stosowania to języki znaczników.
Najpowszechniej znanym i stosowanym od wielu lat językiem znaczników jest HTML.
Niektóre meta-języki znaczników (np. SGML lub XML) same nie mają znaczenia i służą jedynie
ujednoliceniu zapisu kolejnych języków. Inne są tworzone z myślą o konkretnym
zastosowaniu, przykładowo język HTML służy wyłącznie tworzeniu stron WWW, a język SVG -
zapisowi grafiki wektorowej. Dzięki jednolitej składni większości języków znaczników łatwo
jest przekształcid w pełne bazy danych lub formatowad i prezentowad na rozmaitych
urządzeniach.
Znaczniki najczęściej są otoczone nawiasami ostrymi lub prostokątnymi. Atrybuty
najczęściej określane są z pomocą nazwy oraz wartości otoczonej apostrofami lub
cudzysłowami.
Na przykład:
W języku
SGML
<tag atrybut='detal'>
tekst
</tag>
W języku
BBCode
[tag atrybut='detal']
tekst
[/tag]
Tekst zawarty pomiędzy znacznikami jest wyświetlany w dokumencie natomiast
znaczniki decydują o tym w jaki sposób będzie on wyświetlany, lub mówią jakie znaczenie ma
tekst zawarty pomiędzy nimi.
Wraz z upowszechnianiem się komputerów osobistych, zaczęły powstawad programy
wspomagające proces składu komputerowego. W programach tych można było definiowac
jak będzie wyglądał tekst po jego wydrukowaniu. Działały one na zasadzie wstawiania kodów
lub instrukcji formatujących w dokumencie. Wielu wydawców wprowadzało własne systemy
oznaczeo tekstowych, co stwarzało problem podczas wymiany dokumentów elektronicznych
między różnymi systemami. Konwersja automatyczna była często niemożliwa do wykonania,
a jedynym sposobem dostosowania dokumentu do określonego systemu okazywała się
"ręczna" wymiana znaczników. Kiedy wchodziły na rynek nowe, ulepszone programy rodził
się problem odczytywania dokumentów stworzonych za pomocą starych systemów. Stąd też
powstał pomysł opracowania standardowego, uniwersalnego formatu kodowania
dokumentów tekstowych. Jednym z inicjatorów tego projektu było Amerykaoskie
Stowarzyszenie Wydawców (ang. Association of American Publishers - AAP).
3. Dokumenty tekstowe jako uniwersalny nośnik informacji
Najstarszym sposobem przedstawiania tekstu jest reprezentacja znakowa. Niesie ona
wyłącznie informacje o treści, nie interesując się jego strukturą lub wyglądem. Pliki tego typu
mają zwykle rozszerzenia txt, w systemie Windows można je wyświetlid domyślnie w
programie Notatnik, ale mogą byd odczytane również przez każdy inny program.
Forma prezentacji plików tekstowych jest bardzo surowa – nie dają one możliwości
zadeklarowania stylu tekstu (pogrubienie, kursywa, podkreślenie) lub zmiany czcionki w jego
2
fragmencie. Nie może zmienid wielkości liter lub odstępów między wierszami nie mówiąc już
o bardziej skomplikowanym formatowaniu jak wzory matematyczne. Plik tekstowy jest
również ograniczony do określonego zestawu znaków.
Znakowy sposób reprezentacji tekstu ma jednak swoje zalety. Jest akceptowany przez
wszystkie obecnie funkcjonujące platformy sprzętowo-programowe. Dobrze więc służy
wymianie informacji między różnymi systemami, co stanowi ważną zaletę w zastosowaniach
internetowych. Dokumenty tekstowe, pozbawione informacji formatujących, charakteryzują
się również niewielką objętością (można to łatwo sprawdzid – ten sam tekst zapiany w pliku
typu txt, będzie miał wielokrotnie mniejszą wielkośd w bajtach niż zapisany np. w
popularnym formacie dokumentów - RTF.
Przykład:
Jeśli w edytorze tekstu zapisujesz dokument jako RTF, to znajdziesz w nim sporo znaczników. Poniższy
przykład to dokument zawierający podkreślone i pogrubione litery „abc” zapisane w programie Microsoft
Word. Format RTF wymaga zapisania tak dużej ilości znaków aby zakodowad wygląd dokumentu. Można to
zobaczyd próbując wyświetlid dokument zapisany w formacie RTF za pomocą programu Notatnik. Spróbuj
odnaleźd samą treśd czyli tekst „abc”(wskazówka: jest przy samym koocu dokumentu).
{\rtf1\ansi\ansicpg1250\uc1
\deff0\deflang1033\deflangfe1045{\fonttbl{\f0\froman\fcharset0\fprq2{\*\panose
02020603050405020304}Times New Roman;}{\f126\froman\fcharset238\fprq2 Times New
Roman CE;}{\f127\froman\fcharset204\fprq2 Times New Roman Cyr;}
{\f129\froman\fcharset161\fprq2 Times New Roman
Greek;}{\f130\froman\fcharset162\fprq2 Times New Roman
Tur;}{\f131\froman\fcharset186\fprq2 Times New Roman
Baltic;}}{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue
255;
\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green2
55\blue0;\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\
red0\green128\blue0;\red128\green0\blue128;\red128\green0\blue0;\red128\green12
8\blue0;
\red128\green128\blue128;\red192\green192\blue192;}{\stylesheet{\nowidctlpar\wi
dctlpar\adjustright \lang1045\cgrid \snext0 Normal;}{\*\cs10 \additive Default
Paragraph Font;}{\s15\nowidctlpar\widctlpar\outlinelevel0\adjustright \cbpat1
\cf8\lang1045\cgrid \sbasedon0 \snext0 odwrotny;}}{\info{\title abc}{\author
Tomasz}{\operator
Tomasz}{\creatim\yr2000\mo11\dy30\hr21\min37}{\revtim\yr2000\mo11\dy30\hr21\min
37}{\version1}{\edmins0}{\nofpages1}{\nofwords0}{\nofchars0}{\*\company }
{\nofcharsws0}{\vern73}}\paperw11906\paperh16838\margl1417\margr1417\margt1417\
margb1417
\deftab708\widowctrl\ftnbj\aenddoc\hyphhotz425\formshade\viewkind4\viewscale133
\pgbrdrhead\pgbrdrfoot \fet0\sectd
\linex0\headery709\footery709\colsx709\endnhere\sectdefaultcl
{\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang{\pntxta
.}}{\*\pnseclvl2\pnucltr\pnstart1\pnindent720\pnhang{\pntxta
.}}{\*\pnseclvl3\pndec\pnstart1\pnindent720\pnhang{\pntxta .}}{\*\pnseclvl4
\pnlcltr\pnstart1\pnindent720\pnhang{\pntxta
)}}{\*\pnseclvl5\pndec\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta
)}}{\*\pnseclvl6\pnlcltr\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta
)}}{\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang{\pntxtb (}
{\pntxta )}}{\*\pnseclvl8\pnlcltr\pnstart1\pnindent720\pnhang{\pntxtb
(}{\pntxta )}}{\*\pnseclvl9\pnlcrm\pnstart1\pnindent720\pnhang{\pntxtb
(}{\pntxta )}}\pard\plain \nowidctlpar\widctlpar\adjustright \lang1045\cgrid
{\b\ul abc
\par }}
Małą objętośd plików tekstowych można docenid, przesyłając obszerne dokumenty za
pomocą łączy o niskiej przepustowości lub przeglądając je na ekranach urządzeo o małej
mocy obliczeniowej (np. telefonów komórkowych).
3
4. Rozwój i rodzaje języków znacznikowych
Podstawą tworzenia wszystkich języków znacznikowych jest SGML (ang. Standard
Generalized Markup Language) – standardowy uogólniony język znaczników służący do
ujednolicania struktury i formatu różnego typu informacji (danych). Pozwala zapisad je w
formie dokumentu tekstowego i dzięki temu łatwo przenosid, wyświetlad i drukowad w
różnych systemach elektronicznego przekazu danych.
Za twórców języka SGML uważa się Charlesa Goldfarba, Edwarda Moshera oraz
Raymonda Loriego, którzy w 1969 roku opracowali dla IBM-u język GML (Generalized
Markup Language - również akronim nazwisk twórców). W 1980 roku powstała pierwsza
robocza wersja (working draft) standardu SGML. W 1983 roku szósta z roboczych wersji
została zarejestrowana jako standard przemysłowy. Projekt zyskał również autoryzację
Międzynarodowej Organizacji Standaryzacyjnej (ISO). W roku 1986 SGML przyjęto jako
standard międzynarodowy pod numerem ISO 8879:1986.
SGML jest międzynarodowym standardem (ISO 8879:1986) definiującym metody
reprezentacji tekstu w postaci elektronicznej, niezależnej od platformy sprzętowej i
systemu operacyjnego.
SGML jest metajęzykiem –
oznacza to, że określa on zasady tworzenia innych
języków pochodzących od niego. Takim językiem, opracowanym na bazie SGML, jest
popularny w Internecie HTML (HyperText Markup Language). SGML pozwala na oznaczanie
tekstu w sposób ogólny (ang. generic markup), zwany również oznaczaniem opisowym (ang.
descriptive markup). Umieszczone w tekście znaczniki niosą informację znaczeniową i nie
informują systemu o wyglądzie dokumentu, rodzaju użytych czcionek, rozmieszczeniu
elementów tekstu na stronie.
SGML opisuje nie tylko zawartośd dokumentu (tekst, zdjęcia, animacje), lecz również
jego strukturę logiczną (słowo, akapit, rozdział, sekcja). Obiektem opisującym tekst są
znaczniki. Na początku i na koocu każdego z nich znajdują się znaki (ograniczniki), które
pozwalają na wyraźne oddzielenie obiektów opisujących tekst od zasadniczej treści
dokumentu. Poniżej zaprezentowane zostały przykłady zastosowania znaczników.
<nazwa_znacznika> treśd </nazwa_znacznika>
Przykład definicji tytułu dokumentu stosowany w języku html:
<title>To jest treśd nagłówka dokumentu</title>
Przykład definicji własnego znacznika opisującego strukturę dramatu:
<osoba mówiąca> Hamlet </osoba mówiąca>
<wypowiedź> Byd albo nie byd. Oto jest pytanie. </wypowiedź >
4
Znacznik składa się przeważnie z dwóch części:
otwierającej (następującej przed tekstem)
zamykającej (następującej po tekście) – znacznik zamykający poznamy po tym, iż
posiada znak „/” przed swoją nazwą.
Definiując zestaw znaczników do określonych zastosowao można stworzyd własny język
wywodzący się od SGML. Rysunek 1 przedstawia niektóre języki pochodne od SGML.
Rysunek 1 Rodzaje języków znacznikowych
Najbardziej znane języki pochodzące od SGML to:
HTML i XHTML – języki do tworzenia stron internetowych,
MathML – język do edycji równao matematycznych
SVG – język do tworzenia rysunków (definiowania grafiki wektorowej)
SMIL - pozwala na wstawianie do dokumentów obrazu, animacji, muzyki oraz filmów i
umożliwia synchronizację tych elementów.
RDF - język reprezentacji wiedzy w zdao zrozumiałych dla komputera, używany w
systemach sztucznej inteligencji.
XML - uniwersalny język przeznaczony do reprezentowania różnych danych w
strukturalizowany sposób, coraz częściej wykorzystywany w komunikacji biznesowej.
Literatura
Holzner S.: XML Vademecum profesjonalisty, Wydawnictwo, Helion 2001 Rozdział 1.
http://pl.wikipedia.org/wiki/SGML
http://math.uni.lodz.pl/~zofiawal/SGML.pdf
5
Zgłoś jeśli naruszono regulamin