Les 7 : XSLT “gaten vullen” vs “regels toepassen”

Post on 16-Jan-2016

44 views 0 download

description

Les 7 : XSLT “gaten vullen” vs “regels toepassen”. Studiedossier Schema Studiedossier Stylesheet. StudieDossier. Inhoud coderen in XML ( StudiedossierStandaard ) Vormgeving coderen in XSLT stylesheets Rationale Scheiding van inhoud en presentatie Presentatie gemakkelijk aan te passen - PowerPoint PPT Presentation

Transcript of Les 7 : XSLT “gaten vullen” vs “regels 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

Les 7 : XSLT“gaten vullen” vs “regels toepassen”

Studiedossier Schema

Studiedossier Stylesheet

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

StudieDossier

Inhoud coderen in XML ( StudiedossierStandaard ) Vormgeving coderen in XSLT stylesheets

Rationale Scheiding van inhoud en presentatie

Presentatie gemakkelijk aan te passen Meerdere presentatievormen/selecties mogelijk

Portfolio, flash, PDF

Inhoud gemakkelijk te onderhouden Scripts voor indexeren van data in het archief

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

XSLT style sheets

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

StudieDossier + XSLT templatesXSLT templates versie 1Les 6

Uitleg XML schema voor studiedossier Start eenvoudige XSLT voor enkelvoudige pagina

Les 7 ‘Regels toepassen’ vs ‘gaten vullen’

-----------------------------------------------------------Kerstvakantie-----------------------------------------------------------

XSLT templates versie 2Les 8

Hergebruik van templates’in meerdere pagina’s Complexere Xpath

Les 9 Document() functie , tbv navigatie en indexpagina Afmaken, problemen oplossen

Les 10 inleveren

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

Studiedossier: Filestructuur Studiedossier

_stylesheets _schemas Profiel

Persoongegevens Cv Competenties Kennis_en_vaardigheden leerdoelen

Projecten voorIAM

Project1 project2

IAM-prop IAM-V1 IAM-V2 IAM-afstuderen

index.xmlsettings.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

Studiedossier: documentschema’s

Schema verwijzing in XML Validatie door editor Gebruik van XHTML / namespaces

Documentatie groepen xs:anyType enumeraties optioneel/verplicht/aantal

Updates ??

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.

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

Studiedossier: te doen

Begin met één profielpagina te vullen Daarna een projectpagina

Versie1:

Ga met eenvoudige stylesheets aan de gang

Dwz:

voor iedere type contentbestand, één XSLT stylesheet

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 style sheets

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 / XPath

XSLT is één van de manieren om XML data te verwerken. xml transformatieXML transformeren naar ander XMLBijv:

sd.xml -> sd.xhtmlsd.xml -> sd.docx ( office document )

Andere manieren om XML te verwerken: tree-based processing ( E4X , DOM )XML data verwerken binnen objectgeoriënteerde

script/programmeertaal

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

Basis XSLT: gaten vullen<xsl:stylesheet … … … … >

top element van een xsl stylesheet(overnemen uit voorbeeld)

<xsl:output … … … … />enkele specificaties met betrekking tot het output formaat(overnemen uit voorbeeld)

<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

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 XPathHet selecteren van een element:

/sd:student-info/sd:statement/sd:student-info/sd:person-name/sd:full-name

Relatieve paden (bijvoorbeeld in een for-each loop): ten opzichte van /sd:student-info/sd:contact/sd:adress

sd:streetsd:codesd:city

Lees ook intranet:XPathVoorBeginners.pdf

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 voor beginners

www.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

Huiswerk

1. Maak eenvoudige vormgeving voor je studiedossier in XHTM/CSS.

2. Vul één of meer profiel bestanden met echte gegevens.

3. Maak eenvoudige XSLT template voor profielbestanden naar de gekozen vormgeving.

TIP: begin met ‘persoonsinformatiepagina’

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

LetOp

Om het één en ander ook in complexere XSLT oplossing te laten werken, moet je het volgende doen:

1. Zet in settings.xml de volledige rootdirectory van je studiedossier.(als je later het dossier verplaatst, verander je dus ook de rootdirectory

2. Alle links in ieder bestand moet relatief zijn ten opzichte van deze rootdirectory

3. Gebruiker van firefox (ivm met firefox bug) bij lokaal gebruik: start met index.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

XSLT: regels toepassen

Een andere manier om naar XSLT te kijken

‘gaten vullen’ en ‘regels toepassen’ worden in combinatie toegepast.

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

Gaten vullen vs regels toepassen

Gaten vullen: Template = een brok outputcode ( XHTML ) met ‘gaten’

die gevuld worden uit de XML bron. <xsl: value-of select=‘xpath’/>

Regels toepassen: Match-patronen ( selectors ) bepalen welk template

wordt toegepast op delen van de XML bron.<xsl:apply-templates/><xsl:template match=‘xpath’>

... </xsl:template>

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

Een voorbeeld ter illustratie van de werking van regel gestuurde methode

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 regel gestuurd

Zeer flexibel Gemakkelijk

( als je eenmaal door hebt hoe het werkt)

“Declaratief programmeren”

Lees de reader !