Tik-110.300 Datakommunikationsarkitekturer
Uppgift 7
Jörgen M Westerling
39379N
<wes@iki.fi>

XML: Framtiden för World Wide Web

<?XML!>
  1. Inledning
  2. Vad är det för fel på HTML?
  3. Vad är XML?
  4. Hur fungerar XML?
  5. Skillnader mellan XML, SGML och HTML
  6. XML-applikationer
  7. Sammandrag
  8. Källförteckning
  9. Tilläggsinformation

1. Inledning

XML (Extensible Markup Language) erbjuder äntligen en länge efterlängtad metod att föra in struktur i informationen på Internet. XML har sagts ersätta HTML och SGML på en del områden, dock inte helt och hållet. HTML har visat sig vara för enkelt för att kunna markera valfria strukturer i information och SGML i sin tur för invecklat att implementera för "lättare" applikationer. Är då XML lösningen på alla dessa problem?

XML är inte bara en "ersättare" för HTML. XML kan också användas för att beskriva all slags strukturerad information och på ett enklare sätt än SGML. XML kommer alltså att vara ett verktyg för sådana applikationer, som är lätta och inte behöver alla de mekanismer som SGML i sin helhet erbjuder.

2. Vad är det för fel på HTML?

Då HTML utvecklades var tanken att man skulle använda dess element för att markera informationen enligt betydelse utan att bry sig om hur de presenteras i en WWW-bläddrare [1]. Detta betyder alltså att man borde använda <h1> för att markera dokumentets huvudrubrik, <address> för att markera författarens kontaktuppgifter etc. Nuförtiden används elementen i HTML mest för att påverka dokumentets layout och få det att se ut såsom författaren vill. Detta försvårar eller omöjliggör optimal presentation av informationen oberoende av operativsystem och programvara.

Allt detta har lett till att programvaruutvecklare såsom Netscape och Microsoft har infört nya, egna element och attribut, med vilka man kan påverka layouten. Sålunda är dagens HTML-dokument ofta "optimerade" för en viss typ av bläddrare och kan se helt fruktansvärd ut med andra bläddrare som inte stöder de extra elementen. Vart tog alltså mjukvaruoberoendet vägen?

Ett annat problem med HTML är att det har ett relativt litet antal element, som inte på nåpot sätt kan täcka allas behov[2]. Som ett par exempel, behöver kemister markera atomer, molekyler och elektroner, medan ingenjörer kan behöva markera skruvar, muttrar och brickor. Om HTML skulle innehålla element för alla tänkbara behov, skulle språket vara så enormt att ingen skulle kunna använda det.

Ett av de största problemen, ur semantisk synvinkel, är att HTML nästan helt och hållet saknar intern struktur. Vad betyder då detta? Jo, att man kan skriva valida HTML-dokument som, då man granskar elementens betydelse och deras inbördes förhållanden, inte är vettigt uppbyggda.

Det är bl.a. dessa problem XML är lösningen till.

3. Vad är XML?

XML är ett standardförlsag som definierar en extremt enkel SGML-dialekt. XML-familjen består av tre standardförslag: XML (Extensible Markup Language), XLL (Extensible Linking Language) samt XSL (Extensible Style Language). Målet med dessa är att möjliggöra publicering, mottagning och processering av generiska SGML-dokument via World Wide Web på samma sätt som HTML möjliggör nuförtiden [3]. XML har planerats så att det skall vara lätt att implementera och vara kompatibelt med både SGML och HTML. Den andra medlemmen av XML-familjen, XLL, handlar om hur man kan konstruera linkar mellan olika objekt, både envägs tvåvägs och flerhövade dito [4]. XLL baserar sig på en till SGML relaterad standard, HyTime (Hypermedia/Time-based structuring language)[5]. XSL är ett förslag till ett stilspråk för XML-dokument med vilket man definierar dokumentens utseende i det media där de publiceras[6]. XSL uppgörs så att det skall vara kompatibelt med en annan SGML-relaterad standard, nämligen DSSSL (Document Style and Semantics Specification Language).

Följande mål har satts upp av W3C, då de har planerat XML[7]:

  1. XML skall gå att använda direkt över Internet.
  2. XML skall stöda en mängd applikationer.
  3. XML skall vara kompatibelt med SGML.
  4. Det skall vara enkelt att skriva program som kan processera XML-dokument.
  5. Antalet valfria egenskaper i XML skall hållas på ett absolut minimum, helst noll.
  6. XML-dokument skall vara människoläsbara och klara.
  7. XML skall standardiseras snabbt.
  8. XML skall vara formellt och precist definierat.
  9. Det skall vara enkelt att producera XML-dokument.
  10. Markeringsspråkets kompaktehet är av ringa betydelse.

