Gebruik van open standaarden binnen content management



Vergelijkbare documenten
Zelftest XML Concepten

XML Introductie.

De mogelijkheden van XML voor de langdurige bewaring van digitale documenten. DAVID studiedag 30 nov 2000

Correspondentie inzake overnemen of reproductie kunt u richten aan:

XML Introductie.

Module V - XML. Stefan Flipkens - Cursus: Internet - Intranet ( ) V 1

Research & development

Versie 0.4. Documentatie Onsweb Club plugin voor KNKV verenigingen. Laatste wijziging: 19 juli 2012 Auteurs: Marien Dongstra, Sebastian Huisman

Dit voorbeeldproject beschrijft het gebruik van web services (open standaarden) voor de ontsluiting van kernregistraties bij de gemeente Den Haag.

icafe Project Joeri Verdeyen Stefaan De Spiegeleer Ben Naim Tanfous

XML. Alle tekortkomingen op een rijtje! (en een paar pluspunten...) Marc de Graauw

Schrijven voor het web. 1TIN Internettechonologie les 02 1

Omzeil het gebruik van mappen en bestanden over Wiki s en het werken in de 21 e eeuw

Module II - Enkele Begrippen

Technisch Ontwerp W e b s i t e W O S I

Info-books. Toegepaste Informatica. Deel 35: XML - XSL HO35. Jos Gils Erik Goossens

Een webpagina maken. Een website bouwen met HTML en CSS practicum 1

DocBook XML documenten bewerken

Flexibiliteit en Duurzaamheid: Teksttechnologie en Museumdocumentatie

Handleiding CMS. Auteur: J. Bijl Coldfusion Consultant

Software 1. Basis HTML. bachelor grafische en digitale media cross-media ontwerp & grafimediatechnologie academiejaar semester 1

Een ASP.NET applicatie opzetten. Beginsituatie:

Wat betekent XML voor software engineers?

HTML & CSS DEEL 1. webdesign. Programmeren met CodeAcademy

Handleiding website. Inloggen Start uw internet browser en ga naar Laatst bijgewerkt: 17 mei 2008

BEFDSS. Het Belgische uitwisselingsformaat voor onderzoekgegevens afkomstig van visueel rioolonderzoek. 1/12/ / 6

Calligra. Algemene inleiding. Raphael Langerhorst Jost Schenck Vertaler/Nalezer: Natalie Koning

Correspondentie inzake overnemen of reproductie kunt u richten aan:

Handleiding website. Inloggen Start uw internet browser en ga naar

Dynamische webapplicaties in Java

Ontwikkelaars van BIR Open BIM Standaarden en softwareleveranciers

Bericht Creëren en versturen binnen Wes 4 U mail

Als eerste bedankt voor het aanschaffen van deze PDF waarin ik je handige tips en trucs zal geven over het schrijven van een handleiding.

Handleiding wordpress

LES 2 INDERDAAD, JE MOET DE WEBBROWSER AANWIJZINGEN GEVEN, MAAR DAN WEL VOLGENS DE AFGESPROKEN REGELS

HTML Graphics. Hans Roeyen V 3.0

Handleiding Wordpress

XML: de eend met de gouden eieren?

Les 10 : Aanmaken van een database (deel2).

Het ontwikkelen van XML-tools

Websitecursus deel 1 HTML

HTML en CSS. Je website bestaat uit HTML. Dat is een taal die browsers (Internet explorer, Chrome, Safari) kunnen lezen.

Web building gevorderden: CSS & JavaScript. Karel Nijs 2008/11

Rd 1 MULTIMEDIA DEEL2

Documentatie. InstantModules Q42. Versie 1.1

ONDERZOEK NAAR DE ZOEKMACHINE VRIENDELIJKHEID VAN COMMERCIËLE,

De Kleine WordPress Handleiding

HTML Editor: de eerste stappen

Portability, Interoperability of toch maar Connectivity Portability, Interoperability of toch maar Connectivity.

Bestaat er serieus onderwijs in het maken van websites?

Program overview. Year 2013/2014 Electrical Engineering, Mathematics and Computer Science

Leerjaar 1/2 ICT-Academie. Niveau 4. Applicatie ontwikkeling

Een website omzetten naar WordPress

Powerpoint presentatie College 5 Gilbert van Lierop & Farshad Salamat

Versie 0.2. Documentatie Onsweb Club plugin voor NHV verenigingen. Laatste wijziging: 10 mei 2013 Auteurs: Marien Dongstra, Sebastian Huisman

Adlib Gebruikersdag adlibxml/xslt in de praktijk Breukelen 2 mei 2013 Solino de Baay s.debaay@adlibsoft.com

Zelftest Informatica-terminologie

Exercise assistant on-line

WebHare Professional en Enterprise

A SIMsubsites algemeen A-1. B Beheren van subsites B-1

ActiveBuilder Handleiding

Inhoud. Introductie tot de cursus

open standaard hypertext markup language internetprotocol transmission control protocol internet relay chat office open xml

ETIM UP Handleiding Ketenstandaard Bouw en Installatie Versie:

Zelftest Java EE Architectuur

