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



Vergelijkbare documenten
Module IV - Cascading Style Sheets (CSS)

HTML & CSS DEEL 1. webdesign. Programmeren met CodeAcademy

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

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

Websitecursus deel 1 HTML

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

Schrijven voor het web. 1TIN Internettechonologie les 02 1

HTML krijgt een standaard opmaak van de browser

HTML 5 en CSS 3. Truus de Bont. CC Naamsvermelding 3.0 Nederland licentie.

LES 8: CSS. Lesoverzicht: Aan de slag Wat is CSS Kleuren Tekst Blokken Lijsten en tabellen Responsive website W3chools Samenvatting.

Frontend ontwikkeling

Een ASP.NET applicatie opzetten. Beginsituatie:

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

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

Tweakers Pricewatch. Specificaties productfeed

Rd 1 MULTIMEDIA DEEL2

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

Extra: Hoe u uw website met HTML kunt verbeteren

Module II - Enkele Begrippen

XML Introductie.

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

Handleiding Importeren/ Exporteren Brouwvisie (& pro)

HTML in Outlook Hoe zorgt u ervoor dat uw goed in beeld komt?

De frameset uit de afbeelding wordt op de volgende manier gedefinieerd:

FAQ Kind en Gezin Gemeentelijke kindrapporten. V Hoe maak ik een rapport? De samenstelling van een rapport bevat 3 verplichte stappen.

Bericht Creëren en versturen binnen Wes 4 U mail

Project Software Engineering XML parser: Parsen van een xml CD catalogus

HTML. Links. Hyperlinks. Hans Roeyen V 3.0

Release datum: 11 juni 2012

Web building basis: HTML. Karel Nijs 2008/09

Van Dreamweaver CS4 naar CS5

Count-e Statistieken. Statistieken

1. Open het programma KompoZer Het grote witte vlak is een nog lege webpagina. Deze gaan we nu van inhoud voorzien.

Informatica 4H/V. Les 4 HTML. Periode 1 HTML en Netwerken bzmr - Da Vinci College Purmerend 1

LOGISTIEK Factuurcontrole

WEBSITE USABILITY. white-paper

Handleiding: Whitelabel Customersite

De tag aan het begin van het PHPscript is "<?php" aan het einde van het PHPscript gebruik je "?>".

Inleiding tot programmeren: Javascript

Uw website optimaliseren voor zoekmachines

1 XML/CSV documentatie

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

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

Nieuws & RSS in DotNetNuke

Documentatie. InstantModules Q42. Versie 1.1

HTML. Media. Hans Roeyen V 3.0

Stappenplan voor een werkstuk in Word

1.Noem de vijf categorieën waarin programmeertalen kunnen worden ingedeeld en geef van elke categorie één voorbeeld.

ContentQueryWebpart en custom XSLT. Alles wat je moet weten over het CQW

Handleiding RS Form! 1.0.4

Handleiding voor Zotero versie 2.0

Hoofdstuk 16: Grafieken en diagrammen: hoe

Sushi MIJN EERSTE WEBSITE EEN WEBPAGINA BEWERKEN. Kaart 1 van 10 Ik ben HTML/CSS aan het leren

WEB DESIGN Excel With Business

Programmeren in MyShop

Syllabus Zelf een website bouwen. Artheos

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

Cascading Style Sheets

HANDLEIDING TRACK & 1. Track & Trace s bewerken Algemeen s s bewerken Triggers Beschikbare Tags 5

Hier komt alle informatie over je webpagina, welke niet zichtbaar is op de webpagina zelf.

App onderdelen. Source files. Android app onderdelen 1/6

HTML Editor: de eerste stappen

Beschrijving functioneel en technisch design van de website

Introductie. Wat is HTML?

Zonnepanelen Hoe krijg je de data op je website?

Deel 5: Ontleding van een thema en subtheming. 20. YML-bestanden en subtheming

Agenda. Wat is HTML? Meer over HTML... Waarom HTML leren? Aniel Bhulai. Inleiding Computergebruik - HTML 1. Waarin maak je een HTML-bestand?

Zelftest XML Concepten

Gebruik webfolders Windows

Module I - Soorten Netten

HANDLEIDING XML & XSL

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

PowerPoint 2010: rondleiding (deel 1)

<meta name="description" content= "de tekst die in zoekresultaten bij de link te lezen is" />

Handleiding Enquêtemodule. Contents

DrICTVoip.dll v 2.1 Informatie en handleiding

Systeemarchitecturen en opslag van gegevens

EDI Diervoederanalyses. Sjoerd Schaper Productschap Diervoeder

