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="http://www.w3.org/tr/wd-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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Het beheren van mijn Tungsten Network Portal account NL 1 Manage my Tungsten Network Portal account EN 14

Het beheren van mijn Tungsten Network Portal account NL 1 Manage my Tungsten Network Portal account EN 14 QUICK GUIDE C Het beheren van mijn Tungsten Network Portal account NL 1 Manage my Tungsten Network Portal account EN 14 Version 0.9 (June 2014) Per May 2014 OB10 has changed its name to Tungsten Network

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

Integriteitsbewaking bij een relationele database

Integriteitsbewaking bij een relationele database Integriteitsbewaking bij een relationele database Bij het ontwikkelen van een informatiesysteem voor een organisatie moet er koste wat koste voor gezorgd worden, dat er geen tegenstrijdige gegevens in

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

ICARUS Illumina E653BK on Windows 8 (upgraded) how to install USB drivers

ICARUS Illumina E653BK on Windows 8 (upgraded) how to install USB drivers ICARUS Illumina E653BK on Windows 8 (upgraded) how to install USB drivers English Instructions Windows 8 out-of-the-box supports the ICARUS Illumina (E653) e-reader. However, when users upgrade their Windows

Nadere informatie

XML: de eend met de gouden eieren?

XML: de eend met de gouden eieren? XML: de eend met de gouden eieren? XML is al een tijdje één van de hypes. Alles moet met XML. Als kritisch informaticus begint het dan bij mij te kriebelen. Hoezo alles moet met XML? Klinkt een beetje

Nadere informatie

Release Notes. Afdrukdatum: 2008/10/06

Release Notes. Afdrukdatum: 2008/10/06 Release Notes Afdrukdatum: 2008/10/06 Dit document beschrijft vanuit technisch oogpunt de aanpassingen in Hi-Ant aan de betreffende versie. Deze tekst is geenszins bedoeld als document naar de eindgebruiker,

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

SQL Developer Data Modeler

SQL Developer Data Modeler SQL Developer Data Modeler Een migratiepad vanuit Oracle Designer Chris Amelink, Manager SO Mark Rooijakkers, Technisch Architect Hans Joop Leendertse, Willem Cortenraad, Technisch directeur Architect

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

[BP-ebMS-H-000] Welke versie van Hermes moet er gebruikt worden?

[BP-ebMS-H-000] Welke versie van Hermes moet er gebruikt worden? [BP-ebMS-H-000] Welke versie van Hermes moet er gebruikt worden? Gebruik altijd de laatste versie omdat er serieuse bug-fixes in kunnen zitten. Check altijd de release notes en openstaande bugs. Er is

Nadere informatie

hoofdstuk 9 referentiële integriteit waarborgen overige constraints 9.1 Referentiële integriteit relationele databases 9.1

hoofdstuk 9 referentiële integriteit waarborgen overige constraints 9.1 Referentiële integriteit relationele databases 9.1 relationele databases 9.1 hoofdstuk 9 referentiële integriteit waarborgen overige constraints 9.1 Referentiële integriteit Als voorbeeld nemen we een eenvoudige database, bestaande uit twee tabellen. De

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

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

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

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

Handleiding Fotopagina

Handleiding Fotopagina Handleiding Fotopagina Leden van de Vrienden van de Pyreneese berghond kunnen een album aanmaken op onze fotopagina. Per lid/gezin is één album van maximaal 250 foto's beschikbaar. Deze handleiding bestaat

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

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

DATA- WAREHOUSE ONTWIKKELING

DATA- WAREHOUSE ONTWIKKELING MODEL GEDREVEN DATA- WAREHOUSE ONTWIKKELING MET MICROSOFT BI door Willem Otten, Microsoft BI-consultant Kadenza Lees het volledige artikel en andere blogs op www.playitsmart.nl/blog Ik ben een groot voorstander

Nadere informatie

DATAMODEL SQL. Middelbare School. Versie 1.0 Datum 30 oktober 2010 Auteur Mark Nuyens, studentnummer: 500625333 Groep TDI 1