Handleiding bij het Content Management Systeem

Zelftest Internet concepten en technieken

Taxis Pitane SQL beheerder. Censys BV - Eindhoven

TranSearch WEBPlus. Overzicht

Eenvoud, kracht en snelheid

Maak kennis met XML. Introductie. LinuxFocus article number door Floris Lambrechts <floris/at/linuxfocus.

Leerlingdossier & handelingsplannen. Welke mogelijkheden biedt de online tekstverwerker in ESIS? FAQ

Frontend ontwikkeling

Introductie OWMS 3.5

Inhoud. Introductie tot de cursus

Web building basis: HTML. Karel Nijs 2008/09

Toelichting op enkele knoppen: (als u de muis bij een knop houdt, verschijnt een tekst met een korte aanwijzing (tooltip) bij deze knop).

Workflow Verrijkte Documenten

Het Wepsysteem. Het Wepsysteem wordt op maat gebouwd, gekoppeld aan de gewenste functionaliteiten en lay-out van de site. Versie september 2010

ECTS fiche. Module info. Evaluatie. Gespreide evaluatie OPLEIDING. Handelswetenschappen en bedrijfskunde HBO Informatica

Informatie & Databases

Eigen Widgets in CRM. Introductie. Limitering. Widgets beschikbaar stellen. Tips & Tricks Eigen Widgets in CRM

Handleiding GVOP Wordimport 2.0

Tweakers Pricewatch. Specificaties productfeed

Vakinhoudelijke uitwerking Keuzevak Applicatieontwikkeling van het profiel MVI vmbo beroepsgericht

1.7 Ontleding van het eerste programma... 14

Snel en efficiënt informatie archiveren en delen met anderen

A Inloggen. B - Wachtwoord Veranderen

Selenium IDE Webdriver. Introductie

Enterprise Connectivity. Marnix van Bo. TU Delft Elek Software Architect 20 jaar ervarin ontwikkeling

Standaard-URI's naar Jurisprudentie met behulp van de European Case Law Identifier (ECLI)

NVU work shop. Kees Moerman November Overzicht van een web site. Wat is een web site HTML files

Taakcluster Operationeel support

HTML. Media. Hans Roeyen V 3.0

Rapporten. Labels en Rapporten in Atlantis 1. Atlantis heeft twee manieren om output te genereren: 1. labels 2. rapporten (reports)

LES 1: AAN DE SLAG MET WORDPRESS. Lesoverzicht: Aan de slag Wat is WordPress CMS Front-end Back-end Samenvatting. Tijd: 5 minuten

Gebruik van cryptografie voor veilige jquery/rest webapplicaties. Frans van Buul Inter Access

DATAMODELLERING CRUD MATRIX

Programming Content Management Server 2002

Transcriptie:

Gebruik van open standaarden binnen content management binnen QRS. Door Benoît Marchal, auteur van deze inleiding. De inhoud van deze inleiding is door de auteur gepresenteerd door middel van een PowerPointpresentatie tijdens het QRS - seminar, 6 juni 1999. Het seminar werd georganiseerd ter gelegenheid van de introductie van het SGMLgebaseerde content management systeem voor de creatie, onderhoud en publicatie van procesgerelateerde handboeken binnen QRS. Vertaling: Hein van Uum, 15 november 1999

Inhoudsopgave Inhoudsopgave...1 Over de auteur...2 Over Pineapplesoft...2 Content Management...3 Database voor Gestructureerde Informatie...3 XML...4 Achtergrond van XML...4 Structuur en XML...5 Syntax...6 XML Schema...8 Document Type Definition...9 XML Namespaces...11 XML gebruiken...12 Document Object Model...13 XML Editor...14 Bekijken en afdrukken...15 XML en Intranet...17 Samenvatting...20 Bijlage: figuren en overzichten...21 1

Over de auteur Benoît Marchal is een software engineer met een brede ervaring als Java en XML consultant. Hij is gevestigd in Namen, België en heeft zijn eigen software bedrijf, Pineapplesoft. Hij doceert en schrijft graag. Zijn eerste boek: XML by Example, verschijnt eind 1999 bij QUE. Benoît kan via email: bmarchal@pineapplesoft.com worden bereikt. Over Pineapplesoft Pineapplesoft is Benoît Marchal s adviesbureau. Pineapplesoft is een toonaangevend leverancier van diensten en informatie over SGML, XML, Java en electronic commerce. Bezoek voor meer informatie over deze producten en diensten: www.pineapplesoft.com Wij stellen prijs op uw reacties. Als u vragen of suggesties heeft, gelieve te gebruiken: info@pineapplesoft.com Gratis rondschrijven Indien u regelmatig wenst te worden geïnformeerd over onze seminars, boeken, artikelen en andere producten en diensten, abonneer u dan gratis op Pineapplesoft Link : www.pineapplesoft.com/newsletter Pineapplesoft Link is een webmagazine voor ontwikkelaars, webmasters, systeem architecten en software engineers. Maandelijks ontvangen zij berichten over softwareen technologie-ontwikkelingen alsmede nieuws over Pineapplesoft. 2

