Veel informatie over XML en bijbehorende zaken (zoals DTD, XSL etc.) is te vinden via de Home page van XML 101 (URL: ).

Maat: px
Weergave met pagina beginnen:

Download "Veel informatie over XML en bijbehorende zaken (zoals DTD, XSL etc.) is te vinden via de Home page van XML 101 (URL: www.xml101.com )."

Transcriptie

1 ; 0/ H0Q3'D,W9D,P2R4G/H0OO H0U7L Q3J Inhoudsopgave: 8.0 Inleiding 8.1 XML: extensible Markup Language 8.2 Functie en gebruik van DTD (Document Type Definition) DTD-ELEMENT-definities Externe DTS s DTD-ATTLIST-definities DTD-ENTITY- en DTD-NOTATION-definities 8.3 XML-querytalen en XSL: extensible Stylesheet Language 8.4 Mapping van XML(/DTD) naar relationele tabel(structuur) 8.0 Inleiding De inhoud van documenten is vaak niet expliciet gestructureerd. Zo kun je op WWW weliswaar via trefwoorden zoeken, maar het is daarbij niet mogelijk om aan te geven wat dat trefwoord in dat document voor functie moet hebben. Als voorbeeld geven we de gevonden NAW-gegevens: Saskia van Tilburg woont in Amsterdam op de Hof van Hoorn 27. Zochten we op plaatsnaam Tilburg, Amsterdam of Hoorn? Duidt dat Hoorn nu op een plaats, een adres of een materiaalsoort? Ook om via het Internet aangeleverde gegevens correct te kunnen verwerken, zul je vaak de structuur van die gegevens willen meegeven. XML kan daarbij helpen (XML staat voor extensible Markup Language ). In XML zouden we de eerder gegeven zin als volgt kunnen modelleren: <NAWgegeven> <Naam>Saskia van Tilburg</Naam> <Adres>Hof van Hoorn 27</Adres> <Plaats>Amsterdam</Plaats> </NAWgegeven> Ook zonder verdere kennis van XML is nu van de woorden Tilburg en Hoorn de functie te zien. We citeren [ 1 ] : XML is rapidly establishing itself as the metagrammar for interorganizational communication around the Internet. It is becoming increasingly urgent that business analysts, systems analysts, and software developers be able to: model the information to be represented in XML describe the relationships between the XML and the systems to process it. Having done so, they must also be able to rapidly generate the boilerplate code associated with implementing these processes. Het is mogelijk maar weinig zinvol om XML geïsoleerd te gebruiken. Het krijgt pas zijn kracht als we voorafgaand aan XML-gebruik eerst een structuurdefinitie vastleggen via DTD ( Document Type Definition ) en een check [laten] doen om te controleren of het XML-datadeel wel voldoet aan de via een DTD vastgelegde grammatica. Pas daarna kunnen we aan de slag om via speciale XML-querytaal relevante gegevens op te vragen en/of op een speciale manier te presenteren. Voor die presentatie is het gebruik van XSL ( extensible Stylesheet Language ) mogelijk. We behandelen deze onderwerpen in de volgorde: 1. XML ( extensible Markup Language ) ; 2. DTD ( Document Type Definition ) ; 3. XSL ( extensible Stylesheet Language ). Veel informatie over XML en bijbehorende zaken (zoals DTD, XSL etc.) is te vinden via de Home page van XML 101 (URL: ). 1 G. Booch, M. Christerson, M. Fuchs, J. Koistinen. UML for XML Schema Mapping Specification. 12/08/99. 1

2 8.1 XML: extensible Markup Language XML wordt gebruikt om zowel documenten als gegevens te modelleren/structureren. Daarbij moeten we via een open - en een sluit -tag aangeven wat onze XML-elementen zijn en hoe die genest zijn. We lezen [ 2 ]: An XML document is a tree -like structure. This tree consists of nodes that possess a hierarchical relationship to each other. To promote or demote a node is to raise or lower that node to a different level within that hierarchy. Schematisch zal een XML-model er steeds als volgt uitzien: <root> <child> <subchild> </subchild> </child> </root> Elk kind -element kan weer een of meer sub-kind -elementen bevatten. Zo zou je in XML de gegevens bij een verenigingslid als volgt kunnen modelleren 3 : <LID> <Naam> <Voornaam>Jan</Voornaam> <Achternaam>Janssen</Achternaam> </Naam> <Adres>Annastraat 123</Adres> <Plaats>Nijmegen</Plaats> Duidelijk is hier te zien, dat een LID-element blijkbaar een Naam -, een Adres - en een Plaats - onderdeel kent, waarvan het Naam -deel beschouwd kan worden als een samengesteld kind-element met een voornaam- en een achternaam-subkind, terwijl Adres en Plaats als directe kind -elementen beschouwd kunnen worden. In ORM-terminologie zouden we dit XML-verenigingslid-model (ruwweg; we komen er later op terug waarom we hier geen details geven) op een van de hieronder getoonde manieren kunnen modelleren (hetzij via een primary reference -combinatie van rollen, hetzij via een nesting ): "Naam" Naam met als P Voornaam en P Voornaam Achternaam Achternaam Lid woont op Adres met als Lid woont op Adres woont in Plaats woont in Plaats Behalve met een nesting van (kind)elementen is het bij XML ook mogelijk om met attributen te werken. Door sommige auteurs wordt het gebruik van attributen binnen XML sterk ontmoedigd. We vatten hier op een vrije manier een aantal punten samen zoals verwoordt door Jan Egil Refsnes in zijn XML Basics (via de home page van XML101 bereikbaar). Attributen worden vooral gebruikt voor het geven van aanvullende informatie bij een bepaald element; meestal gaat het dan om gegevens die voor een menselijke gebruiker niet zo interessant zijn, maar die wel nodig zijn voor het door een computer [efficiënt] laten verwerken van de gegevens. Denk hierbij aan zaken als identificerende lidnummers, codes e.d.. 2 Help-functie van de XML-Notepad. 3 Laat je niet ontmoedigen door de overvloed aan tags (tussen < en > ) die blijkbaar nodig zijn voor het aanbrengen van XML-structuur; die zul je maar zelden zelf hoeven in te tikken. Daarvoor gebruik je normaal gesproken een tool, of je laat het XML-document genereren (bijvoorbeeld vanuit een database-systeem), of je laat door wat Javascriptcode door een gebruiker ingevulde gegevens o p een Web-pagina voorzien van XML-tags. 2

3 Eventuele attributen worden als volgt in de element-openings-tag opgenomen: <Elementnaam attribuutnaam = attribuutwaarde > Let op de spatie tussen Elementnaam en attribuutnaam en op de [verplichte!] dubbele aanhalingstekens rond de attribuutwaarde. In ORM-terminologie is de attribuutnaam soms te zien als de reference-code voor Elementnaam, maar kan hij ook vaak vergeleken worden meteen ORM- value-type (bij de bespreking van DTD - ATTLIST gaan we hier verder op in). Hierna is (rechts) een scherm weergegeven van de freeware XML-Notepad-editor, waarmee we het hierna (links) weergegeven XML-document hebben gemaakt (alle tags zijn gegenereerd!). We hebben in dit voorbeeld ervoor gekozen het lidnummer als attribuutwaarde bij LID te nemen. <LEDEN> <LID lidnummer="12345"> <Naam> <Voornaam>Jan</Voornaam> <Achternaam>Janssen</Achternaam> </Naam> <Adres>Annastraat 123</Adres> <Plaats>Nijmegen</Plaats> <LID lidnummer="13579"> <Naam> <Voornaam>Els</Voornaam> <Achternaam>Pietersen</Achternaam> </Naam> <Adres>Molenweg 33</Adres> <Plaats>Nijmegen</Plaats> </LEDEN> Uit dit voorbeeld komt duidelijk het altijd benodigde root -element naar voren (hier: onder de naam LEDEN ). Let in het Structure -deel van de figuur op het gebruik van de verschillende symbolen. Hiernaast tonen we hoe het XML-bestand getoond kan worden via een Web-browser als Internet Explorer 5. Het ziet er niet erg WWW-appetijtelijk uit, maar dat is ook niet de bedoeling van een kaal XML-bestand (later komt dit aspect bij XSL terug). In ieder geval is Internet Explorer 5 blijkbaar in staat de XML-code correct te interpreteren. Voor elk (sub)element staat een + of een - -teken om aan te geven of de waarden en/of dieper geneste inhoud niet dan wel aangegeven is. Met een eenvoudige muisklik kun je + en - in elkaar laten overgaan. Getoond is, dat als een LID-element dichtgeklapt is, van dat LID alleen de attribuutwaarde getoond wordt. Als zo n element méér attribuutwaarden, worden attribuutnamen+waarden achter elkaar in de <LID>openingstag opgenomen; bijvoorbeeld: <LID lidnummer ="12345" sofinummer =" "> N.B. Indien we bij het aanmaken van het XML-document een fout tegen de XML-syntax maken, dan zal bij het inladen van het document door de internet-browser een foutboodschap worden gegenereerd als bijvoorbeeld (met hier een tikfout in de eind -tag): The XML page cannot be displayed Cannot view XML input using XSL style sheet. Please correct the error and then click the Refresh button, or try again later. End tag 'Achternam' does not match the start tag 'Achternaam'. Line 5, Position 31 <Achternaam>Janssen</Achternam> ^ 3