Som sagt är XML en SGML-dialekt. HTML är definierat m.h.a. SGML. Då kunde man ju ha använt SGML i stället för XML och implementerat SGML-parsers i WWW-bläddrarna? Man valde att inte göra detta eftersom SGML är relativt invecklat och innehåller egenskaper som sällan används men som är väldigt svåra att förstå. En tydlig indikator på skillnaden i komplexitet är att SGML-standarden innehåller över 500 sidor[8], emedan XML-förslaget består av ca. 50 sidor. XML är alltså en delmängd av SGML och därför kan XML-dokument också behandlas som "rena" SGML-dokument.

Att XML kallas ett språk (L=Language) är, precis som med SGML, en aning missvisande. XML är egentligen ett metaspråk, ett språk med vilket man kan definiera andra språk. Med XML kan man alltså definiera egna element, attribut och hierarkiska konstruktioner för olika typer av dokument. Alla dessa konstruktioner och regler, som definieras i en DTD, utgör fristående markeringsspråk. Det är också meningen att XML-dokument skall kunna visas i web-bläddrare direkt utan att behöva konvertera dem till HTML först.

4. Hur fungerar XML?

Eftersom XML är ett subset av SGML, ser syntaxen för XML likadan ut som för SGML. I XML har man alltså lämnat bort en del konstruktioner från SGML som ansetts vara krångliga och sällan använda. Dessutom har man bl.a. slagit fast vilket teckenset XML använder, Unicode. I SGML kan man ju i princip använda vilka tecken man vill.

I XML finns någnting som heter ett välformat dokument (eng. well.formed). Kravet att XML-dokumenten skall vara välformade har specifierats för att applikationer skall ha lätt att läsa XML-dokument och för att det skall vara lätt att distribuera XML-dokument i nätverk. I SGML-applikationer, måste dokumentdefinitionen, DTD:n, följa med dokumentet för att man skall kunna tolka dokumentet. Välformade XML-dokument gör det att man inte behöver ha en DTD för att kunna läsa ett dokument. Ett välformat XML-dokument måste uppfylla följande krav:

Å andra sidan kan man också i XML distribuera DTD:n med dokumentet och således låta bli att uppfylla alla de ovannämnda kraven. I detta fall har man ett korrekt dokument.

Hur XML och de andra standarderna i familjen kommer att utvecklas och vilken deras funktionalitet kommer att bli vet man inte ännu, men W3C har sagt att en officiell version 1.0 av dem kommer att publiceras i slutet av detta år eller i början av nästa.


1. I XML-dokument liksom i SGML-dokument markerar man dokumentets struktur och logiska innhåll med s.k. tagar (eng. tag). En tag har en motsvarande sluttag och mellan dessa finns elementets innehåll. T.ex. <blomma>Kaktus</blomma>

5. Skillnader mellan XML, SGML och HTML

De system som idag använder SGML kan enkelt övergå till att använda XML [9]. XML är ett subset av SGML och därför är konversion från XML till SGML enkel. Det finns ett par aspekter där XML och SGML är annorlunda:

Om man jämför XML, SGML och HTML på basen av antalet och typen av tagar de tillåter användas i dokument, kan man konstatera att både XML och SGML har ett odefnierat vokabulär på det sättet att man kan definiera vilka som helst tagar och hur många som helst. HTML däremot har ju att fast antal tagar vilka användaren inte kan påverka på något sätt. Detsamma gäller elementens attribut.

Samma jämförelse kan göras med de producerade dokumentens struktur. I XML- och SGML- dokument kan strukturen själv definieras och den kan vara godtyckligt komplex. HTML har en väldigt grund struktur som är nästan linjär.

Till HTML:s fördelar hör ju simpliciteten. HTML har ett litet antal element och attribut som är lätta att använda. SGML har ansetts vara komplext med alla sina finesser och därför har man tagit fram XML som skall falla någonstans mittimellan.

6. XML-applikationer

Fastän standarderna för XML-familjen inte är fastslagna ännu, finns det en del applikationer som redan använder sig av XML. Här några exempel på dessa.

MathML - Mathematical Markup Language [10]

Ett projekt inom W3C för att beskriva matematiska konstruktioner på ett strukturerat, standardiserat sätt.

CML - Chemical Markup Language [11]

En XML-applikation utvecklad av Professor Peter Murray-Rust med vilken man kan modellera kemiska fenomen och reaktioner. Med CML kan man t.ex. beskriva en molekylstruktur och sedan framställa den som en tredimensionell modell med mjukvara som stöder CML (ex. Jumbo).

RDF - Resource Description Framework [12]

En standard under utveckling i W3C med vilken man skall kunna beskriva all slags metainformation i nätverksmiljö.