Content Management Een feit is dat 90% van door organisaties beheerde en bewerkte informatie niet geschikt is om te worden ondersteund door de traditionele databasesystemen. Het betreft de zogenaamde ongestructureerde informatie. Het zijn handleidingen, rapporten etc. Zie figuur 1. Figuur 1: Gestructureerde versus ongestructureerde informatie. Uiteraard worden computers en - in het bijzonder tekstverwerkers - gebruikt om documenten te maken en op te slaan. Dit gebruik staat echter niet in verhouding tot de schaal waarop dit gebeurt met betrekking tot de financiële informatie -aandelen /boekhouding - de zogenaamde gestructureerde informatie. Computers worden in de financiële wereld vooral gebruikt voor het maken van gestructureerde informatie. Bij voorbeeld, analyses en data mining worden gebruikt om rapporten samen te stellen en voor het ordenen van andere nuttige informatie afkomstig uit allerlei Enterprise Resource Planning -pakketten. Op de desktop verschaft een spreadsheet-programma krachtige mogelijkheden voor het bewerken van financiële data. Dit rapport biedt u een inleiding tot XML en de XML-voorganger, SGML. Na lezing is het u duidelijk hoe een aantal innovatieve ideeën uit de wereld van XML en SGML, een kader voor geformaliseerde structuur biedt aan ongestructureerde informatie. Bovendien begrijpt u hoe door het gebruik van databasetechnologie en -software het mogelijk is deze informatie te bewerken, nieuwe informatie uit bestaande informatie af te leiden, op dezelfde wijze als waarop rapporten worden samengesteld gebaseerd op het gebruik van gestructureerde informatie. Database voor Gestructureerde Informatie Gestructureerde data worden opgeslagen en bewerkt in databases. Als we de functionaliteiten van deze databases nader beschouwen, blijkt dat zij een mechanisme kennen om de: data-organisatie formeel te beschrijven: het databaseschema; data te bewerken: de query taal. 3

Deze mechanismen zijn noodzakelijk. Het formele schema betekent dat het mogelijk is data te bewerken door toepassing van wiskundige concepten. Bij voorbeeld, SQL Databases, zijn gebaseerd op relationele algebra. Hetzelfde geldt voor de query taal, het mechanisme om data te bewerken. Het maakt wiskunde praktisch en bruikbaar. Figuur 2 illustreert dit. Het databaseschema is een geschikte structuur voor bewerking van documenten, zoals rekeningen en andere formele bescheiden. Figuur 2: Gestructureerde informatie. XML XML is het acroniem van extensible Markup Language. XML is ontwikkeld en gepubliceerd door het W3C, het World Wide Web Consortium. Het W3C geeft onder andere ook leiding aan de standaardisering van HTML. De webpagina voor XML is: www.w3.org/xml Achtergrond van XML Het woord markup is afgeleid van de in uitgeverijen gebruikte term: mark-up. Markup betreft de aan een document toegevoegde annotaties, bij voorbeeld als aanwijzing (voor de drukker) dat voor de opmaak van een bepaalde zin, een bepaald lettertype, in de vette of schuine variant moet worden toegepast. Markup als één woord geschreven is de elektronische versie van deze aanwijzingen. In de praktijk wordt markup gebruikt om aan een document informatie over structuur of opmaak toe te voegen. De markup technologie is niet nieuw. Het werd voor het eerst toegepast in een publicatie-omgeving als Te X. Vervolgens kwam SGML, de Standaard Generalized Markup Language, een ISO-standaard (1986) voor elektronische documenten. SGML voegde daaraan een formele taal toe voor de beschrijving van de markup, vergelijkbaar met een databaseschema. SGML bewees zich door gebruik in vele industrietakken als een zeer populaire standaard. 4

Vooral in defensiegerelateerde industrieën (luchtvaart, automobiel) en (inter)nationaal opererende uitgeverijen. SGML diende als basis voor HTML, de populaire Webtaal. HTML is even succesrijk als beperkt. Veel Web-applicaties vereis(t)en flexibelere oplossingen dan HTML biedt en kan bieden. Dit heeft geleid tot de ontwikkeling van XML. Waarom een nieuwe standaard ontwikkelen terwijl SGML en HTML reeds beschikbaar zijn? Kort geformuleerd: omdat SGML te complex is en HTML te simpel. XML zou iets in het midden moeten opleveren: zo krachtig als SGML en zo eenvoudig als HTML. Dit leidde tot de uitdrukking: XML biedt 80 % van de SGMLkracht tegen 20 % van de (implementatie)kosten. Doel van de XML-ontwikkeling was het bieden van een flexibelere oplossing dan HTML. Daarom moesten dus wel enige van de SGML-functionaliteiten worden geleend. De geleende functionaliteiten moesten bovendien even zo eenvoudig in gebruik en implementatie zijn als HTML. Voor Europeanen is XML aantrekkelijk omdat het is gebaseerd op Unicode. Unicode is een 16 bit tekenset waarmee alle (letter)tekens worden ondersteund van alle gesproken West-Europese talen (Nederlands, Frans, Duits, etc.) maar ook die gebruikt in de meer exotische talen als Grieks en Japans. Voor de ondersteuning van deze tekens moet Unicode echter beschikken over 16 bits coderingmogelijkheden. Dat is het dubbele van ASCII of EBCEDIC. Gelukkig is het ook mogelijk om XML documenten te schrijven en daarbij gebruik te maken van een 8 bits tekensets of subsets van Unicode, zoals UTF-8, Latin-1 etc. Voor de West- Europese tekens zijn de resulterende bestanden niet groter dan die zouden zijn ontstaan bij gebruik van ASCII. Toch blijft de Unicode-kracht onder de oppervlakte beschikbaar. Structuur en XML Het concept achter XML -en ook van SGML - is dat er een structuur bestaat in zo genoemde ongestructureerde informatie. Maar dat deze structuur verschilt van die welke typisch wordt gebruikt in zogenoemde gestructureerde informatie. Figuur 3 illustreert dit. Figuur 3: Ieder document heeft een structuur. 5