4 N.B. Een free XML-parser is o.a. te downloaden van de MicroSoft-pagina (zie verderop in deze tekst). Met zo n parser kunnen we vooraf controleren of de ingetikte XML -code aan de syntaxregels voldoet. Indien we (handmatig, met een eenvoudige editor zoals NotePad) in het hiervoor gegeven, met XMLtags gestructureerde LEDEN-gegevens toevoegen: <LID kleur = "bruin" > <Wielen> 2 </Wielen> en de inhoud van het bestand daarna inladen in een XML-geschikte Web-browser, dan worden de gegevens van dat vreemde derde lid zonder prote st getoond. We kunnen via XML blijkbaar wel een bestaande structuur van gegevens duidelijk aangeven, maar niet de gegevensstructuur binnen een UoD modelleren, noch te respecteren beperkingsregels afdwingen. 8.2 Functie en gebruik van DTD (Document Type Definition) Een DTD (Document Type Definition) bestaat uit een formele set van regels waaraan een XMLdocument moet voldoen. Het definieert de elementen die gebruikt mogen worden en legt vast waar ze in relatie tot elkaar gebruikt mogen worden. Je kunt een DTD beschouwen als een soort (tekstueel) conceptueel schema van de datastructuur binnen een UoD en de bijbehorende constraints. De modelleringsmogelijkheden via DTD zijn echter veel beperkter dan die van het ons bekende ORM. Een DTD bevat een aantal declaraties, die allen aan de volgende opmaakstructuur: <! > moeten voldoen en waarin [onmiddellijk na het uitroepteken] een van de volgende sleutelwoorden moet staan: ELEMENT (voor de al eerder bij het XML-deel besproken element- tag definities) ATTLIST (idem de attribuut definities) ENTITY (nieuw: entiteit definities; zie verderop) NOTATION (nieuw: datatype notation definities; zie verderop) Deze declaraties worden gegroepeerd en geplaatst binnen een document type declaration die de volgende structuur : <!DOCTYPE doctypenaam [ <!ELEMENT doctypenaam (.. en hier volgt dan een 1 e deel van de DTD -definitie..) > <!.... en verder... > <!.... en verder... > ] > N.B. Een XML-document hoeft voor de specificatie van zijn structuur niet per se een bijbehorende DTD te hebben. Toch wordt het opstellen van zo n DTD vaak aanbevolen om zekerheid af te dwingen over het naleven van de gedefinieerde structuur. Een speciale DTD/XML-parser kan worden gebruikt om eerst de DTD te lezen en daarna te bepalen of het XML-document wel aan dat DTD-sjabloon voldoet. Een geschikte DTD/XML-parser (met een boel Javascript-code) is onder de naam XML Validator via de volgende URL: bij MicroSoft te downloaden (met bestandsnaam: validate_js.htm ) of van daar af te activeren DTD-ELEMENT-definities ELEMENTs : dit zijn de primaire eenheden om XML-documenten mee op te bouwen. De tag definities via ELEMENT kunnen nonterminal of terminal zijn, dat wil zeggen: er kan mee aangegeven worden, dat een bepaald ELEMENT op zijn beurt verder opgebouwd is uit een of meer andere ELEMENTs, maar ook, dat zo n verdere opsplitsing niet gebeurt. Dat laatste geval (dus bij terminal ) wordt meestal gebruikt om het gegevenstype PCDATA (lees: parsable character data, een [getal]string e.d., waarin opmaaktekens als <, >,, & e.d. als (html -) markup zullen worden geïnterpreteerd) van dat ELEMENT aan te geven. 4

