Download de presentatie
De presentatie wordt gedownload. Even geduld aub
GepubliceerdJozef Segers Laatst gewijzigd meer dan 10 jaar geleden
1
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - j.meuwese@interactievemedia.hva.nl - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl Les 3 : documentontwerp ( i.p.v. geplande gastpresentatie QTI ) Maar ook: Enkele voorbeelden uit de praktijk
2
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - j.meuwese@interactievemedia.hva.nl - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl Wat is XML? een standaard manier om markup-talen te definieren. OPEN STANDAARDEN Enkele voorbeelden van open standaarden die gebaseerd zijn op XML (X)HTML MathML SOAP IMS QTI OpenDocument
3
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - j.meuwese@interactievemedia.hva.nl - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl Waarvoor dient XML? Toepassingen: Scheiding van structuur en vorm Bijv artikel, recensie, recept, documentatie Uitwisselen van informatie tussen systemen Bijv nieuws, bestellingen Meer abstract: XML maakt het relatief eenvoudig om een nieuwe talen/formaten te definieren ! XML maakt het relatief eenvoudig om verschillende talen/formaten te combineren !
4
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - j.meuwese@interactievemedia.hva.nl - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl Wat is XML (internationale) afspraken op afspraken. TEXT : unicode XML HTMLRSSMathML QTI
5
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - j.meuwese@interactievemedia.hva.nl - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl Oplossing met XML eXtensible Markup Language Voor het ontrafelen van de tekst is standaard programmatuur beschikbaar in iedere ontwikkelomgeving! De XML-PARSER!
6
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - j.meuwese@interactievemedia.hva.nl - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl Hoe werkt XML? De XML familie Verschillende technieken voor verschillende doeleinden
7
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - j.meuwese@interactievemedia.hva.nl - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl voorbeeld DOM en XPath in PHP. voorbeeldcode
8
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - j.meuwese@interactievemedia.hva.nl - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl XPath SQL voor database XPath voor XML Een manier om data uit een XML bestand te seleceteren. Eigenlijk: met XPath beschrijf je een pad door een XML bestand naar de gewenstte data.
9
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - j.meuwese@interactievemedia.hva.nl - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl Wat is XPath? voorbeelden artikel/titel ( de titel van een artikel ) artikel/@bron ( het bron-attribuut van een artikel ) artikel/tekst/* ( alle elementen in de tekst van een artikel ) //plaatje ( alle plaatjes in het document ) artikel/tekst/alinea[1] ( de eerste alinea van de tekst van een artikel ) /artikel/tekst/alinea[ //citaat/@geciteerde="jochem"] ( de alinea’s aarin jochem wordt geciteerd ) w3schools.org
10
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - j.meuwese@interactievemedia.hva.nl - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl DOM + XPath extendedDOM is een uitbreiding van de standaard PHP DOM met Xpath functionaliteit ( php 5.2 of hoger ) $domnode->selectSingleNode( $xpath ) $domnode->selectNodes( $xpath ) Lijkt op de DOM zoals microsoft die aanbiedt Niet echt anders dan de standaard PHP DOM, wel een klein beetje gemakkelijker.
11
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - j.meuwese@interactievemedia.hva.nl - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl Voordelen van XML boven andere bestandsformaten Leesbaar voor mens en machiene Uitbreidbaar tbv van vele toepassingen Transporteerbaar als text bestand over HTTP Rijke structuur, hierarchie, attributen Standaard ! Dus ondersteuning met diverse gereedschappen op vele platforms
12
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - j.meuwese@interactievemedia.hva.nl - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl Praktijk voorbeelden Oorspronkelijke presentatie Matthe Stet
13
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - j.meuwese@interactievemedia.hva.nl - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl XML document ontwerp Gewoon doen en ervaren. Tegen vragen/problemen aanlopen.
14
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - j.meuwese@interactievemedia.hva.nl - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl Well formed XML Correct gevormde xml
15
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - j.meuwese@interactievemedia.hva.nl - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl
16
XML Bouwblokken Over elementen, attributen en tekst
17
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - j.meuwese@interactievemedia.hva.nl - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl XML bouwblokken Belangrijkste bouwblokken Elementen Attributen Tekst
18
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - j.meuwese@interactievemedia.hva.nl - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl element Element Naam Attributen Kinderen: Elementen Tekst Opentag, sluittag met naam In de opentag staan attributen Tussen de open- en sluittage staat de inhoud
19
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - j.meuwese@interactievemedia.hva.nl - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl Inhoud van een xml-element Een element kan bevatten: Leeg Tekst Elementen Combinatie tekst en elementen
20
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - j.meuwese@interactievemedia.hva.nl - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl attribuut Attribuut Naam Waarde: tekst In de opentag Volgorde is niet van belang
21
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - j.meuwese@interactievemedia.hva.nl - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl tekst Tekst Karakterset ( unicode ) Witruimte Entiteiten : Speciale xml-karakters ( ) < & ' " >
22
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - j.meuwese@interactievemedia.hva.nl - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl XML bouwblokken Element Naam Attributen Kinderen Elementen Tekst Attribuut Naam Waarde: tekst Tekst Karakters ( unicode ) Witruimte Speciale karakters: < & ' " >
23
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - j.meuwese@interactievemedia.hva.nl - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl XML bouwblokken Elementen Attributen Tekst Is dit nieuw? Dit wist je het eigenlijk al van HTML?
24
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - j.meuwese@interactievemedia.hva.nl - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl Geschiedenis: XML opvolger van SGML 1986: SGML Standard Generalized Markup Language 1998: XML eXtensible Markup Language XML is een vereenvoudiging van SGML
25
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - j.meuwese@interactievemedia.hva.nl - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl SGML vs XML = HTML vs XHTML 1986: SGML Standard Generalized Markup Language 1998: XML eXtensible Markup Language SGML --> HTML XML --> XHTML Er zijn kleine doch belangrijke verschillen tussen SGML en XML ! XML is een vereenvoudiging van SGML
26
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - j.meuwese@interactievemedia.hva.nl - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl XML = streng XML die voldoet aan alle strengere XML normen Case sensitive Aanhalingstekens om Tags afsluiten ------ Stricte hierarchie “ wellformed XML ”
27
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - j.meuwese@interactievemedia.hva.nl - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl
28
Tot zover de basics van “wellformed XML” Bouwstenen: Element Attribuut Tekst ( karakters, witruimte, entiteiten ) XMLdata vormt een boomstructuur Parser analyseert de tekst volgens de XML grammatica Well-formed XML voldoet aan strenge regels van W3C
29
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - j.meuwese@interactievemedia.hva.nl - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl documentontwerp Scheiding van inhoud en presentatie XML document bevat gestructureerde inhoud zonder presentatie Vgl: semantische (X)HMTL XML gaat nog een stap verder: i.p.v. html-elementen een class-attribuut te geven, bedenken we element-namen met meer betekenis XML kan worden gepresenteerd met een stylesheet ( CSS of XSLT )
30
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - j.meuwese@interactievemedia.hva.nl - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl oefeningen Oefening 1: Maak het voorbeeld xml document ‘well-formed’ Oefening 2: Ontwerp zelf een XML schema voor de boek recensies van het parool. www.parool.nl/???? Oefening 3: Ontwerp een XML schema voor een kookrecept. Titel, aantal personen, bereidingstijd, Ingrediënten, benodigdheden, bereiding, …
31
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - j.meuwese@interactievemedia.hva.nl - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl Een goede xml-editor NotePad++ ( met XML-tools plugin ) XML SPY ( niet gratis ) Dreamweaver Eigenschappen goede editor: Kleurcodering Tags sluiten Check well-formedness Automatisch inspringen Validatie
32
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - j.meuwese@interactievemedia.hva.nl - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl ‘Goede’ XML wat is ‘goed’ XML documentontwerp. Formeel: Well-formed XML Inhoudelijk: bevat het alle relevante informatie Stijl : ‘fouten’ en ‘keuzen’
33
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - j.meuwese@interactievemedia.hva.nl - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl Goede XML bevat en markeert alle benodigde informatie Is sterk afhankelijk van het doel waarvoor je de documenten wilt gebruiken: Moet het leesbaar zijn voor mensen Moet het in een geautomatiseerd proces Inhoeverre moeten alle informatieblokjes expliciet gemarkeerd worden? 3 kilo aardappelen
34
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - j.meuwese@interactievemedia.hva.nl - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl Goede XML, stijl ‘fouten’ Wel wellformed XML, maar je mist het punt: Non-xml Structuur in tekstelementen Nummers in elementnamen Variabiliteit in element- of attribuutnaam Tekst én elementen in datageorienteerde XML Niet groeperen van elementen Bestudeer document ‘goed en foute ontwerppatronen’
35
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - j.meuwese@interactievemedia.hva.nl - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl Goede XML stijl Er zijn vele gelijkwaardige mogelijkheden om dezelfde informatie in een XML bestand te zetten. Attributen of elementen Hoe elementen te groeperen Abstractie niveau’s Belangrijk is: Consistentie Volledigheid Eenvoud ‘Goede’ namen
36
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - j.meuwese@interactievemedia.hva.nl - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl Goede XML: stijl ‘keuze’ Attributen of elementen Groeperen Abstractieniveau Stijlkeuze afhankelijk van het soort XML Data Format ( automatische verwerking ) Document Format (door mensen te lezen )
37
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - j.meuwese@interactievemedia.hva.nl - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl DATA-Format vs DOCUMENT-Format DataFormat Door machine te verwerken Uitwisselen van data tussen applicaties ( interoperabiliteit ) Datatabellen Bijv.: bankafschrift, adressenbestand DocumentFormat Door mensen te lezen Scheiding van vorm en inhoud Teksten Bijv.: filmrecensie, webpagina Mengvormen Bijv.: kookrecept
38
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - j.meuwese@interactievemedia.hva.nl - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl Goede XML: stijl ‘keuze’ Document Format Elementen Groeperen van elementen Elementen: Tekst die de lezer moet lezen om het document te begrijpen. Attributen: Alles wat niet ‘noodzakelijk’ is om het document te begrijpen Opmaakattributen ( align, color, … ) Stuurattributen ( href, onClick, … ) Metadata ( auteur, datum, … ) Id/idref ( id, idref, … )
39
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - j.meuwese@interactievemedia.hva.nl - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl Goede XML: stijl ‘keuze’ DATA Format Elementen: Groeperen van elementen Element of Attribuut Wees consequent: Altijd elementen of altijd attributen Voordelen van attributen: Weinig ruimte, makkelijk typen Voordelen van elementen: Gemakkelijke uitbreidbaar Voorkeur van Fons Elementen Attributen voor ID en IDREF
40
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - j.meuwese@interactievemedia.hva.nl - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl XML documentontwerp-stijl Vervelend nadeel van XML: Er zijn vele verschillende manieren om hetzelfde te doen. Het is niet eenvoudig om de ‘juiste’ manier te vinden.
41
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - j.meuwese@interactievemedia.hva.nl - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl XML schema Eenmaal een goede structuur voor je document gevonden, kan je die vastleggen in een XML schema. Verschillende mogelijkheden: DTD, XSD, e.a. Waarom je dat zou doen? Input validatie: XMLparsers kunnen automatisch controleren of een bepaald document goed is gesctructureerd. Editorbesturing: de editor krijgt alleen toegestane optie te zien. Documentatie: zodat iedereen kan zien wat de bedoeling is. Valide XML: xml document dat voldoet aan een bepaald schema.
42
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - j.meuwese@interactievemedia.hva.nl - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl ‘well-formed’ versus ‘valide’ Twee belangrijke begrippen die je moet kennen. Well-formed XML: voldoet aan de algemene regels van XML Valide XML: voldoet aan specifieke regels voor een bepaalde documenttype, die zijn vastgelegd in een xml schema
43
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - j.meuwese@interactievemedia.hva.nl - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl Literatuur: Introducing XML 1.Introducing XML 2.XML Fundamentals 3.Schema Uses and Development 4.XML as Document Format 5.XML as Data Format
Verwante presentaties
© 2024 SlidePlayer.nl Inc.
All rights reserved.