Het document, gerepresenteerd in figuur 3, bestaat uit: een titel; een auteur; kernwoorden enkele alinea s. Hoewel er een relatie bestaat tussen de structuur en de opmaakkenmerken van dit document, moeten deze niet met elkaar worden verward. Het concept van een titel is niet afgeleid van het feit dat die is weergegeven in vet en - ten opzichte van de overige tekstdelen - door een groter lettertype. Ook bij gebruik van andere opmaakkenmerken, verandert de functie van de titel niet. Uiteraard heeft het voor de documentrepresentatie gebruikte medium (scherm of papier) een zeer grote invloed op de verschijningsvorm van het document. Bij voorbeeld: een schuin gedrukte letter is goed leesbaar op papier maar wordt als minder leesbaar aangemerkt voor gebruik op het scherm. De verschijningsvorm van tekstdelen is gerelateerd aan de structuur omdat deze kunnen worden afgeleid van de structuur. Bij voorbeeld: alle titels worden vet gedrukt. XML/SGML generaliseert het concept van samenhang tussen structuur en opmaak door het bieden van procesmatige (processor-gebaseerde) ondersteuning van die samenhang. Het blijkt namelijk dat veel van deze ondersteuning is afgeleid van de (document)structuur. Bij voorbeeld: een inhoudsopgave is een lijst van titels, dus kan worden samengesteld door gebruik te maken van deze structuurinformatie. Hetzelfde geldt voor het samenstellen van een index van woorden of begrippen. Door het onderkennen van het feit dat de structuur bepalend is voor het maken en onderhouden van documenten, verschaft XML/SGML krachtige instrumenten voor de organisatie van deze structuren. Meer bepaald: het beschrijft de structuur, eenmalig en toereikend voor toekomstige processorgebaseerde ondersteuning, in de vorm van beschrijvende markup in plaats van de benodigde informatie voor documenrepresentatie op enig medium. het is strikt, dus de reeds beschikbare technieken voor processorgebaseerde, strikt gedefinieerde objecten (programma s en databases) kunnen daarom ook voor documenten worden toegepast. In de praktijk betekent het dat XML/SGML markup leent van zowel de publicatietechnologie als van het schema van databases. Syntax De syntax van XML is vergelijkbaar met die van HTML. Dit is ook logisch omdat beide immers zijn afgeleid van SGML. Praktisch betekent dat er tags = labels aan een document zijn toegevoegd. Deze labels typeren de structuur van de door deze labels omgeven tekstdelen binnen een document. Zie figuur 4. 6

Figuur 4: Van documentstructuur naar het elektronische equivalent. Zoals in HTML en SGML, bestaan ook XML-labels uit een naam van een element geplaatst tussen. Zoals ook mogelijk is met HTML, kan, door middel van een of meer attributen, extra informatie aan een label worden toegevoegd: Overzicht 1: Twee XML-elementen. <hoofdstuk nr="hfd1"> <p>when Mr. Bilbo Baggings of Bad End...</p> </hoofdstuk> Een groot verschil met HTML is dat deze labels niet zijn voorgedefinieerd. De labels worden door gebruikers gemaakt om de specifieke structuur van het document in uit te drukken. Dit is het meest zichtbare verschil met HTML. Voorts is XML-syntax strikter dan die van HTML. Elementen moeten zijn omgeven door een begin- en eindlabel, terwijl het gebruik van eindlabels binnen HTML vaak optioneel is. De attributen moeten zijn omgeven door aanhaaltekens, terwijl het gebruik van deze tekens binnen HTML optioneel is. Laat we eens een complexer voorbeeld bekijken. Overzicht 2 representeert een verder uitgewerkt XML-document. Overzicht 2: Een uitgewerkt XML-document <?xml versie="1.0"?> <boek> <info> <titel>the Lord of the Rings</titel> <auteur>j.r.r. Tolkien</auteur> </info> <hoofdstuk nr="hfd1"> <p>when Mr. Bilbo Baggings of Bad End...</p> </hoofdstuk> </boek> 7

