55
KARTOGRAFISCH TIJDSCHRIFT
2000-XXVI-3
steunt. Veel Javascript functies in Internet Explorer zijn anders
geimplementeerd, en het lijkt er op dat Microsoft in de toe-
komst de voorkeur gaat geven aan Visual basic Scripts in com-
binatie met ActiveX-elementen. Deze trend maakt het niet een-
voudig om Scripts te schrijven die 'browser'-onafhankelijk zijn.
We hopen dat de volgende generatie browsers meer compatibel
zal zijn met de officiele standaards van het World Wide Web
Consortium dan de huidige (4e) generatie. De huidige beta-
versie van Mozilla (Netscape Navigator 6) is in dat opzicht
veelbelovend, met zijn ondersteuning van een aantal open stan-
daarden, waaronder dom (Document Object Model) en xml
(eXtensible Markup Language).
Het gebruik van plugins is niet erg populair, maar is voor
sommige doeleinden onvermijdelijk. Momenteel worden in de
atlas plugins gebruikt voor de weergave van 3D-gegevens (vrml
en in de toekomst X3D-plugins) en 00k voor de integratie van
vectorgegevens (in afwachting van de ondersteuning van het
svG-formaat in de nieuwere browsers). Netscape en Microsoft
gebruiken verschillende strategieen voor een communicatie
tussen plugins en javascript. Netscape levert daarvoor de eai
(External Authoring Interface), terwijl Microsoft daarvoor zijn
eigen techniek (ActiveX) heeft.
Een oplossing om browser-onafhankelijke interactiviteit te le-
veren zou zijn het zoveel mogelijk op de Server te laten plaats-
vinden door het gebruik van CGi-scripts die bepaalde parame-
ters oppakken, ze evalueren, bepaalde programma's of Scripts
op de Server draaien en de Output weer terugsturen naar de
klant. Deze opzet zou resulteren in een identieke functionali-
teit bij praktisch elke browser die nu op de markt is. Maar
deze browser-onafhankelijkheid zou in sommige gevallen re
sulteren in matige prestaties omdat meer gegevens via het
Internet overgebracht moeten worden, hetgeen natuurlijk niet
het gewenste resultaat is. Dat betekent dat we voor elk apart
geval na moeten gaan of communicatie tussen client en Server
gewenst is dan wel noodzakelijk.
Thans in gebruik zijnde data formats en standaarden
Natuurlijk gebruiken we de officiele Open Internet Data for
mats, waarvan men de specificaties kan vinden op
http://www.w3.0rg [W3 Org, 2000]. Voor het structureren van
documenten gebruiken we html (Hyper Text Markup Langu
age); voor het opstellen van specificaties voor de uiteindelijke
lay-out en het format gebruiken we css (Cascading Style
Sheets). Het voordeel van het gebruik van stijlbladen ligt in
het feit dat structureren en formatteren gescheiden zijn, en dat
betekent weer dat men het uiterlijk van veel HTML-pagina's
kan wijzigen door simpelweg een enkel stijlblad te wijzigen,
een techniek die bekend is uit de tekstverwerkingssoftware.
Voor rastergrafiek hebben we de gewone Internet grafische
formats gif, jpeg en png gekozen, al naar gelang van de vereis
te diepte en variatie van de kleuren en de compressietechniek.
Bestanden met grotere, homogene vlakken worden bij voor
keur opgeslagen met gif of png. Het PNG-format is een uit-
breiding van het GiF-format doordat het alphakanalen onder-
steunt, evenals gamma-correctie en tweerichtings 'interlacing'
(waardoor een plaatje eerst in grove resolutie verschijnt om in
een aantal slagen kwalitatief steeds beter te worden). Andere
verschillen zijn dat png een grotere kleurdiepte ondersteunt
dan gif, maar tegelijkertijd een enkelvoudig beeldformat is,
wat betekent dat het niet gebruikt kan worden voor animaties.
Deze laatste beperking zal in de toekomst gecompenseerd wor
den door het MNG-format dat vergelijkbare, maar licht afwij-
kende opslag- en compressiemethoden gebruikt. Beeiden met
een meer intense kleurenvariatie en kleurendiepte (zoals foto's)
die niet perse verliesloze compressie vereisen, worden opgesla
gen met het jPG-format.
Toekomstige Dataformats: xml,
vectorbestanden, 3D en Multimedia
De opvolger van HTM14 wordt xhtml, gebaseerd op xml (eX
tensible Markup Language). Zoals de naam al aangeeft zal
men deze nieuwe standaard kunnen uitbreiden, wat betekent
dat elke auteur zijn eigen tags en formaten erin kan opnemen.
xml is nauw verwant met sgml (Standard Generalised Mark
up Language), een meta-taal die beschrijft hoe een document
is gestructureerd. XML-bestanden kunnen zowel data bevatten
(opslageenheden/entities) en dtd's (Document Type Declara-
tion - markups) die beschrijven hoe de opslag van de gegevens
gestructureerd is en het mogelijk maakt de syntax te controle-
ren. XML-files moeten 00k verwerkingsinstructies bevatten
voor de applicaties die de gegevens lezen. Om voor de browser
te beschrijven hoe de XML-data afgebeeld moeten worden (bij-
voorbeeld of er tabellen gebruikt moeten worden, of er bereke-
ningen moeten worden uitgevoerd of plaatjes worden afbeeld)
wordt xsl (eXtensible Stylesheet Language) gebruikt. xml is
de basis voor alle toekomstige www-standaarden zoals svg,
smil, X3D, MathML, gml en andere. Behalve voor web-techno-
logie, zal xml in de toekomst 00k belangrijk zijn voor de uit-
wisseling van andere data, zoals databases en 'office'-documen-
ten (tekstverwerking, spreadsheets, grafieken enz.). Toekomsti
ge 'office'-applicaties zullen het XML-formaat direct ondersteu-
nen. Daarom zijn 00k xml 'parsers' (in- en uitvoermodules)
ontwikkeld voor alle belangrijke programmeertalen, als C,
C++, Java, Delphi, Visual Basic, perl enzovoort.
Een van de grootste problemen van de huidige generatie brow
sers is het gebrek aan ondersteuning van gestandaardiseerde
vectorbestandsformaten. Er bestaan een aantal plugins (Flash,
Acrobat), maar voor de meeste ervan is een licentie nodig.
Weliswaar kunnen ze vector graphics zeer snel weergeven, de
meest geavanceerde compressietechnieken gebruiken en zoom-
ing en panning technieken mogelijk maken, maar het zijn
geen open standaarden en ze kunnen niet via Scripting aange-
stuurd worden. Bovendien heeft men voor hun gebruik de zo-
veelste plugin nodig die weer moet worden gedownload en
gei'nstalleerd. De oplossing hiervoor wordt geboden door svg
(Scalable Vector Graphics), svg is een hybride format dat zo
wel vector- als rastergraphics ondersteunt (en dus vergelijkbaar
is met het huidige inbedden van gif-, jpg- en PNG-bestanden
in html). Daarnaast worden 00k tekst, Alters, animatie en
Scripting ondersteund. Bovendien is svg geimplementeerd in
het eerder genoemde xml, zodat de vector graphics geheel op-
genomen zijn in het dom (Document Object Model). Daar-
door is de controle over opmaak en funcionaliteit, middels re-
spectievelijk stijlblad en Scripting, gegarandeerd. Ook kunnen
metadata, Object id's en objecten uit andere 'namespaces' (zo
als andere XML-data) worden ingebed. De ondersteunde grafi
sche primitieven zijn lijnen, rechthoeken, cirkels, ellipsen, po-
lylijnen, polygonen, taartpunten en paden. Verder zijn een
aantal lijn- en vlakstijlen beschikbaar, zoals gradienten, vector-
vullingen, patronen en dergelijke. Rasterbeeiden kunnen wor
den gemanipuleerd door middel van diverse Alters. Objecten
kunnen onder andere worden geclipd, gemaskeerd, geroteerd
en verschaald. Feitelijk is bijna alle functionaliteit die verwacht
mag worden van een grafische applicatie in de specificaties op-
genomen. Voor kartografische toepassingen is het enige wat
ontbreekt de mogelijk van projecties - alleen eenvoudige affine