Les 7 : XSLT “gaten vullen” vs “regels toepassen”
description
Transcript of 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
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
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
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
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
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
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 ??
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.
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
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
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
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
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
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
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’
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
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.
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>
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
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 !