De eerste regel van het document wordt de XML-declaratie genoemd. Het bevat de informatie over de gebruikte versie en syntax. In dit geval wordt XML-versie 1.0 alsmede Unicode als tekenset gebruikt. In dit geval ISO 8859-1, ook bekend als Latin- 1, de standaard tekenset van Windows. Overzicht 3: Unicode verbijzonderen. <?xml version="1.0" encoding="iso-8859-1"?> De syntax is, zoals we eerder hebben gezien, voor elementen zeer vergelijkbaar met die zoals gebruikt binnen HTML. Omdat elementen kunnen worden genest, is het mogelijk relaties aan te geven; een paragraaf is een onderdeel van een hoofdstuk. Lege elementen kennen een bijzondere syntax, namelijk: begin - en eindlabels vallen samen. De twee volgende regels zijn daarom gelijkwaardige uitdrukkingen, zij geven bij uitvoering ieder als resultaat dat het tolkien.gif (plaatje) aan het document wordt toegevoegd. Overzicht 4: Lege elementen kennen een bijzondere syntax. <img src="tolkien.gif"></img> <img src="tolkien.gif"/> XML Schema Zoals we hebben gezien lijkt XML op HTML maar kent het niet de beperking van voorgedefinieerde labels. We kunnen de labels maken op het moment dat we ze nodig hebben én afstemmen op de specifieke structuur van een document. Vergelijk, om dit te begrijpen, de overzichten 5 en 6 met elkaar. Deze bevatten de eerste woorden van hetzelfde boek, eerst in HTML: Overzicht 5: Tolkien in HTML. <HTML> <HEAD> <TITLE> The Lord of the Rings </TITLE> </HEAD> <BODY> <H1>The Lord of the Rings</H1> <P>J.R.R. Tolkien <P>When Mr. Bilbo Baggings of Bad End... </BODY> </HTML> 8