MML - Multimedia Markup Language

En verkligen intressant XML-applikation som även den utvecklas av W3C. MML skall bli en standard för interaktiva multimediaegenskaper på nätet där olika komponenter ss. bild, video, audio och text integreras.

Förutom dessa finns det en hel del andra projekt på gång som involverar XML och man kan lugnt påstå att XML har fått en stormande mottagning fastän standarderna inte ens är färdiga ännu. Det pågår också mycken utveckling hos verktygstillverkare i samband med XML.

7. Sammandrag

Den största kraften bakom XML har definitivt varit WWW-världen. I.o.m. detta har XML fått en sådan draghjälp som SGML aldrig har haft. XML har vunnit lika mycket förtroende under sitt ena år som SGML har fått under hela sin 10-åriga existens.

Det som har lyckats speciellt bra med XML är att man har haft som mål att framställa en standard där saker är lätta att göra och passar in i WWW-världen.

Slutligen tror jag inte att XML kommer att ersätta SGML i tyngre industriellt bruk, men kommer att öka strukturell behandling och lagring av information på sådana områden där det tidigare inte varit möjligt. Vad XML slutligen blir vet ingen ännu, men det närmaste halvåret kommer att bli en intressant tid då standarden fastlås och flere och flere programvarutillverkare gör applikationer med stöd för XML.

8. Källförteckning

[1] Garshol, L M. Introduction to XML. 01.10.1997. [online]. [refererad 29.10.1997]. <URL:http://www.ifi.uio.no/~larsga/download/xml/xml_eng.html>. ****

[2] Bosak J. XML, Java, and the future of the Web. 03.10.1997. [online]. [refererad 29.10.1997]. <URL:http://sunsite.unc.edu/pub/sun-info/standards/xml/why/xmlapps.htm>. ***

[3] W3C. Extensible Markup Language (XML), W3C Working Draft 07-Aug-97. 07.08.1997. [online]. [refererad 29.10.1997]. <URL:http://www.w3.org/TR/WD-xml.html>.***

[4] W3C. Extensible Markup Language (XML): Part 2. Linking, W3C Working Draft July-31-97. 31.07.1997. [online]. [refererad 29.10.1997]. <URL:http://www.w3.org/TR/WD-xml-link.html>. ***

[5] Bos B. 1997. The potential of XML for web-based applications. INRIA, Sophia Antipolis, Nizza, Frankrike, 23-24.10.1997. ***

[6] W3C. A Proposal for XSL. 27.08.1997. [online]. [referrerad 29.10.1997]. <URL:http://www.w3.org/TR/NOTE-XSL-970910>. **

[7] Graphics Communications Association. What is XML? 27.10.1997. [online]. [refererad 29.10.1997]. <URL:http://www.gca.org/conf/xml/xml_what.htm>. ***

[8] ISO 8879. 1986. Information Processing - Text and Office Systems - Standard Generalized Markup Language (SGML). ISO. 500 s. ****

[9] Vendelin, T. 1997. XML on ammattilaisen vaihtoehto HTML:lle. SGML Finland 1997, Vaasa, 9-10.10.1997. Espoo. SGML Käyttäjäkerho. pp. 142-153. ***

[10] W3C. Mathematical Markup Language - W3C Working Draft. 10.07.1997. [online]. [referrerad 31.10.1997]. <URL:http://www.w3.org/TR/WD-math/>. ***

[11] Murray-Rust P. CML. Jan 1997. [online]. [referrerad 31.10.1997]. <URL:http://www.venus.co.uk/omf/cml/>. ****

[12] W3C. Resource Description Format (RDF). 03.10.1997. [online]. [referrerad 31.10.1997]. <URL:http://www.w3.org/Metadata/RDF/>. ***

9. Tilläggsinformation

Cover R. Extensible Markup Language (XML). 30.10.1997. [online]. [refererad 31.10.1997]. <URL:http://www.sil.org/sgml/xml.html>. ****

Flynn P (ed). Frequently Asked Questions about the Extensible Markup Language. 01.10.1997. [online]. [refererad 31.10.1997]. <URL:http://www.ucc.ie/xml/>. ****

Graphic Communications Association. XML Files - The XML Magazine. 20.09.1997. [online]. [refererad 31.10.1997]. <URL:http://www.gca.org/memonly/xmlfiles/issue1/xmlfile.htm>. **

Imperial College Computer Centre. Archive of xml-dev. 30.10.1997. [online]. [refererad 31.10.1997]. <URL:http://www.lists.ic.ac.uk/hypermail/xml-dev/>. ***


HTML 3.2 Checked! Last modified: Fri Oct 31 16:23:02 1997
by: Jörgen M Westerling