Website maker. Bezoek je domein om de Website maker in te stellen. De volgende melding zal zichtbaar zijn.

Les 7. Instap. CSS en views: schilderijen. Pas even de header aan van het thema en zorg ervoor dat er geen websitenaam en slogan te zien is.

NOTITIE. Vragen gebruikersgroep

4 ASP.NET MVC. 4.1 Controllers

HTA Software - Klachten Registratie Manager Gebruikershandleiding

Cursus Analyse voor Web Applicaties 1. Webdesign / Web Programmeren Analyse voor web applicaties SDM methode + Basis UML

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

HTML. inhoud structuur semantiek. HTML5 & semantiek of betekenis. semantisch coderen. Semantisch coderen: waarom? 3/09/2016

Wat is nieuw in deze handleiding: Dit is een nieuwe handleiding welke nieuwe functies beschrijft.

Mogelijkheden RSS content in MailPlus

Html: stramien en tekst

Quickscan Webrichtlijnen

OneNote 2013 Snelstartgids

1 Inleiding. 1.1 In dit hoofdstuk. 1.2 Het web en opmaak

Rapportages instellen

7. Je bericht in Nieuws & acties aanpassen

Handleiding Website Laatste update: april 2014

Informatietechnologie 1. Inleidende les. Kristof Michiels

Je kiest bij Voeg een widget toe het widget waarvoor je een embed wilt instellen. Of je gaat naar een bestaande reeds ingestelde widget toe.

5. Inhoud, structuur en opmaak met HTML en CSS

Transcriptie:

Module V - XML Extensible Markub Language is een eenvoudig en flexibel text-formaat voor de opslag van data. Het is een meta opmaak (markup) taal voor de beschrijving van gestructureerde gegevens. De stukjes data worden gescheiden door tags zoals bij HTML, maar bij XML ligt de betekenis van deze tags niet vast waardoor XML zo flexibel is. De maker van het bestand bepaald zelf welke tags hij wil gebruiken om zijn gegevens te beschrijven. XML beschrijft de structuur en betekenis van gegevens, maar niet de uiteindelijke presentatie ervan, waardoor het mogelijk wordt om deze gegevens uit te wisselen tussen verschillende gebruikers of toepassingen. De eindgebruiker (dit is niet per definitie een persoon) bepaald hoe en welke gegevens op het scherm getoond worden. Stefan Flipkens - Cursus: Internet - Intranet (2004-2005) V 1

1. Algemeen 1.1. Wat is XML.? XML staat voor Extensible Markup Language en is een vereenvoudigde versie van SGML 1 die geoptimaliseerd is voor het web. De belangrijkste functie van XML is data indelen met behulp van zelfbeschrijvende tags. 1.2. XML parsers Een XML parser is een onderdeel van het programma dat XML interpreteert. Zo'n parser zal de structuur van het XML bestand analyseren en syntaxisfouten opsporen. 1.3. XML vs HTML Wat HTML doet voor het weergeven van informatie, doet XML voor het uitwisselen van informatie. Zowel bij HTML als XML wordt er gewerkt met tags en attributen. Het grote verschil is wat er met die tags en attributen beschreven wordt. Bij HTML worden er vastgelegde tags zoals <P> </P>, <U> </U>, - gebruikt om de lay-out, de presentatie van de gegevens te beschrijven. XML echter, zijn tags, waarvan de namen zelf gekozen namen zijn, die de gegevens in het XML bestand beschrijven. 1.3.1. Voorbeeld: HTML tags Uit Code Snippit 88 en Figuur 77 kunnen we afleiden dat de tags die zich rond de tekst (gegevens) bevinden het uitzicht bepalen van hoe de tekst er zal uitzien als ze in een webbrowser bekeken wordt. [cd-rom]:\examples\module V XML\1 Algemeen\Example 01\example01.htm <html> <head> <title>module V - XML: Algemeen\Example 1</title> </head> <body> <h3>html: een voorbeeld</h3> <p>een voorbeeld van <b>html</b> code vind je terug in e broncode van deze webpagina.</p> </body> </html> Code Snippit 88 1 SGML: Structured Generalized Markup Language Stefan Flipkens - Cursus: Internet - Intranet (2004-2005) V 2

