Download de presentatie
De presentatie wordt gedownload. Even geduld aub
GepubliceerdElisabeth Verbeke Laatst gewijzigd meer dan 9 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 een XML schema voor specifieke toepassingen Bankafschrift_ML Kookrecept_ML Recensie_ML
2
Maar eerst nog even dit… Andere verwerkingsmethode dan DOM+Xpath Iets meer over een paar extra dingetjes in XML SGML de voorloper van XML Wat is Unicode ( UTF-8) en waarom. Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - j.meuwese@interactievemedia.hva.nl - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl
3
Vorige week DOM+Xpath Er zijn naast DOM en Xpath vele andere verwerkings modellen. O.a.: Objectstructuren (vergelijkbaar met DOM) E4X ( actionscript 3 ) simpleXML ( php ) XSLT Declaratieve programmeertaal speciaal voor XML Text based processing Zoals je ‘normaal’ PHP en XHTML gebruikt (Eigenlijk heel primitief) Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - j.meuwese@interactievemedia.hva.nl - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl
4
SGML/XML geschiedenis 1986 : SGML 1989 : HTML 1.0,…. 1998 : XML ( strengere versie van SGML ) 1999: XHTML 1.0 ( strengere versie van HTML) 2008: XHTML 2 loopt op de klippen 201? : HTML5 HTML ( op sgml gebaseerd) is niet uit te roeien. Ondanks pogingen van W3C daartoe. helaas Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - j.meuwese@interactievemedia.hva.nl - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl
5
Een paar extra dingetjes in XML We hadden de bouwblokken (Nodes ) ElementNodes AttributeNodes TextNodes Daar komen de volgende dingetjes bij Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - j.meuwese@interactievemedia.hva.nl - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl
6
dingetjes in XML Noodzakelijke kwaden en/of handige dingetjes xml declaratie commentaar documenttype declaratie namespace declaratie processing-instruction entiteit CDATA Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - j.meuwese@interactievemedia.hva.nl - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl
7
UNICODE Wat is text? Dwz.txt Een serie karakters achter elkaar Niet opmaak, niet lettertype, niet kleur Hoe staat dat in het bestand? Als een serie getallen Ieder getal staat voor een karakter 32 = a 33 = b 78 = ? 78 = ! etc Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - j.meuwese@interactievemedia.hva.nl - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl
8
UNICODE karakterset Er bestaan verschillende karakterssets ASCII 128 karakters Geschikt voor engels, geen arabische, geen chinees Geen é, ü, Uitbreidingen van ASCII 256 karakters Ascii + westeuropees, asci + scandinavisch Andere karaktersset 256 karakters Grieks, arabisch, thais, etc Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - j.meuwese@interactievemedia.hva.nl - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl
9
Unicode standaard Unicode: alle karakters in de hele wereld een vast getal: de universele karakterset Miljoenen karakters Alle talen Verschillende manier om de getallen te coderen UTF-8 8 bits, meer als getal groter dan 128 Meeste westeuropese karakters < 128 UTF-16 16 bits, meer als nog groter Karakters in niet westerse talen altijd > 128 Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - j.meuwese@interactievemedia.hva.nl - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl
10
Alles moet in unicode Er bestaan nog veel niet unicode bestanden in de wereld Maak geen nieuwe: zet alles defaults op UTF-8, waar mogelijk. Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - j.meuwese@interactievemedia.hva.nl - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl
11
Document ontwerp En dan nu waar het deze les om gaat: documentontwerp Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - j.meuwese@interactievemedia.hva.nl - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl
12
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
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 Wat is XML: een bouwwerk van standaarden Betekenis: Structuur: Tekst: Digitaal: Unicode XML HTMLRSSVUMLQTI Bits & Bytes
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 Valide XML Een XML bestand dat voldoet aan een specifiek ‘xml schema’ XML schema: definieert een specifieke taal die gebruik maakt van XML formaat XHTML RSS VUML OOXML/ODF
15
Document ontwerp Bankafschrift Filmrecensie Kookrecept ??? 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
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 )
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 oefeningen Oefening 1: Ontwerp een XML schema voor bankafschrift Rekeninginformatie, mutaties Oefening 2: Ontwerp zelf een XML schema voor de boekrecensies van het parool. www.parool.nl/???? Oefening 3: Ontwerp een XML schema voor een kookrecept. Titel, aantal personen, bereidingstijd, Ingrediënten, benodigdheden, bereiding, …
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 Schema ontwerp Analyseer de hierachische structuur Geef namen aan element/attributen Maak een voorbeeld met inhoud Check je ontwerp (goede_en_foute_ontwerppatronen.pdf)
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 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.
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 Goede XML, algemene stijl ‘fouten’ Wel wellformed XML, maar toch niet effectief: niet-xml markering in tekstelementen Nummers in elementnamen Te veel ‘inhoud’ in element- of attribuutnaam Niet groeperen van elementen Bestudeer document ‘goed en foute ontwerppatronen’
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 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
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 Goede XML bevat en markeert alle benodigde informatie Tot welk detailsniveau moeten alle informatieblokjes expliciet gemarkeerd worden? 3 kilo aardappelen aardappel kilo 3 drie kilo aardappelen
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 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
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 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 Alles in elementen Behalve attributen voor ID en IDREF
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 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 voor de lezer niet ‘noodzakelijk’ is om het document te begrijpen Opmaakattributen ( align, color, … ) Stuurattributen ( href, onClick, … ) Metadata ( auteur, datum, … ) Id/idref ( id, idref, … )
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 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.
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 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.
28
Schema technieken Meerder technieken voorhanden om een schema te definieren: DTD document type definitie XSD XML Schema Definition RelaxNG Schematron
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 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
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 ‘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
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 Literatuur: Goed bestuderen: Schema Uses and Development Lezen: XML as Document Format XML as Data Format
Verwante presentaties
© 2024 SlidePlayer.nl Inc.
All rights reserved.