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

20
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - [email protected] - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl Les 7 : XSLT “gaten vullen” vs “regels toepassen” Studiedossier Schema Studiedossier Stylesheet

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”

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

Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - [email protected] - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl

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

Studiedossier Schema

Studiedossier Stylesheet

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

Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - [email protected] - 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

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

Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - [email protected] - 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

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

Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - [email protected] - 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

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

Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - [email protected] - 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

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

Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - [email protected] - 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

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

Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - [email protected] - 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 ??

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

Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - [email protected] - 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.

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

Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - [email protected] - 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

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

Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - [email protected] - 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

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

Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - [email protected] - 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

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

Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - [email protected] - 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

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

Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - [email protected] - 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

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

Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - [email protected] - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl

XSLT voor beginners

www.w3schools.com

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

Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - [email protected] - 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’

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

Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - [email protected] - 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

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

Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - [email protected] - 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.

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

Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - [email protected] - 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>

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

Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - [email protected] - http://oege.ie.hva.nl/~meuwj/ - http://hva.jochem.nl

voorbeeld

Een voorbeeld ter illustratie van de werking van regel gestuurde methode

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

Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - [email protected] - 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 !