Figuur 77: 1.3.2. Voorbeeld: XML tags De broncode van Code Snippit 89 toont een boekenlijst met de boeken De Schaduwman, Heilstaat en Strafkamp. Er is niet veel verschil tussen de visuele weergave van het XML bestand in een webbrowser ten opzichte van de broncode. De zelfgekozen tags bepalen hier immers niet het uitzicht van de gegevens in een webbrowser, maar wel de betekenis van de gegevens. Uit de namen van de tags kunnen we afleiden dat het XML bestand een boekenlijst bevat. Deze boekenlijst bevat de titels van de boeken erin. [cd-rom]:\examples\module V XML\1 Algemeen\Example 02\example02.xml Code Snippit 89 Figuur 78: 1.4. Case Sensitive In tegenstelling tot HTML zijn XML tags wel case sensitive of hoofdlettergevoelig. Indien in de broncode van Code Snippit 89 één van de <titel> tags met hoofdletter wordt ingegeven, dan zal de webbrowser aangeven dat het XML bestand niet geldig is. Figuur 79 toont de informatie die Internet Explorer geeft in zo'n geval. Stefan Flipkens - Cursus: Internet - Intranet (2004-2005) V 3

[cd-rom]:\examples\module V XML\1 Algemeen\Example 03\example03.xml <titel>de Schaduwman</Titel> Code Snippit 90 Figuur 79: 2. Een XML bestand maken 2.1. De meest eenvoudige vorm Code Snippit 90 is een voorbeeld van de meest eenvoudige vorm van een XML bestand. Een XML bestand kunnen we gemakkelijk vergelijken met een tabel in een gegevensbank. Het is eigenlijk niet meer dan een lijst met gegevens van dezelfde soort. Om een XML bestand te maken volstaat het om goede namen te kiezen voor de tags die rond de gegevens staan. Met behulp van zo'n goed gekozen naam, zien we dan direct welke gegevens in de tag zitten als we het XML. Voorbeeld: We hebben een lijst van de volgende artiesten, die we in een XML bestand willen gieten: o Axelle Red o Nanci Griffith o Status Quo Om aan te geven dat de naam Axelle Red een artiest voorstelt, kunnen we als naam voor de omsluitende tag bijvoorbeeld artiest of artist gebruiken. Naargelang de keuze van de naam voor de tag krijgen we dan een vergelijkbaar resultaat als in Code Snippit 91. Om aan te geven dat het bestand een lijst bevat van artiesten kunnen we als omsluitende tag voor alle artiesten de naam artiestenlijst of artistlist gebruiken. Het uiteindelijke XML bestand ziet er dan uit zoals in Code Snippit 92. <artiest>axelle Red</artiest> <artiest>nanci Griffith</artiest> <artiest>status Quo</artiest> Code Snippit 91 Stefan Flipkens - Cursus: Internet - Intranet (2004-2005) V 4

[cd-rom]:\examples\module V XML\2 Een XML bestand maken\example 01\example01.xml <artiestenlijst> <artiest>axelle Red</artiest> <artiest>nanci Griffith</artiest> <artiest>status Quo</artiest> </artiestenlijst> Code Snippit 92 Figuur 80: Wanneer we het XML bestand uit Code Snippit 92 bekijken in een webbrowser, dan merken we op dat voor de <artiestenlijst> tag in het begin van de lijst een min teken (-) staat. Wanneer we op dit teken klikken dan klapt de lijst dicht en verandert het min teken in een plus teken (+) (zie ). Door op het plus teken te klikken klapt de lijst opnieuw open. Bij grotere XML bestanden is dit een handig hulpmiddel om de gegroepeerde gegevens gemakkelijker te kunnen bekijken. 2.2. Een gedetailleerder XML bestand Figuur 81: De dichtgeklapte lijst. Wanneer we onze boekenlijst willen uitbreiden met de naam van de auteur en de isbn nummer, dan kunnen we het XML bestand uit Code Snippit 90 wijzigen naar de versie van. [cd-rom]:\examples\module V XML\2 Een XML bestand maken\example 02\example02.xml <?xml version="1.0"?> Stefan Flipkens - Cursus: Internet - Intranet (2004-2005) V 5