DATAMODEL SQL. Middelbare School. Versie 1.0 Datum 30 oktober 2010 Auteur Mark Nuyens, studentnummer: 500625333 Groep TDI 1 DATAMODEL SQL Middelbare School Versie 1.0 Datum 30 oktober 2010 Auteur Mark Nuyens, studentnummer: 500625333 Groep TDI 1 INHOUDSOPGAVE 1. Informatiedomein 3 1.1 Informatiedomein 3 1.2 Toepassingen 3 2.

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

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

Versie 0.2. Documentatie Onsweb Club plugin voor NHV verenigingen. Laatste wijziging: 10 mei 2013 Auteurs: Marien Dongstra, Sebastian Huisman Documentatie Onsweb Club plugin voor NHV verenigingen Versie 0.2 Laatste wijziging: 10 mei 2013 Auteurs: Marien Dongstra, Sebastian Huisman Alle rechten in dit document zijn voorbehouden. www.onsweb.nl,

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

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

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

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

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

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

Account Information Services

Account Information Services Account Information Services Gebruikershandleiding webapplicatie Account Information Services (gebruikershandleiding) 13 January 2014 Classification: Open Version 7.0 Copyright Equens SE and/or its subsidiaries.

Nadere informatie

Programmeren: Visual Basic

Programmeren: Visual Basic PETERSTUYVESANT COLLEGE INFORMATICA 2009-2010 Programmeren: Visual Basic Algemene Kennis: 01. Programmeren Programmeren is het schrijven van een computerprogramma, een concrete verzameling instructies

Nadere informatie

Selenium IDE Webdriver. Introductie

Selenium IDE Webdriver. Introductie Selenium IDE Webdriver Het Wielsem 10, 5231 BW s- Hertogenbosch, telefoon 073-6409311 e- mail info@testwork.nl internet http://www.testwork.nl 1 Inhoudsopgave 1 Inhoudsopgave... 2 2 Selenium IDE... 3 3

Nadere informatie

Opzetten object - overzicht

Opzetten object - overzicht Opzetten object - overzicht In deze tutorial wordt in grote stappen aangegeven wat er voor nodig is om een volledig nieuw product op te zetten in i-reserve. De stappen zijn onderverdeeld in zes stukken,

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

Webapplicatie-generatie NIOC 2013

Webapplicatie-generatie NIOC 2013 Webapplicatie-generatie NIOC 2013 Eddy Luursema, Misja Nabben, Arnoud van Bers Research Group Model Based Information Systems Presentation Introduction M-BIS Data intensive systems Requirements Generation

Nadere informatie

Plotten. technisch tekenwerk AUTOCAD 2000

Plotten. technisch tekenwerk AUTOCAD 2000 Inleiding Voor het plotten van uw bent u bij Lifoka aan het juiste adres. Snel, betrouwbaar en dat in grote of kleine oplagen. Niet alleen het plotten, maar ook vergaren en verzenden kan Lifoka voor u

Nadere informatie

Settings for the C100BRS4 MAC Address Spoofing with cable Internet.

Settings for the C100BRS4 MAC Address Spoofing with cable Internet. Settings for the C100BRS4 MAC Address Spoofing with cable Internet. General: Please use the latest firmware for the router. The firmware is available on http://www.conceptronic.net! Use Firmware version

Nadere informatie

SQL STATEMENTS. Deze kolom kan grote stukken tekst aan en is bedoeld om tekst erin de plaatsen. Geheel getal, bijvoorbeeld 8, 63, 835 NUMERIC

SQL STATEMENTS. Deze kolom kan grote stukken tekst aan en is bedoeld om tekst erin de plaatsen. Geheel getal, bijvoorbeeld 8, 63, 835 NUMERIC Aantekeningen IRDB Vak: IRDB > Infrma1ca Rela1nele DataBase Onderstaande database scripts zijn gebaseerd p PstgreSQL. Standaarden Schrijf SQL wrden al1jd in hfdlefers, k al werkt het met kleine lefers;

Nadere informatie

In dit rapport worden het onderzoek en de onderzoeksresultaten van de volgende vraag behandeld:

<Oracle en GML: Samenvatting> In dit rapport worden het onderzoek en de onderzoeksresultaten van de volgende vraag behandeld: Oracle en GML Thijs Brentjens Verslag Geo-DBMS casestudy 2002 Afdeling Geodesie Faculteit Civiele Techniek en Geowetenschappen Technische Universiteit Delft April 2002 Samenvatting