en dan in XML: Overzicht 6: Tolkien in XML. <?xml version="1.0"?> <boek> <info> <titel> The Lord of the Rings </titel> <auteur> J.R.R. Tolkien </auteur> </info> <hoofdstuk nr="hfd1"> <p>when Mr. Bilbo Baggings of Bad End...</p> </hoofdstuk> </boek> In het HTML-deel zijn de voorgedefinieerde (Engelse) labels gebruikt en moeten labelgebruik en document zich voegen naar de beschikbaarheid van deze voorgedefinieerde (Engelse) labels. Met XML worden de (Nederlandse) labels gemaakt naar (Nederlandse) behoefte. Daarom kent het XML-document de begrippen auteur en hoofdstuk en bestaan die niet in de HTML-versie van het document. Document Type Definition Zoals we hebben gezien, kent XML instrumenten om deze structuur formeel te beschrijven, de Document Type Declaration (DTD). De gebruikte syntax is specifiek voor een DTD maar is niet te moeilijk te begrijpen. De structuur van het boek uit overzicht 6 is als boom weergegeven in figuur 5. Deze boom visualiseert dat het boek enige informatie en hoofdstukken bevat. Deze informatie bestaat uit: titel en auteur, etc. DTD-syntax van deze boom in overzicht 7 weergegeven. Overzicht 7: Document Type Definition van een boek. <!ELEMENT boek (info?,hoofdstuk+)> <!ELEMENT info (titel,auteur+) > <!ELEMENT hoofdstuk (p*) > <!ELEMENT titel (#PCDATA) > <!ELEMENT auteur (#PCDATA) > <!ELEMENT p (#PCDATA) > <!ATTLIST hoofdstuk nr ID #REQUIRED > 9

Figuur 5: De structuur van het boek Ieder element is gedefinieerd door middel van een element-declaratie. Deze declaratie kent de naam van het element toe aan het elementmodel. Het model van een element bestaat uit het overzicht van de (andere) elementen waaruit het een element kan/moet zijn samengesteld. Het is mogelijk het gebruik van een of meer elementen als optioneel aan te merken of te doen herhalen. Het is ook mogelijk aan te geven en dus af te dwingen in welke volgorde elementen kunnen of moeten worden gebruikt. Connectoren, gebeurtenis (occurence) indicatoren en groeperingstekens bieden daatoe de formele hulpmiddelen. Connectoren:, beide elementen in de volgorde als weergegeven de één of de andere, niet beide Gebeurtenis indicatoren:? één keer of niet * nul of meer + meer dan eens Groeperingstekens: ( ) samen Het gebruik van een DTD is optioneel. Daarom bestaan er twee klassen van XMLdocumenten: well-formed (goed gevormde) dat wil zeggen: syntactisch correcte documenten; valid (geldige), syntactisch correcte documenten die bovendien voldoen aan een in een DTD gedefinieerde structuur. Een DTD wordt aan een geldig document gerelateerd door middel van een document type declaratie. Verwar die niet met een Document Type Definition. 10

In wezen is deze declaratie een URL, of - anders geformuleerd - de verwijzing naar een DTD- bestand. Overzicht 7: Toevoeging van een document type declaratie <?xml version="1.0"?> <!DOCTYPE book SYSTEM "http://www.xmli.com/book/1.0/book.dtd"> <boek> <info> <titel>the Lord of the Rings</title> <auteur>j.r.r. Tolkien</author> </info> <hoofdstuk nr="ch1"> <p>when Mr. Bilbo Baggings of Bad End...</p> </hoofdstuk> </boek> Een DTD vergemakkelijkt het schrijven van nieuwe documenten omdat door gebruik ervan wordt afgedwongen dat alle documenten voldoen aan dezelfde in de DTD beschreven (structuur)regels. Dit is vooral handig als een grote hoeveelheid documenten worden gecreëerd en deze documenten naar inhoud en structuur moeten voldoen aan formeel in DTD s vastgelegde vereisten. XML Namespaces Ook biedt XML het namespace-machanisme. De namespace identificeert eenduidig de eigenaar van een document. Dit maakt het mogelijk om een onderscheid aan te brengen in een verschillend gebruik van hetzelfde element. Bij voorbeeld: een element titel kan worden gedefinieerd als de titel van een boek (The Lord of the Ring) of als titel van een mens. ( Sir ) Het gebruik van namespaces bevordert dus zowel hergebruik als uitbreidbaarheid. Het is daarom verantwoord het titel-element her te gebruiken omdat eenvoudig en eenduidig bepaald is welke rollen hetzelfde element in verschillende documenten speelt. Het namespace-mechanisme functioneert door het toekennen van prefixen aan elementen. Deze prefixen worden toegekend aan een, de element-eigenaar identificerende, URL. In overzicht 8 is als voorbeeld een nieuw kernwoord-element toegevoegd aan het document. Het element is een bijzondere namespace en daarom is verwarring uitgesloten. 11

Overzicht 8: Toepassing van namespace <?xml version="1.0"?> <boek xmlns="http://www.xmli.com/book/1.0" xmlns:bx="http://www.psol.com/category"> <info> <titel>the Lord of the Rings</titel> <auteur>j.r.r. Tolkien</auteur> <bx:kernwoord>science-fiction</bx:kernwoord> </info> <hoofdstuk nr="hfd1"> <p>when Mr. Bilbo Baggings of Bad End...</p> </hoofdstuk> </boek> XML gebruiken Het gebruik van XML richt zich op structuur. Dat is ook verstandig omdat structuur een van de meer duurzame kwaliteiten is van een document. De structuur overleeft de tijd ook al vindt een herdruk plaats in een fraaiere uitvoering. Structuur maakt het mogelijk informatie te organiseren en met behulp van een computer te bewerken. Zoals geïllustreerd in figuur 6, is het met XML mogelijk allerlei toepassingen af te leiden van één XML-document. Figuur 6: Verschillende toepassingen afgeleid van één XML-document. Maar, de XML syntax alléén is niet voldoende. We hebben iets nodig als schakel tussen het XML-document en de verschillende toepassingen. Ter ondersteuning hiervan heeft het W3C een breed scala van zogenoemde begeleidende standaarden ontwikkeld (companion standards). Deze standaarden zijn complementair aan de XML-standaard en voorzien in bijzondere, aan het toepassen XML gerelateerde, behoeften. 12

De belangrijkste begeleidende standaarden maken deel uit van figuur 7. Definiëren DTD Schema XSL CSS XML DOM Tonen en Transformeren Manipuleren XQL XLink RDF Relateren Figuur 7: XML en begeleidende standaarden. Document Object Model Aan de XML parser gerelateere begeleidende standaarden komen als eerste aan de orde. Maar: wat is een parser? Een parser is een software component (bibliotheek) en: leest een bestand; controleert de syntax ervan op juistheid; past vervangingsregels erop toe; draagt elementen ervan over aan een toepassing; vereenvoudigt het werk van programmeurs; stelt het document aan het computergeheugen beschikbaar. Met andere woorden, de parser is software waardoor de correctheid van de XMLsyntax wordt bewaakt. Programmeurs kunnen daardoor toepassingen voor manipulatie van XML-documenten c.q. XML-structuren schrijven, gebaseerd op de zekerheid dat een XML-syntax daarvoor beschikbaar én correct is. Het moge duidelijk zijn dat parsers belangrijke functies vervullen. Parser maken deel uit van iedere XMLtoepassing. 13

Er bestaan twee typen XML-parsers. Zij verschillen in de wijze waarop de communicatie met een toepassing plaatsvindt. Object-gebaseerde parsers maken in het geheugen objecten aan voor ieder element van een document. Figuur 8 illustreert dit. De parser creëert een met de documentstructuur overeenkomende boomstructuur in het (computer)geheugen. element element element element element element Figuur 8: Creatie van een met de documentstructuur overeenkomende verzameling objecten. Object-gebaseerde XML-parsers volgen meestal de DOM standaard. DOM staat voor Document Object Model en is een eenvoudige standaard hiërarchie van objecten waarvan een parser gebruik kan maken. Met andere woorden: DOM zegt dat Element, XML-elementen moet representeren. DOM werd ontwikkeld door het W3C. De andere klasse van parsers is event-based (gebeurtenis -gebaseerd) Door deze parsers vloeit een document als het ware heen. Als de parser iets bijzonders waarneemt, bij voorbeeld een beginlabel, dan genereert de parser een bericht om de toepassing daarvan in kennis te stellen. De gebeurtenissen zijn vergelijkbaar met die binnen grafische toepassingen (zoals Windows). Dán zijn de gebeurtenissen echter gerelateerd aan gebruikersactiviteiten (bij voorbeeld: een muisklik) terwijl de door de parser gegenereerde gebeurtenissen hun oorsprong kennen in het XML-document (document begin, element begin, etc). Dit proces is gerepresenteerd in figuur 9. Figuur 9: De parser genereert gebeurtenissen als het document er door heen vloeit. Voor dit type parser bestaat de standaard SAX (Simple Application Programming Interface voor XML). SAX werd ontwikkeld door een groep XML-ontwikkelaars. De standaard is zeer populair in Java-toepassingen. XML Editor Voor het bewerken van XML-documenten bestaan twee mogelijkheden. De eerste bestaat uit het gebruik van een specifieke XML/SGML-editor. Deze editors lijken op 14

bekende tekstverwerkers maar het bestandformaat is niet een eigen formaat als dat van Word of WP maar het open XML-formaat. Het gebruik van deze specifieke editors geniet de voorkeur indien grote hoeveelheden XML-documenten moeten worden geproduceerd en onderhouden. Deze editors voorzien namelijk in het toepassen van in DTD s vastgelegde regels en documentstructuren. Dit type editor is echter veelal onbekend. Het gebruik ervan moet daarom worden geleerd. Figuur 10 bestaat uit een schermafbeelding van een SGML/XML-editor, Adept 8.0. Figuur 10: Een schermafbeelding van een SGM/XML-Editor, Adept 8.0 De tweede mogelijkheid is het gebruik van een normale tekstverwerker om vervolgens het document te converteren naar XML. Het belangrijkste voordeel is dat gebruik kan worden gemaakt van een wijd verbreid en populair instrument. Tekstverwerkers vangen echter niet alle (syntax- en structuur)fouten van documenten af die XMLeditors juist wel afvangen. Dit is vooral vervelend indien conversies niet goed verlopen en het document door de tekstbewerker aan de auteur voor correctie wordt teruggegeven. Bekijken en afdrukken Om een XML-document te kunnen bekijken en af te drukken moet het document worden geconverteerd naar een geschikt formaat. Voor het op het scherm (on line) bekijken wordt HTML veelal als conversiedoel gekozen. Voor het afdrukken op papier vindt conversie naar Postscript plaats. Postscript is de standaard taal voor het beschrijven van hoe (voorzien van welke opmaakkenmerken) een pagina moet worden afgedrukt door een printer. Zoals alles binnen XML zijn ook deze conversies gebaseerd op de documentstructuur. Deze conversies zijn echter destructieve operaties in die zin dat alle structuurinformatie er door uit een document wordt verwijderd. Terwijl het originele XML-document structuurinformatie bevat over titels, kernwoorden etc., biedt het resulterende Postscript-document informatie over opmaakkenmerken en formaat. (vet en A 4 ) 15

Het is niet eenvoudig de omgekeerde" weg te bewandelen, dus vanuit het Postscriptdocument een zeer gestructureerd XML te genereren. Het is immers bijna ondoenlijk om processor-gestuurd een onderscheid te maken tussen enerzijds vetgedrukte titels en anderzijds woordaccentueringen door gebruik van de vette variant van een lettertype. Het is om deze reden dat wordt gezegd dat conversies destructief zijn, zie figuur 11. Figuur 11: Converteren van structuur naar afdruk. Er zijn twee standaarden om XML on line te bekijken: Cascading Style Sheets (CSS) werden ontworpen voor gebruik in combinatie met HTML maar werken evenzo goed in combinatie met XML. CSS kent aan ieder label een presentatie-instructie toe. XML Stylesheet Language (XSL) is een krachtiger style sheet taal, speciaal ontwikkeld voor gebruik in combinatie met XML. XSL is een dubbele standaard: 1. XSLFO biedt dezelfde instructiemogelijkheden voor presentatie als CSS. Tot nu toe is XSLFO niet populair gebleken. De meeste ontwikkelaars geven vooralsnog de voorkeur aan CSS. 2. XSLT (XSL transformation) ondersteunt de transformatie van een XMLdocument. Daardoor is het bijvoorbeeld mogelijk een XML-document volledig te transformeren naar HTML of slechts een onderdeel daarvan, bij voorbeeld de inhoudsopgave. 16

Figure 12 biedt een samenvatting van de drie mogelijkheden om XML-documenten zichtbaar te maken, namelijk door gebruik van: 1. Cascading Style Sheets; 2. transformatie en Cascading Style Sheets. 3. XSLFO. HTML CSS XML XML XSLT XSLFO Figuur 12: Mogelijkheden om XML te presenteren op het scherm. XML en Intranet Er bestaan vele definities van een intranet. In de context van dit rapport gebruiken we de volgende: een intranet is een intern netwerk gebaseerd op internettechnologie. XML is zeer geschikt voor intranetgebruik omdat het is ontworpen als internettechnologie. XML is in het bijzonder geschikt voor gebruik binnen dynamische websites, dit zijn websites waarin een documenten dynamisch worden gegenereerd door het bevragen van een database. In figuur 13 is de mate van interactiviteit aangegeven van verschillende Internettechnologieën. In de oorsprong van het assenstelstel bevindt zich HTML, een zeer statische oplossing. HTML-pagina s veranderen namelijk nooit gedurende de levensduur van een toepassing. De enige interactiviteit ontstaat door het gebruik van hyperlinks. Dit is een zeer beperkte vorm van interactiviteit. 17

CGI, ASP Java, XML server CORBA Java Script HTML Plugin client Figuur 13: Toevoegen van interactiviteit aan het internet. Linksboven bevinden zich CGI, ASP en andere server-zijde technologieën. Deze technologieën maken het genereren dynamisch webcontent uit databases mogelijk. Daardoor neemt de interactiviteit toe omdat de gebruiker, afgestemd op zijn behoefte, informatie kan (op)vragen. Dit illustreert figuur 14. De webserver maakt een specifieke webpagina aan als antwoord op een verzoek van de gebruiker. De logica om de pagina samenstellen is aan de server-zijde ondergebracht. Internet Figuur 14: Server-zijde technologieën Rechtsonder zien we de plugins en Javascript. Dit zijn client-zijde technologieën. Deze voegen interactiviteit toe aan de browser door het downloaden van code of logica. De browser kan daardoor zelf een pagina wijzigen als antwoord op een verzoek van de gebruiker. Dit illustreert figuur 15. De logica om de pagina aan te passen is ondergebracht aan de client-zijde. Rechtsboven bevinden zich Java en XML, technologieën die op client- en serverzijde hun toepassing vinden. Het zijn complementaire technologieën. Java is een programmeertaal en wordt gebruikt voor software-ontwikkeling voor zowel de serveromgeving (servlets, Enterprise JavaBeans) als clientomgeving (applets). 18

Internet Figuur 15: Client-zijde technologieën XML wordt gebruikt om grote hoeveelheden documenten te maken en te beheren. Dankzij de vele begeleidende standaarden is het mogelijk gebruikers veel interactiviteit te bieden, ondersteunt door servers en/of browsers. Bij voorbeeld, door gebruik te maken van XSL is het mogelijk precies die informatie dynamisch te transformeren en te tonen (tot op het niveau van alinea s en zinnen) die een gebruiker op enig moment binnen de context van gebruiksprofiel of schermactiviteit nodig heeft. De gebruiker kan ook via de browser een XML-document actualiseren door de wijziging te sturen naar de server/database. Deze actualisering is desgewenst onmiddellijk beschikbaar voor de gehele organisatie. XML in combinatie met intranet voorziet in: onderhoud en beheer van grote documentverzamelingen: effectieve, op maat gesneden documentdistributie; efficiënte documentbewerkingen; zeer dynamische documenten; informatiebehoeften op maat van de gebruiker. XML voorziet in: automatische multimediale uitlevering van informatie; op papier, CD-ROM, DVD of op het scherm van draagbare telefoons. 19

Samenvatting XML/SGML verschaffen document management dezelfde instrumenten als traditioneel worden gebruikt voor onderhoud en beheer van gestructureerde informatie, namelijk: een formeel schema voor de informatiestructuur. Niemand zou een bedrijfskritische financiële applicatie gebruiken zonder goede ondersteuning van databases. Niemand zou bedrijfskritische documentatieprojecten moeten uitvoeren zonder document management systeem dat hetzelfde (hoge) niveau van ondersteuning biedt als gebruikelijk voor bedrijfskritische financiële applicaties. 20

Bijlage: figuren en overzichten Figuur 1: Gestructureerde versus ongestructureerde informatie... 3 Figuur 2: Gestructureerde informatie... 4 Figuur 3: Ieder document heeft een structuur.... 5 Figuur 4: Van documentstructuur naar het elektronische equivalent.... 7 Overzicht 1: Twee XML-elementen.... 7 Overzicht 2: Een uitgewerkt XML-document... 7 Overzicht 3: Unicode verbijzonderen... 8 Overzicht 4: Lege elementen kennen een bijzondere syntax... 8 Overzicht 5: Tolkien in HTML.... 8 Overzicht 6: Tolkien in XML... 9 Overzicht 7: Document Type Definition van een boek.... 9 Figuur 5: De structuur van het boek... 10 Overzicht 7: Toevoeging van een document type declaratie... 11 Overzicht 8: Toepassing van namespace... 12 Figuur 6: Verschillende toepassingen afgeleid van één XML-document.... 12 Figuur 7: XML en begeleidende standaarden.... 13 Figuur 8: Creatie van een met de documentstructuur overeenkomende verzameling objecten... 14 Figuur 9: De parser genereert gebeurtenissen als het document er door heen vloeit... 14 Figuur 10: Een schermafbeelding van een SGM/XML-Editor, Adept 8.0... 15 Figuur 11: Converteren van structuur naar afdruk.... 16 Figuur 12: Mogelijkheden om XML te presenteren op het scherm... 17 Figuur 13: Toevoegen van interactiviteit aan het internet.... 18 Figuur 14: Server-zijde technologieën... 18 Figuur 15: Client-zijde technologieën... 19 21