5 Voor het door ons eerder besproken XML-voorbeeld met een LEDEN -document geven we als mogelijk/voorlopig DTD (en daarnaast een zo veel mogelijk vergelijkbaar ORM-schema): <!DOCTYPE LEDEN [ <!ELEMENT LEDEN ( LID+ ) > <!ELEMENT LID ( Naam, Adres, Plaats ) > Naam met / van <!ELEMENT Naam ( Voornaam, Achternaam ) > / van <!ELEMENT Voornaam ( #PCDATA ) > met / van <!ELEMENT Achternaam ( #PCDATA ) > Lid Adres <!ELEMENT Adres ( #PCDATA ) > woont op <!ELEMENT Plaats ( #PCDATA ) > ]> Plaats De komma s in het DTD geven tevens aan, dat de daarbij gebruikte volgorde moet worden aangehouden. woont in Voornaam Achternaam Een voorbeeld van een nonterminal ELEMENT-declaratie hierin is <!ELEMENT Lid (Naam, Adres, Plaats)>. Een voorbeeld van een terminal ELEMENT-declaratie is: <!ELEMENT Plaats ( #PCDATA)>. (N.B. Naast #PCDATA komen ook de aanduidingen #CDATA, #EMPTY en #ANY voor.) We hebben de nonterminal elementen in het ORM -schema als ORM-entiteiten aangegeven en de terminal als ORM -value-types. Via het -symbool kunnen we keuzes aangeven ( <!ELEMENT Dessert ( ijs vrucht ) > ). Indien bepaalde onderdelen vaker kunnen voorkomen en/of optioneel zijn, kunnen we als occurrence indicator de volgende symbolen gebruiken: Symbool Beschrijving + Een [verplicht!] element kan een of meer keren voorkomen (>=1) * Een [optioneel!] element kan nul of meer keren voorkomen (>=0)? Een [optioneel!] element kan hoogstens een keer voorkomen (0, 1) Voor een XML-voorbeeld met een [of een hele verzameling] boek[en], geven we de volgende DTD: <!DOCTYPE BOEK [ <!ELEMENT BOEK ( Titel, Auteur+, Hoofdstuk+ )> <!ELEMENT Hoofdstuk ( Titel, Inhoud )> <!ELEMENT Inhoud ( Paragraaf+ )> <!ELEMENT Titel (#PCDATA)> <!ELEMENT Auteur (#PCDATA)> <!ELEMENT Paragraaf (#PCDATA)> ]> Een volgens deze DTD mogelijk geldig XML-document is: <!-- voorbeeld invulling : (dit is een commentaarregel) --> <BOEK> <Titel>Over XML</Titel> <Auteur>Jansen, Jan</Auteur> <Auteur>Pietersen, Els</Auteur> <Hoofdstuk> <Titel>1. Inleiding</Titel> <Inhoud> <Paragraaf>Hier staat de inhoud van de eerste paragraaf</paragraaf> <Paragraaf>En hier staat de inhoud van de tweede paragraaf</paragraaf> </Inhoud> </Hoofdstuk> <Hoofdstuk> <Titel>2. Titel van het tweede hoofdstuk</titel> <Inhoud> <Paragraaf>Inhoud paragraaf 2.1</Paragraaf> <Paragraaf>Inhoud paragraaf 2.2</Paragraaf> <Paragraaf>Inhoud paragraaf 2.3</Paragraaf> </Inhoud> </Hoofdstuk> </BOEK> In dit voorbeeld, het betreffende boek naast een titel ook de namen van 2 auteurs en vervolgens 2 hoofdstukken (elk bestaande uit een (hoofdstuk)titel + een uit 2 en 3 paragrafen opgebouwde inhoud ). 5

6 We geven hiernaast een ruw, mogelijk niet geheel correct voorbeeld van een vergelijkbaar ORMschema dat dezelfde structuur beschrijft. Met * is aangegeven, dat de daar aangegeven uniciteitsregel niet hoeft te kloppen. Zo wordt uit het DTD niet mogelijk of een auteur al dan niet meerdere boeken kan hebben (mee-) geschreven. Misschien zou een bepaald hoofdstuk wel in meerdere boeken kunnen voorkomen e.d.. Ook totaliteitsregels zijn door het DTD niet geheel gedefinieerd; mag bijvoorbeeld een hoofdstuk voorkomen, zonder dat het tot een boek behoort? Ook hier (b)lijkt ORM veel krachtigere modelleringsmogelijkheden te bezitten dan DTD. Boek / schreef * * Hoofdstuk Auteur Titel met Paragraaf Inhoud * Het bovenstaande is geheel in overeenstemming met het eerder genoemde tree-like karakter van XML/DTD: in de richting van de wortel naar de terminal -bladeren toe, kunnen via een DTD een aantal soorten constraints (zoals enkelvoudige uniciteiten en totaliteiten) redelijk worden beschreven. De meeste gebruikte ( normale, tree -based) parsers controleren inderdaad alleen in deze richting van wortel naar bladeren Externe DTS s Omdat DTDs meestal als een standaard voor meerdere XML -documenten worden gemaakt, bestaat ook de mogelijkheid zo n DTD -standaard in een apart bestand op te slaan en er vanuit relevante [XML- ] documenten als volgt naar te verwijzen (let op het gebruik van het woord SYSTEM): <!DOCTYPE LEDEN SYSTEM "D:/IS0/XML/Leden.DTD" > [ <!... met hier eventuele aanvullende definities voor dit ene document.. > <! > ] > N.B. Er moet dan géén <!DOCTYPE LEDEN... -regel meer in dat aparte DTD-bestand staan DTD-ATTLIST-definities ATTLIST : via attribuut definities kunnen we aangeven dat een ELEMENT een of meer attributen kan hebben, die echter in een andere volgorde kunnen voorkomen dan in die ATTLIST staat (N.B. een ELEMENT hoeft niet per se attributen te hebben!). De syntax voor een ATTLIST-declaratie is: <!ATTLIST element-naam attribuut-naam attribuut-type default-value > Bij het eerder gegeven voorbeeld <!ELEMENT BOEK (Titel, Auteur+, Hoofdstuk+ )> zou je als attribuutlijst kunnen hebben: <!ATTLIST BOEK isbnnr CDATA #REQUIRED >. Attributen kunnen vereist (#REQUIRED ), optioneel (#IMPLIED ) of vast ( #FIXED) zijn (de z.g. attribute defaults). Een van deze drie mogelijke default-values moet ingevuld worden. Let er op, dat deze attribute defaults wél voorafgegaan worden door een #, terwijl de eraan voorafgaande type-aanduiding (hier: CDATA) géén #. Let er ook op, dat bij definiëring van een ATTLIST onmiddellijk nà het woord ATTLIST steeds eerst de naam van het XML-element genoemd wordt en pas daarna de naam van het bijbehorende attribuut. Daarnaast bestaan een viertal z.g. tokenized attribute types ( ID, IDREF, ENTITY en NMTOKEN ), waarmee de opsteller van de DTD in staat is de toegestane waarden voor een bepaald attribuut te bewaken. ID moet een unieke identifier voor het bewuste ELEMENT zijn. Attributen van het type IDREF verwijzen naar een ELEMENT met een ID-attribuut; elke IDREF-waarde moet naar een gelijke ID waarde in het XML-document verwijzen. Door gebruik te maken van een ID-attribuut kunnen we dus [als tenminste de XML-data terdege geparsed/gecontroleerd worden op naleving van de eisen van het betreffende DTD], een -in NIAM/FCO-IM/ORM-terminologie- uniciteitsregel afdwingen. Via een IDREF-attribuut is een soort foreign key-verwijzing te simuleren, zij het dat zowel de ID- als de ernaar verwijzende IDREFattribuutwaarde in eenzelfde XML-document moeten voorkomen. 6

7 Uit het boek XML, How to program van Deitel, Deitel, Nieto, Lin & Sadhu halen we het volgende voorbeeld met betrekking tot het gebruik van ID/IDREF: <?xml version = "1.0"?> <!-- Example for ID and IDREF values of attributes --> <!DOCTYPE bookstore [ <!ELEMENT bookstore ( shipping+, book+ )> <!ELEMENT shipping ( duration )> <!ATTLIST shipping shipid ID #REQUIRED> <!ELEMENT book ( #PCDATA ) > <!ATTLIST book shippedby IDREF #IMPLIED> <!ELEMENT duration ( #PCDATA ) > ] > <bookstore> <shipping shipid = "s1"> <duration>2 to 4 days</duration> </shipping> <shipping shipid = "s2"> <duration>1 day</duration> </shipping> <book shippedby = "s2"> Java How to Program 3rd edition. </book> krijgt of kreeg Boek <book shippedby = "s2"> C How to Program 3rd edition. </book> Boekwinkel geleverd bij <book shippedby = "s1"> C++ How to Program 3rd edition. </book> </bookstore> krijgt of kreeg * Levering (ShipID) met Levertijd In het rechts aangegeven ORM-schema, waarbij geprobeerd is een ORM-model te maken van de door het DTD beschreven situatie, zijn weer een aantal zaken onzeker, zoals: Kan een levering ook voor meerdere boekwinkels tegelijk zijn?. Ook is het vreemd dat Boek van een value -type lijkt te zijn. Als we voorgaande DTD/XML-tekst [via Copy/Paste] invoeren in MicroSofts XML Validator en we veranderen bij het laatste book-element de shippedby-attribuutwaarde in s5, dan verschijnt de melding: The attribute ' shippedby' references the ID ' s5' which s not i defined anywhere in the document. Line: 31, Position: 28, ErrorCode: 0xC00CE00E Ook mogelijk bij het gebruik van attributen zijn de z.g. enumerated attribute types, waarbij een lijst van mogelijke waarden aangegeven wordt, die een attribuut mag hebben. Dat kan iets zijn van de vorm: <!ATTLIST person gender ( M F ) F #REQUIRED> waarbij F als default-waarde is aangegeven. Via dergelijke enumerated attribute types zijn de voor ons van ORM bekende waarderegels aan te geven en af te dwingen DTD-ENTITY- en DTD-NOTATION-definities Over betekenis en gebruik van deze twee sleutelwoorden willen we hier weinig vermelden. Een entity is in XML -terminologie eigenlijk een variabele waar een waarde aan toegekend kan worden en waarvan de waarde door referentie via & +entity-naam+ ; opgevraagd kan worden. Ook in HTML hebben we dat al ongemerkt toegepast; omdat in HTML opmaaktekens als > niet rechtstreeks kunnen worden afgedrukt, zijn die tekens impliciet in entities/variabelen opgeslagen. Daarom kunnen we via HTML dat > -teken toch op het beeldscherm krijgen via de referentie >. Als voorbeeld van hetgebruik van een ENTITY-definitie geven we hier: <!DOCTYPE EntityProbeersel [ <!ELEMENT EntityProbeersel ( #PCDATA ) > <!ENTITY variabelenaam "haar hond Tarzan" > ]> 7

8 <EntityProbeersel> Els en &variabelenaam; met nog wat! </EntityProbeersel> Als we dit bestand in Internet Explorer 5 laden, dan zien we dat de substitutie plaatsgevonden: <!DOCTYPE EntityProbeersel (View Source for full doctype...)> <EntityProbeersel>Els en haar hond Tarzan met nog wat!</entityprobeersel> Door gebruik te maken van de SYSTEM -optie is het ook mogelijk de waarde voor een ENTITY uit een ander bestand te laten ophalen. Dat kan via een constructie als: <!ENTITY variabelenaam SYSTEM "D:/is0/xml/Varwaarde.txt" > Op het gebruik van <!NOTATION... > gaan we hier niet in. N.B. een (krachtiger) alternatief voor DTD s zijn de z.g. XML Schema s (o.a. afkomstig van en gepropageerd/ondersteund door Microsoft) waarbij het o.a. ook mogelijk is om het vereiste gegevenstype (int, date, char, string e.d.) aan te geven!! Mede door hun tekstuele aard zijn deze schema s al snel zo complex, dat je ze eigenlijk alleen door een tool kunt laten genereren. 8.3 XML-querytalen en XSL: extensible Stylesheet Language Tot nu toe hebben we ons gericht op het via XML aangeven van de structuur van gegevens en het via DTD definiëren van hoe die structuur kan en moet zijn. Zoals we al eerder aangaven is de bedoeling van dat structuren, dat expliciet aangegeven wordt wat de betekenis van bepaalde gegevens is. Herinner je uit de inleiding dat voorbeeld van: Saskia van Tilburg woont in Amsterdam op de Hof van Hoorn 27. en dat we ons daarbij afvroeg en wat de functie van de verschijnende plaatsnamen dan wel was. Via de aangebrachte XML-tags moet het nu ook mogelijk zijn om in een XML-document gewenste gegevens te selecteren. Vaak worden op het Internet via XML gestructureerde gegevens (b.v. van een bestelling via WWW) aangeleverd en vervolgens door een speciale applicatie geanalyseerd en ingebracht in een grote relationele database. Voor het kunnen bewerken van XML-data zou een standaard XML-querytaal (zoals SQL voor relationele databasesystemen) erg nuttig zijn. Zo n defacto standaard bestaat echter [nog] niet. W3C is bezig met het ontwikkelen van een specificatie voor XQuery (de voorziene officiële XMLquerytaal). 4 Een aantal bestaande XML-querytalen zijn: XML-QL (van AT&T Labs), XQL (van Microsoft), Lorel, UnQL, Quilt en YaTL. Een aantal interessante mogelijkheden voor het selecteren van XML-data zijn reeds aanwezig in XSL [extensible Stylesheet Language]. We tonen hierna een voorbeeld van het gebruik van XSL. We gaan daarbij uit van de eerder besproken, via XML gestructureerde LEDEN -verzameling. Omdat we van plan zijn ze via een Web-browser op een bepaalde manier te laten zien, vermelden we op regel 2 van het volgende bestand, volgens welk.xsl -bestand [XSL: extensible Stylesheet Language] ze getoond moeten worden: <?xml version="1.0"?> <?xml:stylesheet type="text/xsl" href="leden.xsl"?> <LEDEN> <LID> <Naam> <Voornaam>Jan</Voornaam> <Achternaam>Janssen</Achternaam> </Naam> <Adres>Annastraat 123</Adres> <Plaats>Nijmegen</Plaats> <LID> 4 Zie: Quering XML-data door Ikram Abasov, (KUN-student) 30/03/2001 8

9 <Naam> <Voornaam>Els</Voornaam> <Achternaam>Pietersen</Achternaam> </Naam> <Adres>Molenweg 33</Adres> <Plaats>Nijmegen</Plaats> </LEDEN> We geven nu de inhoud van de genoemde Leden.xsl-stylesheet: <?xml version="1.0"?> <html xmlns:xsl=" > <H3>Ledenoverzicht</H3> <body> <xsl:for-each select="leden/lid"> <h4> <xsl:value-of select = "Naam/Voornaam" /> <xsl:value-of select = "Naam/Achternaam" /> </h4> <I> <xsl:value-of select ="Adres" /> <xsl:value-of select ="Plaats" /> </I> </xsl:for-each> </body> </html> N.B. waar de 2 e regel in dit XLS-bestand voor dient, is mij (GP) een raadsel (functioneert ook zonder internet-verbinding!) Via XSL-selectie-opdrachten als <xsl:value-of select =.... /> is het mogelijk om de gewenste attributen te selecteren en de hen toebedachte behandeling te geven. Via de XSL-iterator-functie <xsl:for-each select =.... /> is het mogelijk om door het gehele gegevensbestand heen te gaan en bij elk lid op de gewenste wijze de genoemde attribuut -waarden te tonen. Indien we het Leden.xml-bestand nu in een Web-browser (die XML aankan!) laden, krijgen we voor dit voorbeeld het volgende overzicht: Ledenoverzicht Jan Janssen Annastraat 123 Nijmegen Els Pietersen Molenweg 33 Nijmegen Bij gebruik van een ander.xsl-bestand kan dit overzicht op een totaal andere manier verschijnen. 8.4 Mapping van XML(/DTD) naar relationele tabel(structuur) Voorlopige versie: De voor ons gemakkelijkste wijze om een XML/DTD gegevensstructuur te mappen naar een relationele tabelstructuur, is die via ORM. Maak eerst een zo goed mogelijk (de reden daarvoor hebben we hiervoor gezien) met de XML/DTD-structuur corresponderend ORM-schema en bepaal daaruit de benodigde relationele database-structuur. Er wordt her en der voor deze mapping aan directe transformatie-algoritmen gewerkt, maar die werken nog niet optimaal. Zie als voorbeeld Mapping DTDs to Databases, by Ronald Bourret, May 09, 2001 via URL: 9

10 Met daarin o.a. To start, notice that there is an obvious mapping between the following XML document, object, and row in a table: XML Objects Tables ============= ============ =============== Table A <A> object A { <B>bbb</B> B = "bbb" B C D <C>ccc</C> <=> C = "ccc" <=> <D>ddd</D> D = "ddd" </A> } bbb ccc ddd Similarly, there is an obvious mapping between the following element type definition, class, and table schema: DTD Classes Table Schema ====================== ============ ========================== class A { CREATE TABLE A String B; B VARCHAR(10) NOT NULL, <!ELEMENT A (B, C, D)> <=> String C; <=> C VARCHAR(10) NOT NULL, String D; D VARCHAR(10) NOT NULL } ) Bij het gebruik van complexere DTD s (met ATTLIST e.d.) worden deze transformaties eveneens complexer zoals bijvoorbeeld: DTD Classes Tables ======================== ============== ============== <!ELEMENT A (B, C)> class A { Table A <!ATTLIST A String b; Column a_pk D IDREFS #IMPLIED> ==> String c; ==> Column b <!ELEMENT B (#PCDATA)> String[] d; Column c <!ELEMENT C (#PCDATA)> } Table D Column a_fk Column d Waarbij in de relationele tabellen de uitgang _pk staat voor primary key en de uitgang _fk voor foreign key. Er wordt ook een algoritme besproken voor het omzetten van XML/DTD naar relationele databaseschema s, ofschoon bij de hierna geschetste transformatie als opmerking wordt geplaatst: A generated schema isn' t going to be the same as a human would have written. In addition to naming problems (for example, a person might have called the tables Orders, Items, and Parts), the generation algorithm was unable to determine that the relationship between Items and Parts was many-to-one. The algorithm was also unable to recognize that OrderNum and PartNum could be used as primary keys. Als we onze eigen aanpak (via het eerst opstellen van een zo goed mogelijk overeenkomstig ORM - schema en het vervolgens mappen naar een relationele structuur) loslaten op het voorbeeld van de laatste hiervoor gegeven transformatie, dan komen we eigenlijk tot een andere uitkomst. Het meest voor de hand liggende ORM-schema is hiernaast weergegeven. A verplichte rollen met B en C, maar de rol naar D is optioneel (immers: een implied attribuut). Mapping daarvan naar een relationele structuur levert één D enkele tabel op, met D als optionele kolom (hetgeen dus met afwijkend is van de door henzelf gevonden structuur met 2 tabellen, waarbij de waarde van d alleen via een foreign key gekoppeld mag zijn aan een waarde van a die ook in de andere tabel voorkomt). Ons resultaat lijkt dus heel wat beter en op een elegantere wijze verkregen. A met met B C 10

DTD - Inleiding. Document Type Definitions (DTDs)

DTD - Inleiding. Document Type Definitions (DTDs) DTD document Type Definition inleiding dtd - Elementen dtd - Attributen dtd - Commentaar dtd En verder... dtd

Nadere informatie

Sparse columns in SQL server 2008

Sparse columns in SQL server 2008 Sparse columns in SQL server 2008 Object persistentie eenvoudig gemaakt Bert Dingemans, e-mail : info@dla-os.nl www : http:// 1 Content SPARSE COLUMNS IN SQL SERVER 2008... 1 OBJECT PERSISTENTIE EENVOUDIG

Nadere informatie

XML Introductie.

XML Introductie. XML Introductie joost.vennekens@denayer.wenk.be http://telescript.denayer.wenk.be/~jve extenstible Markup Language Aanbrengen van extra informatie in tekst Betekenis van de tekst beschrijven Uitbreidbaar:

Nadere informatie

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

Module V - XML. Stefan Flipkens - Cursus: Internet - Intranet (2004-2005) V 1 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

Nadere informatie

SQL datadefinitietaal

SQL datadefinitietaal SQL datadefinitietaal We kunnen er het schema van de database mee bepalen: metadata toevoegen, wijzigen en verwijderen uit een database. Basiscommando's: CREATE : toevoegen van metagegevens DROP : verwijderen

Nadere informatie

XML & XSLT voor DMO. Datamodellering 2008. Een XML datamodel. conceptueel model logisch / fysiek model: platform afhankelijk

XML & XSLT voor DMO. Datamodellering 2008. Een XML datamodel. conceptueel model logisch / fysiek model: platform afhankelijk XML & XSLT voor DMO Datamodellering 2008 1/24 Een XML datamodel Datamodelleren conceptueel model logisch / fysiek model: platform afhankelijk Logisch-fysieke model voor XML-platform = XML schema, b.v.:

Nadere informatie

Zelftest XML Concepten

Zelftest XML Concepten Zelftest XML Concepten Document: n1035test.fm 18/02/2010 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INLEIDING Om een idee te hebben van wat we verwachten als voorkennis

Nadere informatie

SQL is opgebouwd rond een basisinstructie waaraan één of meerdere componenten worden toegevoegd.

SQL is opgebouwd rond een basisinstructie waaraan één of meerdere componenten worden toegevoegd. BASISINSTRUCTIES SQL SQL : Structured Query Language is een taal gericht op het ondervragen van een relationele database en die aan veel klassieke databasemanagementsystemen kan worden gekoppeld. SQL is

Nadere informatie

DBMS. DataBase Management System. Op dit moment gebruiken bijna alle DBMS'en het relationele model. Deze worden RDBMS'en genoemd.

DBMS. DataBase Management System. Op dit moment gebruiken bijna alle DBMS'en het relationele model. Deze worden RDBMS'en genoemd. SQL Inleiding relationele databases DBMS DataBase Management System!hiërarchische databases.!netwerk databases.!relationele databases.!semantische databases.!object oriënted databases. Relationele databases

Nadere informatie

SQL en XML. XML schema s & DMO. Entiteitsklasse en attribuut. SQL en XML. Datamodellering Schema een ruim begrip (zie Møller, p.

SQL en XML. XML schema s & DMO. Entiteitsklasse en attribuut. SQL en XML. Datamodellering Schema een ruim begrip (zie Møller, p. SQL en XML Datamodellering 2007 1 XML schema s & DMO Schema een ruim begrip (zie Møller, p. 96) DTD schema W3C Schema In dit overzicht: Wat zijn de belangrijke zaken uit XML voor datamodellering? (onvolledig)

Nadere informatie

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

BEFDSS. Het Belgische uitwisselingsformaat voor onderzoekgegevens afkomstig van visueel rioolonderzoek. 1/12/2006 1 / 6 Het Belgische uitwisselingsformaat voor onderzoekgegevens afkomstig van visueel rioolonderzoek. 1/12/2006 1 / 6 Inhoudstafel... 1 1 Voorwoord... 3 2 De samenstelling van het uitwisselingsformaat... 4 3

Nadere informatie

Het omzetten van een ER-diagram naar SQL

Het omzetten van een ER-diagram naar SQL Het omzetten van een ER-diagram naar SQL Huub de Beer Eindhoven, 4 juni 2011 Omzetting ER-diagram naar SQL in twee stappen 1: ER-Diagram relationeel model Onderwerp van hoofdstuk 3 Entiteittype relatie,

Nadere informatie

Correspondentie inzake overnemen of reproductie kunt u richten aan:

Correspondentie inzake overnemen of reproductie kunt u richten aan: Vrijwel alle namen van software- en hardwareproducten die in deze cursus worden genoemd, zijn tegelijkertijd ook handelsmerken en dienen dienovereenkomstig te worden behandeld. Alle rechten voorbehouden.

Nadere informatie

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

Software 1. Basis HTML. bachelor grafische en digitale media cross-media ontwerp & grafimediatechnologie academiejaar 2009-2010 semester 1 Software 1 Basis HTML bachelor grafische en digitale media cross-media ontwerp & grafimediatechnologie academiejaar 2009-2010 semester 1 Alain Simons alain.simons@artesis.be Basis HTML 1. Introductie 2.

Nadere informatie

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

Een webpagina maken. Een website bouwen met HTML en CSS practicum 1 Een webpagina maken De komende periode wordt in 8 practica een aantal technieken behandeld, die je nodig hebt om een (eenvoudige) website te kunnen bouwen. Nadat je deze 8 practica hebt doorgewerkt, moet

Nadere informatie

Datamodelleren en databases 2011

Datamodelleren en databases 2011 Datamodelleren en databases 21 Capita selecta 1 In dit college Modelleren Normaliseren Functionele afhankelijkheid 1-3N M:N-relaties, associatieve entiteittypes, ternaire relaties Weak entiteittypes Multivalued

Nadere informatie

Rd 1 MULTIMEDIA DEEL2

Rd 1 MULTIMEDIA DEEL2 1 MULTIMEDIA DEEL2 2 XML. Xml documenten geven een groter gemak in uitwisselen van gegevens. In de jaren 80 had men de EDI of Electronic Data Interchange Daaruit volgde dan SGML ofd Standard Generalized

Nadere informatie

XML Introductie. joost.vennekens@kuleuven.be http://www.cs.kuleuven.be/~joost

XML Introductie. joost.vennekens@kuleuven.be http://www.cs.kuleuven.be/~joost XML Introductie joost.vennekens@kuleuven.be http://www.cs.kuleuven.be/~joost extensible Markup Language Aanbrengen van extra informatie in tekst Betekenis van de tekst beschrijven Uitbreidbaar: afhankelijk

Nadere informatie

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

open standaard hypertext markup language internetprotocol transmission control protocol internet relay chat office open xml DOWNLOAD OR READ : OPEN STANDAARD HYPERTEXT MARKUP LANGUAGE INTERNETPROTOCOL TRANSMISSION CONTROL PROTOCOL INTERNET RELAY CHAT OFFICE OPEN XML PDF EBOOK EPUB MOBI Page 1 Page 2 relay chat office open xml

Nadere informatie

Instructie Abonnementsgebied in Bravo SVB-BGT Bravo

Instructie Abonnementsgebied in Bravo SVB-BGT Bravo Instructie Abonnementsgebied in Bravo SVB-BGT Bravo Martijn Luking 26 februari 2016 Versie: 1.2 WWW.TRANSFER-SOLUTIONS.COM Documentbeheer Versiebeheer Nr Datum Opgesteld door Omschrijving 1.0 04-02-2016

Nadere informatie

De plug-in is heel eenvoudig te installeren met een setup-programma. Waarna je een aantal menu opties in het tools menu er bij krijgt.

De plug-in is heel eenvoudig te installeren met een setup-programma. Waarna je een aantal menu opties in het tools menu er bij krijgt. Plsqldoc Genereer je documentatie Beeklaan 444 2562 BK Den Haag www.darwin-it.nl info@darwin-it.nl KvK 27283780 ING 65.35.40.663 Technical Architect Net als (vrijwel) elke ontwikkelaar vind ik het documenteren

Nadere informatie

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

Adlib Gebruikersdag 2012. adlibxml/xslt in de praktijk Breukelen 2 mei 2013 Solino de Baay s.debaay@adlibsoft.com Adlib Gebruikersdag 2012 adlibxml/xslt in de praktijk Breukelen 2 mei 2013 Solino de Baay s.debaay@adlibsoft.com Programma XML en adlibxml Transformeren XSL Elementen Functies Xpath De praktijk 2 XML XML

Nadere informatie

NHibernate als ORM oplossing

NHibernate als ORM oplossing NHibernate als ORM oplossing Weg met de SQL Queries Wat is ORM? ORM staat in dit geval voor Object Relational Mapping, niet te verwarren met Object Role Modeling. ORM vertaalt een objectmodel naar een

Nadere informatie

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

Info-books. Toegepaste Informatica. Deel 35: XML - XSL HO35. Jos Gils Erik Goossens Info-books HO35 Toegepaste Informatica Deel 35: XML - XSL Jos Gils Erik Goossens Hoofdstuk 5 Het Document Object Model 5.1 Probleemstelling Wanneer je de inhoud van een document en de presentatie uiteen

Nadere informatie

Correspondentie inzake overnemen of reproductie kunt u richten aan:

Correspondentie inzake overnemen of reproductie kunt u richten aan: - XSL-FO Vrijwel alle namen van software- en hardwareproducten die in deze cursus worden genoemd, zijn tegelijkertijd ook handelsmerken en dienen dienovereenkomstig te worden behandeld. Alle rechten voorbehouden.

Nadere informatie

Handleiding voor Zotero versie 2.0

Handleiding voor Zotero versie 2.0 Handleiding voor Zotero versie 2.0 Michiel Wolda De handleiding voor Zetero is geschreven voor de lezers van het boek Deskresearch: Informatie selecteren, beoordelen en verwerken: tweede editie (Van Veen

Nadere informatie

SQL manipulatietaal. We kunnen er data mee toevoegen, wijzigen en verwijderen uit een database.

SQL manipulatietaal. We kunnen er data mee toevoegen, wijzigen en verwijderen uit een database. SQL manipulatietaal We kunnen er data mee toevoegen, wijzigen en verwijderen uit een database. Basiscommando's: INSERT : toevoegen van gegevens DELETE : verwijderen van gegevens UPDATE : wijzigen van gegevens

Nadere informatie

6. Het maken van een database

6. Het maken van een database 6. Het maken van een database 6.1. Inleiding In hoofdstuk 5 heb je de oefendatabase gemaakt doormiddel van een script. In dit hoofdstuk ga je zelf een database maken en deze vullen met tabellen. Hiervoor

Nadere informatie

Relationele Databases 2002/2003

Relationele Databases 2002/2003 1 Relationele Databases 2002/2003 Hoorcollege 3 24 april 2003 Jaap Kamps & Maarten de Rijke April Juli 2003 Plan voor Vandaag Praktische dingen 2.1, 2.3, 2.6 (alleen voor 2.2 en 2.3), 2.9, 2.10, 2.11,

Nadere informatie

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

Project Software Engineering XML parser: Parsen van een xml CD catalogus Project Software Engineering XML parser: Parsen van een xml CD catalogus Brent van Bladel brent.vanbladel@uantwerpen.be February 16, 2017 XML (Extensible Markup Language) is een taal waarmee we op een

Nadere informatie

Formulieren maken met Dreamweaver CS 4/CS 5

Formulieren maken met Dreamweaver CS 4/CS 5 Formulieren maken met Dreamweaver CS 4/CS 5 In deze handleiding leer je om een formulier en elementen die je binnen een formulier kunt gebruiken, te ontwerpen met Dreamweaver. Het uitgangspunt is dat dit

Nadere informatie

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

Technisch Ontwerp W e b s i t e W O S I Technisch Ontwerp W e b s i t e W O S I WOSI Ruud Jungbacker en Michael de Vries - Technisch ontwerp Website Document historie Versie(s) Versie Datum Status Omschrijving / wijzigingen 0.1 20 nov 2008 Concept

Nadere informatie

MyDHL+ Van Non-Corporate naar Corporate

MyDHL+ Van Non-Corporate naar Corporate MyDHL+ Van Non-Corporate naar Corporate Van Non-Corporate naar Corporate In MyDHL+ is het mogelijk om meerdere gebruikers aan uw set-up toe te voegen. Wanneer er bijvoorbeeld meerdere collega s van dezelfde

Nadere informatie

DATAMODELLERING ER DIAGRAM

DATAMODELLERING ER DIAGRAM DATAMODELLERING ER DIAGRAM Inleiding In dit whitepaper wordt de datamodelleervorm ER diagram beschreven. Deze modelleervorm staat in verhouding tot een aantal andere modelleervormen. Wil je een beeld krijgen

Nadere informatie

SAMPLE 11 = + 11 = + + Exploring Combinations of Ten + + = = + + = + = = + = = 11. Step Up. Step Ahead

SAMPLE 11 = + 11 = + + Exploring Combinations of Ten + + = = + + = + = = + = = 11. Step Up. Step Ahead 7.1 Exploring Combinations of Ten Look at these cubes. 2. Color some of the cubes to make three parts. Then write a matching sentence. 10 What addition sentence matches the picture? How else could you

Nadere informatie

Databases en SQL Foundation (DBSQLF.NL)

Databases en SQL Foundation (DBSQLF.NL) Databases en SQL Foundation (DBSQLF.NL) EXIN Hét exameninstituut voor ICT ers Janssoenborch - Hoog Catharijne Godebaldkwartier 365 3511 DT Utrecht Postbus 19147 3501 DC Utrecht Nederland T +31 30 234 48

Nadere informatie

DBMS SQL. Relationele databases. Sleutels. DataBase Management System. Inleiding relationele databases. bestaan uit tabellen.

DBMS SQL. Relationele databases. Sleutels. DataBase Management System. Inleiding relationele databases. bestaan uit tabellen. SQL Inleiding relationele databases DBMS DataBase Management System!hiërarchische databases.!netwerk databases.!relationele databases.!semantische databases.!object oriënted databases. Op dit moment gebruiken

Nadere informatie

Inhoud. Voorwoord Belangrijkste kenmerken van dit boek De opzet van dit boek Over de auteur Woord van dank

Inhoud. Voorwoord Belangrijkste kenmerken van dit boek De opzet van dit boek Over de auteur Woord van dank v Voorwoord Belangrijkste kenmerken van dit boek De opzet van dit boek Over de auteur Woord van dank 1 Introductie: data en informatie 1.0 Wat leer je in dit hoofdstuk? 1.1 Verschil tussen gegevens en

Nadere informatie

Elementary Data Structures 3

Elementary Data Structures 3 Elementary Data Structures 3 Ferd van Odenhoven Fontys Hogeschool voor Techniek en Logistiek Venlo Software Engineering 29 september 2014 ODE/FHTBM Elementary Data Structures 3 29 september 2014 1/14 Meer

Nadere informatie

MyDHL+ ProView activeren in MyDHL+

MyDHL+ ProView activeren in MyDHL+ MyDHL+ ProView activeren in MyDHL+ ProView activeren in MyDHL+ In MyDHL+ is het mogelijk om van uw zendingen, die op uw accountnummer zijn aangemaakt, de status te zien. Daarnaast is het ook mogelijk om

Nadere informatie

NCTS - INFORMATIE INZAKE NIEUWIGHEDEN VOOR 2010

NCTS - INFORMATIE INZAKE NIEUWIGHEDEN VOOR 2010 NCTS - INFORMATIE INZAKE NIEUWIGHEDEN VOOR 2010 Op basis van het nieuwe artikel 365, lid 4 (NCTS) en het nieuwe artikel 455bis, lid 4 (NCTS-TIR) van het Communautair Toepassingswetboek inzake douane 1

Nadere informatie

DocBook XML documenten bewerken

DocBook XML documenten bewerken LinuxFocus article number 201 http://linuxfocus.org door Egon Willighagen DocBook XML documenten bewerken Over de auteur: Haalde zijn masters degree in de chemie aan de Universiteit

Nadere informatie

Databases - Inleiding

Databases - Inleiding Databases Databases - Inleiding Een database is een verzameling van een aantal gegevens over een bepaald onderwerp: een ledenbestand van een vereniging, een forum, login gegevens. In een database worden

Nadere informatie

Handleiding Installatie ADS

Handleiding Installatie ADS Handleiding Installatie ADS Versie: 1.0 Versiedatum: 19-03-2014 Inleiding Deze handleiding helpt u met de installatie van Advantage Database Server. Zorg ervoor dat u bij de aanvang van de installatie

Nadere informatie

Een ASP.NET applicatie opzetten. Beginsituatie:

Een ASP.NET applicatie opzetten. Beginsituatie: Hoofdstuk 1 Een ASP.NET applicatie opzetten Beginsituatie: Windows XP Pro, Windows Vista Pro of Windows 7 Pro Visual Studio.NET moet zijn geïnstalleerd. Let hierbij op dat de Express versie niet voldoet.

Nadere informatie

1. Milieuklacht... 2 1.1 Handleiding opladen XML in mkros... 2 2. Werken met Refertes... 5

1. Milieuklacht... 2 1.1 Handleiding opladen XML in mkros... 2 2. Werken met Refertes... 5 1. Milieuklacht............................................................................................. 2 1.1 Handleiding opladen XML in mkros......................................................................

Nadere informatie

Werken op afstand via internet

Werken op afstand via internet HOOFDSTUK 12 Werken op afstand via internet In dit hoofdstuk wordt uitgelegd wat er nodig is om op afstand met de ROS artikel database te kunnen werken. Alle benodigde programma s kunnen worden gedownload

Nadere informatie

Instructie Abonnementsgebied in Bravo

Instructie Abonnementsgebied in Bravo Instructie Abonnementsgebied in Bravo Martijn Luking (Transfer Solutions) André Boom (SVB-BGT) 10-aug-2018 Versie: 1.7 Documentbeheer Versiebeheer Nr Datum Opgesteld door Omschrijving 1.0 04-02-2016 Martijn

Nadere informatie

Systeemontwikkeling, Hoofdstuk 4, Tabellen maken in MS Access 2010

Systeemontwikkeling, Hoofdstuk 4, Tabellen maken in MS Access 2010 4 Tabellen maken in MS Access In dit hoofdstuk starten we met de bouw van ons informatiesysteem met de belangrijkste bouwstenen: de tabellen. 4.1 Starten met MS Access Als je het programma Microsoft Access

Nadere informatie

Database Structuur via menus

Database Structuur via menus Data Dictionary Database Structuur via menus Na het normaliseren en maken van een data dictionary kunnen de tabellen worden ingevoerd in de database. In deze les wordt getoond hoe dit in Access gebeurt.

Nadere informatie

Y.S. Lubbers en W. Witvoet

Y.S. Lubbers en W. Witvoet WEBDESIGN Eigen Site Evaluatie door: Y.S. Lubbers en W. Witvoet 1 Summary Summary Prefix 1. Content en structuur gescheiden houden 2. Grammaticaal correcte en beschrijvende markup 3. Kopregels 4. Client-

Nadere informatie

Instructie Abonnementsgebied in Bravo

Instructie Abonnementsgebied in Bravo Instructie Abonnementsgebied in Bravo Martijn Luking (Transfer Solutions) André Boom (SVB-BGT) 5 december 2016 Versie: 1.4 Documentbeheer Versiebeheer Nr Datum Opgesteld door Omschrijving 1.0 04-02-2016

Nadere informatie

Van een ER-diagram naar een database specificatie in SQL

Van een ER-diagram naar een database specificatie in SQL Van een ER-diagram naar een database specificatie in SQL Huub de Beer Eindhoven, 4 juni 2011 Inhoudsopgave 1 Inleiding 1 2 Van een ER-diagram naar het relationele model 1 3 Van relationeel model naar SQL

Nadere informatie

AFO 133 - Invoer /output profielen

AFO 133 - Invoer /output profielen AFO 133 - Invoer /output profielen Het startpunt voor alle conversies is AFO 133. In deze AFO dient u aan te geven wat de structuur is van het bestand dat u wenst in te lezen of uit te schrijven. Hiervoor

Nadere informatie

Data Handling Ron van Lammeren - Wageningen UR

Data Handling Ron van Lammeren - Wageningen UR Data Handling 1 2010-2011 Ron van Lammeren - Wageningen UR Can I answer my scientific questions? Geo-data cycle Data handling / introduction classes of data handling data action models (ISAC) Queries (data

Nadere informatie

XML & XSLT voor DMO. Een XML datamodel. Van ERD naar XML schema. XML en XSLT DMO Datamodellering 2008

XML & XSLT voor DMO. Een XML datamodel. Van ERD naar XML schema. XML en XSLT DMO Datamodellering 2008 XML & XSLT voor DMO Datamodellering 2008 1/24 Een XML datamodel Datamodelleren conceptueel model logisch / fysiek model: platform afhankelijk Logisch-fysieke model voor XML-platform = XML schema, b.v.:

Nadere informatie

Systeemarchitecturen en opslag van gegevens

Systeemarchitecturen en opslag van gegevens Systeemarchitecturen en opslag van gegevens Deel 3: zoeken in ongestructureerde gegevens Dr. Wilfried Lemahieu wilfried.lemahieu@econ.kuleuven.ac.be Gestructureerde versus ongestructureerde gegevens De

Nadere informatie

Handleiding RS Form! 1.0.4

Handleiding RS Form! 1.0.4 Handleiding RS Form! 1.0.4 Inhoud 1. Controlepaneel... 3 2. Forms Manager... 4 2.1 Nieuwe form aanmaken... 4 2.2 Nieuwe fields toevoegen... 7 2.3 Wijzigen/verwijderen bestaande Forms, Fields... 10 Versie

Nadere informatie

Handleiding RefWorks 2016

Handleiding RefWorks 2016 Handleiding RefWorks 2016 1. Inleiding 2. Registreren en account aanmaken 3. Verzamelen van referenties 4. Beheren en organiseren van referenties 5. Verwijderen van dubbele referenties 6. Bestanden toevoegen

Nadere informatie

BIM-validatietool Toetst data bij aanlegprojecten

BIM-validatietool Toetst data bij aanlegprojecten BIM-validatietool Toetst data bij aanlegprojecten Overzicht validatieregels Categorie en validatieregel Omschrijving COINS 1 Categorie COINS/Validatieregel 1 Is de COINS container een zip-bestand? COINS

Nadere informatie

Data Definition Language

Data Definition Language Data Definition Language We gaan hier dezelfde database gebruiken als in de vorige les. Nu gaan we deze echter maken met behulp van DDL gedeelte van SQL. Om in het SQL deel van Microsoft Access te komen

Nadere informatie

Relationele databases

Relationele databases Relationele databases Normaliseert eer gij begint! Normalisatie is van zeer groot belang bij het ontwikkelen van een database applicatie. De kern van de zaak, de doelstelling : Efficiënt beheer van data.

Nadere informatie

Relationele Databases 2002/2003

Relationele Databases 2002/2003 1 Relationele Databases 2002/2003 Hoorcollege 4 8 mei 2003 Jaap Kamps & Maarten de Rijke April Juli 2003 Plan voor Vandaag Praktische dingen 3.1, 3.2, 3.3, 3.4, 3.5. SQL Aantekeningen 2 Tabellen. Theorie

Nadere informatie

Find Neighbor Polygons in a Layer

Find Neighbor Polygons in a Layer Find Neighbor Polygons in a Layer QGIS Tutorials and Tips Author Ujaval Gandhi http://google.com/+ujavalgandhi Translations by Dick Groskamp This work is licensed under a Creative Commons Attribution 4.0

Nadere informatie

Metro Simulatie. 1 Samenvatting. 2 Context

Metro Simulatie. 1 Samenvatting. 2 Context Metro Simulatie Documentsoort: Behoeftespecificatie Versie: 1.2 Datum: 15 februari 2017 Auteurs: Brent van Bladel Status: Opgeleverd 1 Samenvatting Dit document bevat de specificaties voor een informaticasysteem

Nadere informatie

Relationele Databases 2002/2003

Relationele Databases 2002/2003 Relationele Databases 2002/2003 Hoorcollege 4 8 mei 2003 Jaap Kamps & Maarten de Rijke April Juli 2003 1 Plan voor Vandaag Praktische dingen Huiswerk 3.1, 3.2, 3.3, 3.4, 3.5. SQL Aantekeningen 2 Tabellen.

Nadere informatie

Recursive-Descent Parsing

Recursive-Descent Parsing Week 2 Recursive-Descent Parsing PRACTICUM Tijdens dit practicum wordt een eenvoudige one-pass recursive-descent vertaler ontwikkeld in Java. We volgen daarbij hoofdstuk 4 van Watt & Brown. De te ontwikkelen

Nadere informatie

ALL-CRM Gebruikers Handleiding AC-DataClean 7.0

ALL-CRM Gebruikers Handleiding AC-DataClean 7.0 ALL-CRM Gebruikers Handleiding AC-DataClean 7.0 Auteur: Jeroen van der Werff Datum: 28-02-2014 Versie: v1.3 Reference: 2014, All-CRM 1 Inhoudsopgave 1 Inhoudsopgave 2 2 Document geschiedenis 3 3 Disclaimer

Nadere informatie

MyDHL+ Uw accountnummer(s) delen

MyDHL+ Uw accountnummer(s) delen MyDHL+ Uw accountnummer(s) delen met anderen Uw accountnummer(s) delen met anderen in MyDHL+ In MyDHL+ is het mogelijk om uw accountnummer(s) te delen met anderen om op uw accountnummer een zending te

Nadere informatie

Hoe te verbinden met NDI Remote Office (NDIRO): Apple OS X How to connect to NDI Remote Office (NDIRO): Apple OS X

Hoe te verbinden met NDI Remote Office (NDIRO): Apple OS X How to connect to NDI Remote Office (NDIRO): Apple OS X Handleiding/Manual Hoe te verbinden met (NDIRO): Apple OS X How to connect to (NDIRO): Apple OS X Inhoudsopgave / Table of Contents 1 Verbinden met het gebruik van Apple OS X (Nederlands)... 3 2 Connect

Nadere informatie

LOGISTIEK Factuurcontrole

LOGISTIEK Factuurcontrole LOGISTIEK Factuurcontrole WINGS Software Flexibel, efficiënt & accuraat Factuurcontrole INHOUDSOPGAVE INLEIDING 1.1. Algemeen 3 WERKING 2.1. Verrichtingen ontvangsten 4 2.2. Verrichtingen vooraf 5 2.3.

Nadere informatie

Handleiding configuratie en gebruik tekenmodule

Handleiding configuratie en gebruik tekenmodule Handleiding configuratie en gebruik tekenmodule B3Partners Inhoudsopgave 1 Inleiding...2 2 Configuratie tekenmodule...3 2.1 Database tabel...4 2.2 WMS Service...5 2.3 Gegevensbron en kaartlaag...6 2.4

Nadere informatie

Zonnepanelen Hoe krijg je de data op je website?

Zonnepanelen Hoe krijg je de data op je website? Zonnepanelen Hoe krijg je de data op je website? Beste website-bezoeker, Omdat ik al heel wat vragen kreeg over het gedeelte zonne-energie op mijn website, heb ik besloten om de werkwijze die ik gevolgd

Nadere informatie

ER-modeling. Wat is ER-modeling? ERD & relationeel model. ER-benadering DMO Datamodellering 2008

ER-modeling. Wat is ER-modeling? ERD & relationeel model. ER-benadering DMO Datamodellering 2008 ER-modeling Datamodellering 2008 1 Wat is ER-modeling? ER-modelleren: top-down benadering bedacht door P. Chen 1976, paper in ACM Transactions on Database Systems Codd (Relationeel Model) aanvankelijk

Nadere informatie

ER-modeling. Datamodellering Wat is ER-modeling?

ER-modeling. Datamodellering Wat is ER-modeling? ER-modeling Datamodellering 2008 1 Wat is ER-modeling? ER-modelleren: top-down benadering bedacht door P. Chen 1976, paper in ACM Transactions on Database Systems Codd (Relationeel Model) aanvankelijk

Nadere informatie

SQL Aantekeningen 3. Maarten de Rijke mdr@science.uva.nl. 22 mei 2003

SQL Aantekeningen 3. Maarten de Rijke mdr@science.uva.nl. 22 mei 2003 SQL Aantekeningen 3 Maarten de Rijke mdr@science.uva.nl 22 mei 2003 Samenvatting In deze aflevering: het selecteren van tuples, operaties op strings, en aggregatie functies. Verder kijken we naar iets

Nadere informatie

Informatie & Databases

Informatie & Databases Informatie Wat is informatie en waaruit het bestaat? Stel op een kaart staat het getal 37 geschreven. Wat kun je dan zeggen van het cijfer 37? Niets bijzonders, toch? Alleen dat het een getal is. Gaat

Nadere informatie

Kies File>New>Blank Page>PHP. Je kunt eventueel nog een stylesheet koppelen. Definieer nu eerst een site! Dat betekent: Site>New Site

Kies File>New>Blank Page>PHP. Je kunt eventueel nog een stylesheet koppelen. Definieer nu eerst een site! Dat betekent: Site>New Site Kies File>New>Blank Page>PHP Je kunt eventueel nog een stylesheet koppelen. Definieer nu eerst een site! Dat betekent: Site>New Site Geef de site een passende naam. Kies ook de juiste map voor de webdocumenten.

Nadere informatie

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

App onderdelen. Source files. Android app onderdelen 1/6 Android app onderdelen 1/6 App onderdelen Een Android project bestaat uit een aantal onderdelen die hieronder beschreven worden. In het project venster kan je de mappen weergeven volgens de hieronder aangeduide

Nadere informatie

HTML & CSS DEEL 1. webdesign. Programmeren met CodeAcademy

HTML & CSS DEEL 1. webdesign. Programmeren met CodeAcademy Programmeren met CodeAcademy HTML is de taal die gebruikt wordt om webpagina s te maken die jij elke dag bezoekt. Het is een logische manier om een website te structureren. Laten we kijken wat de term

Nadere informatie

Zo kan je linken maken tussen je verschillende groepen van gegevens.

Zo kan je linken maken tussen je verschillende groepen van gegevens. 1 1. Entity Reference Entity Reference zal ook een onderdeel zijn van Drupal 8. Het is een module van het type veld. Het is een heel krachtige module die toelaat om referenties te maken tussen verschillende

Nadere informatie

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

De mogelijkheden van XML voor de langdurige bewaring van digitale documenten. DAVID studiedag 30 nov 2000 De mogelijkheden van XML voor de langdurige bewaring van digitale documenten DAVID studiedag 30 nov 2000 Prof. Jan Engelen, Steven Depuydt K.U.Leuven - ESAT Onderzoeksgroep Document Architecturen Waarom

Nadere informatie

SEPA formaten - inleiding tot XML. versie maart 2014. ing.be/sepa

SEPA formaten - inleiding tot XML. versie maart 2014. ing.be/sepa Financial Supply Chain SEPA SEPA formaten - inleiding tot XML versie maart 2014 ing.be/sepa INLEIDING 1 INLEIDING TOT XML 2 Wat is XML? 2 Wat is een root element? 2 Wat zijn de specificaties van een element

Nadere informatie

LDAP Server on Yeastar MyPBX & tiptel 31xx/32xx series

LDAP Server on Yeastar MyPBX & tiptel 31xx/32xx series LDAP Server on Yeastar MyPBX & tiptel 31xx/32xx series Tiptel b.v. Camerastraat 2 1322 BC Almere tel.: +31-36-5366650 fax.: +31-36-5367881 info@tiptel.nl Versie 1.2.0 (09022016) Nederlands: De LDAP server

Nadere informatie

5/5 Red Carpet. 5/5.1 Inleiding

5/5 Red Carpet. 5/5.1 Inleiding Management Services 5/5 Red Carpet 5/5.1 Inleiding Met de overname van Ximian is Novell ook eigenaar geworden van de Red Carpet-technologie. Hoewel het aannemelijk is dat het hier een tijdelijke oplossing

Nadere informatie

[TOETS SQL INLEIDING]

[TOETS SQL INLEIDING] 2011 ROC ter AA afdeling T&T Team ICT Toets SQL Inleiding Duur: 100 minuten Hulpmiddelen: Alleen Pen en Papier Er is één voorblad en vijf opgaven pagina s. Normering: Deel I: 14 punten (7x2 Deel II: 10

Nadere informatie

Introductie in flowcharts

Introductie in flowcharts Introductie in flowcharts Flow Charts Een flow chart kan gebruikt worden om: Processen definieren en analyseren. Een beeld vormen van een proces voor analyse, discussie of communicatie. Het definieren,

Nadere informatie

FOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE. Toets Inleiding Kansrekening 1 8 februari 2010

FOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE. Toets Inleiding Kansrekening 1 8 februari 2010 FOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE Toets Inleiding Kansrekening 1 8 februari 2010 Voeg aan het antwoord van een opgave altijd het bewijs, de berekening of de argumentatie toe. Als je een onderdeel

Nadere informatie

Crossmedia Publishing III

Crossmedia Publishing III 3MMP Crossmedia Publishing III OPDRACHT 2: EXCEL, CSV, XML EN JSON Stefanie Delchambre Michael Vanderpoorten Thomas Van Lauwe Gilles Vanpeteghem 3MMP (ProDev) Lector: Dhr. Bynens Academiejaar: 2012-2013

Nadere informatie

Inleiding... 3. 1 Databases en Data Base Management Systems... 3. 2 Tabellen... 3. 3 Wat is SQL?... 5

Inleiding... 3. 1 Databases en Data Base Management Systems... 3. 2 Tabellen... 3. 3 Wat is SQL?... 5 1 Inhoudsopgave. Inleiding.... 3 1 Databases en Data Base Management Systems.... 3 2 Tabellen.... 3 3 Wat is SQL?... 5 4 Gegevens opvragen (deel 1).... 5 4.1 Boolean operatoren.... 7 4.2 IN en BETWEEN

Nadere informatie

Les 2 Eenvoudige queries

Les 2 Eenvoudige queries Les 2 Eenvoudige queries XAMP Apache server ( http ) mysql server PHP myadmin IAM SQL oefeningen Database phpmyadmin Import : sql_producten.sql, sql_winkel.sql, sql_festival.sql SAMS SQL in 10 minuten

Nadere informatie

Inhoud. Mediacentrum hogeschool Windesheim (maart 2015) Page 2

Inhoud. Mediacentrum hogeschool Windesheim (maart 2015) Page 2 Online Inhoud Over Endnote Online... 3 Aanmelden... 3 Voordat je begint!... 4 Tussenvoegsels in namen... 4 Referenties invoegen in een Worddocument/Cite while you write... 5 Handmatig invoeren van referenties...

Nadere informatie

z x 1 x 2 x 3 x 4 s 1 s 2 s 3 rij rij rij rij

z x 1 x 2 x 3 x 4 s 1 s 2 s 3 rij rij rij rij ENGLISH VERSION SEE PAGE 3 Tentamen Lineaire Optimalisering, 0 januari 0, tijdsduur 3 uur. Het gebruik van een eenvoudige rekenmachine is toegestaan. Geef bij elk antwoord een duidelijke toelichting. Als

Nadere informatie

Na bestudering van dit hoofdstuk, moet je tot het volgende in staat zijn:

Na bestudering van dit hoofdstuk, moet je tot het volgende in staat zijn: 5. De oefendatabase 5.1. Inleiding In de volgende hoofdstukken ga je oefenen / werken met SQL. Om te kunnen oefenen heb je natuurlijk wel een database nodig. In dit hoofdstuk wordt besproken hoe je deze

Nadere informatie

Versieperikelen. Bijlage C

Versieperikelen. Bijlage C Bijlage C Versieperikelen In dit boek beschrijven we PL/SQL aan de hand van Oracle versie 11g. Alle eigenschappen die in dit boek behandeld worden, zijn in deze versie van Oracle (en in nog te verschijnen

Nadere informatie

EM7680 Firmware Update by OTA

EM7680 Firmware Update by OTA EM7680 Firmware Update by OTA 2 NEDERLANDS/ENGLISH EM7680 Firmware update by OTA Table of contents 1.0 (NL) Introductie... 3 2.0 (NL) Firmware installeren... 3 3.0 (NL) Release notes:... 3 4.0 (NL) Overige

Nadere informatie

Systeem modellen. Topics covered

Systeem modellen. Topics covered Systeem modellen Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 8 Slide 1 Topics covered Context models Behavioural models Data models Object models CASE workbenches Ian Sommerville 2004

Nadere informatie

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

LES 2 INDERDAAD, JE MOET DE WEBBROWSER AANWIJZINGEN GEVEN, MAAR DAN WEL VOLGENS DE AFGESPROKEN REGELS LES 2 INDERDAAD, JE MOET DE WEBBROWSER AANWIJZINGEN GEVEN, MAAR DAN WEL VOLGENS DE AFGESPROKEN REGELS In les 1 hebben we op een webpagina aan een gedicht de beoogde vorm gegeven. We deden dit met het html-code-element

Nadere informatie

Toon TITEL, JAAR en PLATVORM van GAMES die voor het jaar 2000 uitkwamen op Nintendo 64

Toon TITEL, JAAR en PLATVORM van GAMES die voor het jaar 2000 uitkwamen op Nintendo 64 Klas Veldnaam Datatype Lengte KLASNAAM Short Text 3 Characters JONGENS Number Integer MEISJES Number Integer Lessen Veldnaam Datatype Lengte KLASNAAM Short Text 3 Characters DOCCODE Short Text 3 Characters

Nadere informatie

JavaScript. 0 - Wat is JavaScript? JavaScript toevoegen

JavaScript. 0 - Wat is JavaScript? JavaScript toevoegen 0 - Wat is JavaScript? JavaScript is hele andere koek dan Scratch. Het wordt ook door professionele programmeurs gebruikt. Doordat er veel mensen gebruik maken van JavaScript is er veel informatie over

Nadere informatie