Les 4 : XSLT stylesheets

Preview:

DESCRIPTION

Les 4 : XSLT stylesheets. Wat is XML: een bouwwerk van standaarden. Betekenis: Structuur: Tekst: Digitaal:. HTML. RSS. VUML. QTI. XML. Unicode. Bits & Bytes. Wellformed en Valide XML. Specifieke taal die uitgedrukt word in wellformed XML Een document is wellformed als - PowerPoint PPT Presentation

Citation preview

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 4 : XSLT stylesheets

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

HTML RSS VUML QTI

Bits & Bytes

Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - j.meuwese@interactievemedia.hva.nl - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl

Wellformed en Valide XML

Specifieke taal die uitgedrukt word in wellformed XML

Een document is wellformed als1. Het voldoet aan alle algemene XML regels waardoor het

parseerbaar ( ontrafelbaar) is met een generieke XML parser

Een document is valide als:1. Het is wellformed

2. Het voldoet aan de specifieke regels van een “XML schema”

Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - j.meuwese@interactievemedia.hva.nl - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl

Scheiding van inhoud/structuur en presentatie/vorm

Enkele praktijk voorbeelden

Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - j.meuwese@interactievemedia.hva.nl - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl

Albert Hein

Producten en boodschappenlijstjes

Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - j.meuwese@interactievemedia.hva.nl - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl

Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - j.meuwese@interactievemedia.hva.nl - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl

Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - j.meuwese@interactievemedia.hva.nl - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl

ThiemeMeulenhoff

Educatieve uitgeverij van O.a. oefeningen/multiple choice vragebn

Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - j.meuwese@interactievemedia.hva.nl - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl

Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - j.meuwese@interactievemedia.hva.nl - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl

Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - j.meuwese@interactievemedia.hva.nl - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl

Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - j.meuwese@interactievemedia.hva.nl - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl

Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - j.meuwese@interactievemedia.hva.nl - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl

Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - j.meuwese@interactievemedia.hva.nl - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl

HVA intranet

Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - j.meuwese@interactievemedia.hva.nl - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl

Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - j.meuwese@interactievemedia.hva.nl - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl

Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - j.meuwese@interactievemedia.hva.nl - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl

IAM digitaal studiedossier

Eind opdracht van dit blok ‘internet standaarden’

Inhoud in XML formaat

+

XSLT templates / CSS

=

(X)HTML / CSS

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 Presenteren:XSLT CSS

Programmeren:SAX / DOM

Modelleren:DTD, XMLschema,...

Selecteren:XPath

XML gerelateerde technieken

/ A4X

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 programming modelsVerschillende manieren om XML te verwerken in een applicatie.1. Text-based processing

bijv: regular expressies2. Push-based processing

bijv: SAX3. Pull-based processing

bijv: XMLReader4. Tree-based processing

bijv: DOM, E3X5. Transformaties

bijv: XSLT

6. Specifieke methode voor specifieke toepassingenbijv SOAP toolkits

Niet gebruikenals het niet anders kanstandaard methodes

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 transformaties met XSLT

Het presenteren van XML data in een XHTML pagina

XSLT/processor

Stylesheet.xsl

Data.xml Presentatie.htm

Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - j.meuwese@interactievemedia.hva.nl - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl

XSLT voorbeelden

VUML SD:persoongegevens

Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - j.meuwese@interactievemedia.hva.nl - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl

Basic XSLT

<xsl:template match=“/” >het hoofdtemplate

<xsl:value-of select=“een_xpath_expressie”/>het selecteren van een waarde uit de xml-bron

<xsl:for-each select=“een_xpath_expressie”/>het loopen door een lijst uit de xml-bron

<xsl:apply-templates select=“een_xpath_expressie”/>het selecteren van een waarde uit de xml-bron en daar vervolgens templates bij zoeken en toepassen

Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - j.meuwese@interactievemedia.hva.nl - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl

Basic XPath

Het selecteren van een element:/uitslagen/uitslag/thuisteam/uitslagen/uitslag/uitteam

Attributen selecteren met @ : /uitslagen/@datum/uitslagen/@competetie

Relatieve paden: ten opzichte van /uitslagen/uitslag

thuisteamuitteamverslag/p

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? Meer voorbeeldenVoorbeeldbestand: les2: artikel.xml

de titel van het artikelartikel/titel

het bron-attribuut van het artikelartikel/@bron

alle elementen in de tekst van het artikelartikel/tekst/*

alle plaatjes in het document//plaatje

de eerste alinea van de tekst van het artikelartikel/tekst/alinea[position()=1]

de alinea’s waarin jochem wordt geciteerd/artikel/tekst/alinea[//citaat/@geciteerde="jochem"]

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 relationele database

= XPath voor XML

Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - j.meuwese@interactievemedia.hva.nl - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl

Oefening XSLT

Maak een XSLT stylesheet voor - curriculum vitae- kookrecept

Maak gebruik van tutorial W3schools.com

Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - j.meuwese@interactievemedia.hva.nl - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl

XSLT

Het XSLT proces kan zowel clientside ( processing-instruction meegeven ) als serverside ( serverside-script uitvoeren, bijv PHP )

uitgevoerd worden

XSLT/processor

Stylesheet.xsl

Data.xml Presentatie.htm

Recommended