Nadere informatie

Gift & Loyalty card. User Guide v2.1 NL Schema Eigenaar. Laatste update : Mei 2014

Gift & Loyalty card. User Guide v2.1 NL Schema Eigenaar. Laatste update : Mei 2014 Gift & Loyalty card User Guide v2.1 NL Schema Eigenaar Laatste update : Mei 2014 For internal use Inhoud User guide scheme owner - NL Algemene informatie : Controle netwerkinstelling Login Beheer Overzicht

Nadere informatie

Versturen van email vanuit een Delphi VCL toepassing

Versturen van email vanuit een Delphi VCL toepassing Versturen van email vanuit een Delphi VCL toepassing Voor Delphi bestaan uiteraard verschillende libraries om emails te versturen, maar in dit voorbeeld wordt een C# Dotnet library gebruikt en aangesproken

Nadere informatie

HANDLEIDING XML & XSL

HANDLEIDING XML & XSL HANDLEIDING XML & XSL bij project G01 [aanvulling op: HANDLEIDING SGML EN XML ] Eric Sieverts Instituut voor Media en Informatie Management 2de studiejaar, 2000-2001, 2de periode HVAAM 503/01/0051a Handleiding

Nadere informatie

www.dubbelklik.nu Handleiding Access 2010

www.dubbelklik.nu Handleiding Access 2010 www.dubbelklik.nu Handleiding Access 2010 Deze handleiding is onderdeel van Dubbelklik, een lesmethode Technologie, ICT/ Loopbaanoriëntatie en Intersectoraal Alle rechten voorbehouden. Niets uit deze uitgave

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

MRI IN CSV FORMAAT. Beschrijving bestandsindeling. Definitieve versie. Equens SE 25 juli 2014. Versie 1.7

MRI IN CSV FORMAAT. Beschrijving bestandsindeling. Definitieve versie. Equens SE 25 juli 2014. Versie 1.7 MRI IN CSV FORMAAT Beschrijving bestandsindeling Definitieve versie Equens SE 25 juli 2014 Classificatie: Versie 1.7 Openbaar Versie geschiedenis Versie no. Versie datum Status Auteur Belangrijkste wijzigingen

Nadere informatie

Open SQL Server Management Studio en log in als Administator. Je ziet dan wat je in figuur 2.1 ziet.

Open SQL Server Management Studio en log in als Administator. Je ziet dan wat je in figuur 2.1 ziet. Hoofdstuk 2 Een ASP.NET applicatie met ADO.NET opzetten In dit hoofdstuk ga je een eenvoudige website opzetten, waarbij je een aantal gegevens uit een database ophaalt. Je moet je kennis van ADO.NET dus

Nadere informatie

Shell Card Online e-invoicing Service Gebruikershandleiding. Versie 2.8

Shell Card Online e-invoicing Service Gebruikershandleiding. Versie 2.8 Gebruikershandleiding Versie 2.8 november 2012 Inhoud 1 Voor toegang tot Shell Card Online e-invoicing Service... 3 1.1 Inloggen in Shell Card Online... 3 1.2 Wat als u uw wachtwoord bent vergeten... 3

Nadere informatie

Zelftest DB2 for z/os basiscursus

Zelftest DB2 for z/os basiscursus Zelftest DB2 for z/os basiscursus Document: n1067test.fm 22/01/2013 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INLEIDING BIJ DE ZELFTEST DB2 FOR Z/OS BASISCURSUS

Nadere informatie

Linked Data: stap voor stap, deel 3bis Table of Contents

Linked Data: stap voor stap, deel 3bis Table of Contents Linked Data: stap voor stap, deel 3bis Table of Contents Linked Data: stap voor stap, deel 3bis...1 Inleiding...2 Van triples naar concrete syntax...2 N-Triples...2 Turtle...3 RDF/XML...5 Van syntax naar

Nadere informatie

1. Inleiding... 2 1.1. Inleiding SQL... 3 1.1.1. Inleiding... 3 1.1.2. Database, databaseserver en databasetaal... 4 1.1.3. Het relationele model...