<isbn>90-449-2709-4</isbn> <isbn>90-449-2767-1</isbn> <isbn>90-449-2853-8</isbn> Code Snippit 93 Figuur 82: Diegene die ons XML bestand bekijkt, kan direct ziet dat het gaat om een boekenlijst, die een aantal boeken bevat. De boeken op hun beurt hebben een titel, een auteur en een isbn nummer. De betekenis van de gegevens in het XML bestand is duidelijk. Net zoals een HTML bestand wordt een XML bestand geïnterpreteerd of geparst. Bij een HTML bestand worden de tags tijdens het parsen omgevormd tot een visueel geheel. Bij XML dient het parsen om te controleren of het bestand voldoet aan de vastgelegde eisen. In de broncode van de nieuwe boekenlijst hebben we ook al de regel <?xml version="1.0"?> toegevoegd. Deze regel vertelt de XML parser dat het XML bestand voldoet aan de standaarden vastgelegd voor XML versie 1.0. Regels die beginnen met <? en eindigen met?> worden door de XML parser geïnterpreteerd als commando regels, ze vertellen iets over het XML bestand. 3. De lay-out van een XML bestand aanpassen Wanneer we XML bestanden gebruiken in onze webpagina, dan willen we ze natuurlijk niet weergeven zoals we ze tot nu toe in de screenshots hebben gezien. We willen een mooie lay-out geven aan de gegevens. Dit kunne we op verschillende manieren: Door een CSS bestand te koppelen aan het XML bestand Door een XSL bestand te koppelen aan het XML bestand. Door het XML bestand te koppelen aan of op te nemen in een HTML bestand. Stefan Flipkens - Cursus: Internet - Intranet (2004-2005) V 6

3.1. Een CSS bestand koppelen aan een XML bestand In één van de vorige modules hebben we gesproken over het gebruik van Cascading Style Sheets bij webpagina's. Het is eveneens mogelijk om een CSS bestand te koppelen aan een XML bestand. Gezien de kennis die we hebben opgemaakt over CSS is het een koud kunstje om een CSS bestand aan te maken en dit te koppelen aan ons XML bestand. De broncode van het Cascading Style Sheet kan er uitzien zoals in Code Snippit 94. [cd-rom]:\examples\module V XML\3 De lay-out van een XML bestand aanpassen\example 01\example01.css boek {display:block;} titel {display:inline; font-weight:bolder;} auteur {display:inline; font-style:italic;} isbn {display:inline; text-decoration:underline;} Code Snippit 94 We merken op dat de namen van onze stijlen overeenkomen met de namen van de tags in het XML bestand. Het enige dat we nu nog moeten doen is de XML parser vertellen dat hij het CSS bestand example01.css moet gebruiken om een lay-out te geven aan het XML bestand. Dit doen we door de regel code uit Code Snippit 95 toe te voegen aan ons XML bestand zoals in Code Snippit 96. <?xml-stylesheet type="text/css" href="example01.css"?> Code Snippit 95 Deze regel vertelt de XML parser dat er een CSS bestand met als naam example01.css gekoppeld is aan het XML bestand. [cd-rom]:\examples\module V XML\3 De lay-out van een XML bestand aanpassen \Example 01\example01.xml <?xml version="1.0"?> <?xml-stylesheet type="text/css" href="example01.css"?> <isbn>90-449-2709-4</isbn> <isbn>90-449-2767-1</isbn> <isbn>90-449-2853-8</isbn> Code Snippit 96 Stefan Flipkens - Cursus: Internet - Intranet (2004-2005) V 7

Figuur 83: 3.2. Een XSL bestand koppelen aan een XML bestand [cd-rom]:\examples\module V XML\3 De lay-out van een XML bestand aanpassen \Example 02\example02.xsl <xsl:stylesheet xmlns:xsl="http://www.w3.org/tr/wd-xsl"> <xsl:template match="/"> <html> <body> <xsl:for-each select="boekenlijst/boek"> <p> <b><xsl:value-of select="titel" /></b> <i><xsl:value-of select="auteur" /></i> <u><xsl:value-of select="isbn" /></u> </p> </xsl:for-each> </body> </html> </xsl:template> </xsl:stylesheet> Code Snippit 97 [cd-rom]:\examples\module V XML\3 De lay-out van een XML bestand aanpassen \Example 02\example02.xml <?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="example02.xsl"?> <isbn>90-449-2709-4</isbn> <isbn>90-449-2767-1</isbn> <isbn>90-449-2853-8</isbn> Code Snippit 98 Stefan Flipkens - Cursus: Internet - Intranet (2004-2005) V 8

Figuur 84: 3.3. Een XML bestand opnemen in een HTML bestand [cd-rom]:\examples\module V XML\3 De lay-out van een XML bestand aanpassen \Example 03\example03.html <html> <xml id="boeken"> <isbn>90-449-2709-4</isbn> <isbn>90-449-2767-1</isbn> <isbn>90-449-2853-8</isbn> </xml> <head> <title>module V - XML: De lay-out van een XML bestand aanpassen - Example 3</title> </head> <body> <table datasrc="#boeken" border="1"> <tr> <td><div datafld="titel"></div></td> <td><div datafld="auteur"></div></td> <td><div datafld="isbn"></div></td> </tr> </table> </body> </html> Code Snippit 99 Stefan Flipkens - Cursus: Internet - Intranet (2004-2005) V 9