1. Inleiding... 2 1.1. Inleiding SQL... 3 1.1.1. Inleiding... 3 1.1.2. Database, databaseserver en databasetaal... 4 1.1.3. Het relationele model... 1. Inleiding... 2 1.1. Inleiding SQL... 3 1.1.1. Inleiding... 3 1.1.2. Database, databaseserver en databasetaal... 4 1.1.3. Het relationele model... 4 1.1.4. Wat is SQL?... 6 1.1.5. Verschillende categorieên

Nadere informatie

Elfde-Liniestraat 24 3500 Hasselt Schooljaar 2009-2010 TINFO POKER GAME Oracle Scripts

Elfde-Liniestraat 24 3500 Hasselt Schooljaar 2009-2010 TINFO POKER GAME Oracle Scripts Elfde-Liniestraat 24 3500 Hasselt Schooljaar 2009-2010 TINFO POKER GAME Oracle Scripts Studenten: Peter Asnong Rik Broens Tom De Keyser Daan Gielen Kris Gregoire Koen Olaerts Toon Wouters Inhoudsopgave

Nadere informatie

Formulieren maken met Dreamweaver CS 4

Formulieren maken met Dreamweaver CS 4 Formulieren maken met Dreamweaver CS 4 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 zoveel

Nadere informatie

DrICTVoip.dll v 2.1 Informatie en handleiding

DrICTVoip.dll v 2.1 Informatie en handleiding DrICTVoip.dll v 2.1 Informatie en handleiding Nieuw in deze versie : Koppeling voor web gebaseerde toepassingen (DrICTVoIPwebClient.exe) (zie hoofdstuk 8) 1. Inleiding Met de DrICTVoIP.DLL maakt u uw software

Nadere informatie

Versie 0.6. Documentatie Onsweb Club plugin voor KNKV verenigingen. Laatste wijziging: 13 augustus 2013 Auteurs: Marien Dongstra, Sebastian Huisman

Versie 0.6. Documentatie Onsweb Club plugin voor KNKV verenigingen. Laatste wijziging: 13 augustus 2013 Auteurs: Marien Dongstra, Sebastian Huisman Documentatie Onsweb Club plugin voor KNKV verenigingen Versie 0.6 Laatste wijziging: 13 augustus 2013 Auteurs: Marien Dongstra, Sebastian Huisman Alle rechten in dit document zijn voorbehouden. www.onsweb.nl,

Nadere informatie

Frontend ontwikkeling

Frontend ontwikkeling Frontend ontwikkeling Mark Jansen Edwin Vlieg PHPFreakz ledendag 10 november 2007 Frontend ontwikkeling De interface is je product richting de eindgebruiker Goede PHP code met een slechte interface geeft

Nadere informatie

1. WAT STAAT ER OP DE BORD... 3 2. HET LEERBORD TESTEN... 4 3. DE PC-VERBINDING TESTEN... 6

1. WAT STAAT ER OP DE BORD... 3 2. HET LEERBORD TESTEN... 4 3. DE PC-VERBINDING TESTEN... 6 Testprocedure Handleiding INHOUD Algemene informatie 1. WAT STAAT ER OP DE BORD... 3 2. HET LEERBORD TESTEN... 4 3. DE PC-VERBINDING TESTEN... 6 Test- en voorbeeldsoftware 1. DE TESTPROGRAMMA'S DOWNLOADEN...

Nadere informatie

Service Pack notes CRM SPE SP1

Service Pack notes CRM SPE SP1 Service Pack notes CRM SPE SP1 Versie 1.1 INHOUD 1. Stylesheet... 3 2. Bewerken documenten... 4 2.1 Inrichting... 4 3. Opgeloste meldingen en wensen... 5 UNIT4 Software B.V. Disclaimer zoals vermeld op

Nadere informatie

MA!N Rapportages en Analyses

MA!N Rapportages en Analyses MA!N Rapportages en Analyses Auteur Versie CE-iT 1.2 Inhoud 1 Inleiding... 3 2 Microsoft Excel Pivot analyses... 4 2.1 Verbinding met database... 4 2.2 Data analyseren... 5 2.3 Analyses verversen... 6

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