Figuur 85: 3.4. Een XML bestand linken aan een HTML bestand [cd-rom]:\examples\module V XML\3 De lay-out van een XML bestand aanpassen \Example 04\example04.xsl <html> <xml id="boeken" src="example04.xml"></xml> <head> <title>voorbeeld xml-document rechtstreeks in html</title> </head> <body> <table datasrc="#boeken" border="1"> <tr> <td><div datafld="titel"></div></td> <td><div datafld="auteur"></div></td> <td><div datafld="isbn"></div></td> </tr> </table> </body> </html> Code Snippit 100 [cd-rom]:\examples\module V XML\3 De lay-out van een XML bestand aanpassen \Example 04\example04.xml <?xml version="1.0"?> <isbn>90-449-2709-4</isbn> <isbn>90-449-2767-1</isbn> <isbn>90-449-2853-8</isbn> Code Snippit 101 Stefan Flipkens - Cursus: Internet - Intranet (2004-2005) V 10

Figuur 86: 4. Regels toepassen op de datastructuur van een XML bestand Voorbeeld: We hebben een bedrijf en we willen klanten toelaten om bestellingen door te geven via XML bestanden. Als iedere klant, dan zomaar zijn eigen veldnamen gaat kiezen, dan is het voor ons veel te omslachtig om de bestellingen (XML bestanden) automatisch en snel te verwerken. We kunnen de structuur vastleggen waaraan de doorgestuurde XML bestanden moeten voldoen. Zo'n structuur noemen we een XML schema. Deze schema's worden in een apart bestand opgeslagen, eveneens met de.xml extensie. Een XML schema is bedoeld om beperkingen op te leggen aan een XML bestand. De XML parser kan dan voor de verwerking van het XML bestand controleren of het bestand al dan niet geldig is. Code Snippit 102 is een voorbeeld van hoe we het XML bestand van onze boekenlijst aan banden kunnen leggen. [cd-rom]: \Examples\Module V - XML\4 Regels toepassen\example 01\schema.xml <Schema name="boekenlijstschema" xmlns="urn:schemas-microsoftcom:xml-data" xmlns:dt="urn:schemas-microsoft-com:datatypes"> <ElementType name="titel"/> <ElementType name="auteur"/> <ElementType name="isbn"/> <ElementType name="boek" content="eltonly" order="seq"> <element type="titel"/> <element type="auteur"/> <element type="isbn"/> </ElementType> <ElementType name="boekenlijst" content="eltonly"> <element type="boek" minoccurs="1" maxoccurs="*"/> </ElementType> </Schema> Code Snippit 102 De tweede tot en met de vierde regel van ons XML schema vertellen de XML parser dat in ons XML bestand een elementtype titel, auteur en isbn kan voorkomen. De vijfde tot en met de negende regel vertellen de XML parser dat het XML bestand een elementtype boek heeft, dat elementen kan bevatten van het type titel, auteur en/of isbn. Stefan Flipkens - Cursus: Internet - Intranet (2004-2005) V 11

In regel tien tot en met twaalf ten slotte vertellen we de XML parser dat ons bestand een elementtype boekenlijst bevat, dat op zijn beurt elementen van het type boek kan bevatten. Opmerking: Er is een verschil tussen elementtype en elementen van een bepaald elementtype. Bij het elementtype boek (zie Code Snippit 103) zien we de attributen content="eltonly" en order="seq". Dit wil zeggen dat een boek alleen elementen kan bevatten en geen elementtypes, en dat de volgorde sequentieel is. <ElementType name="boek" content="eltonly" order="seq"> Code Snippit 103 De regel uit Code Snippit 104 in het elementtype boekenlijst, betekent dat onze boekenlijst minimum 1 element van het type boek moet bevatten en dat er oneindig veel boeken in onze lijst mogen zitten. <ElementType name="boekenlijst" content="eltonly"> <element type="boek" minoccurs="1" maxoccurs="*"> </ElementType> Code Snippit 104 Om het XML schema te koppelen aan ons XML bestand moeten we de regel met de boekenlijst tag aanpassen zoals in Code Snippit 105 [cd-rom]: \Examples\Module V - XML\4 Regels toepassen\example 01\example01.xml <?xml version="1.0"?> <?xml-stylesheet type="text/css" href="example01.css"?> <boekenlijst xmlns="x-schema:schema.xml"> <isbn>90-449-2709-4</isbn> <isbn>90-449-2767-1</isbn> <isbn>90-449-2853-8</isbn> Code Snippit 105 Stefan Flipkens - Cursus: Internet - Intranet (2004-2005) V 12