Les 8 xslt modulariteit
Download
1 / 29

Les 8 : XSLT modulariteit - PowerPoint PPT Presentation


  • 125 Views
  • Uploaded on

Les 8 : XSLT modulariteit. vandaag. Waar zijn we eigenlijk mee bezig studiedossier Korte herhaling van het voorafgaande XSLT templates versie 1.0 Modulariteit XSLT templates versie 2.0. StudieDossier. Inhoud coderen in XML ( StudiedossierStandaard ) Vormgeving coderen in XSLT stylesheets

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Les 8 : XSLT modulariteit' - crwys


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Les 8 xslt modulariteit

Les 8 : XSLTmodulariteit

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


Vandaag
vandaag

  • Waar zijn we eigenlijk mee bezig

    • studiedossier

  • Korte herhaling van het voorafgaande

    • XSLT templates versie 1.0

  • Modulariteit

    • XSLT templates versie 2.0

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


Studiedossier
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


Xml codering van het studiedossier een bouwwerk van standaarden
XML codering van het studiedossier: een bouwwerk van standaarden

Betekenis:

Structuur:

Tekst:

Digitaal:

IAM StudieDossier

XML

Unicode

Bits & Bytes

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


Iam studiedossier
IAM studiedossier

De standaard voor de inhoud bestaat uit:

  • Directorystructuurwaarin de inhouddocumenten geplaatst worden

  • Documentschema’svoor verschillende type inhouddocumenten

    • Persoongegevens

    • CV

    • Projectinformatie

    • Etc…..

      Een kwestie van invullen volgens de xml schema’s.

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


Studiedossier filestructuur
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.xml

        settings.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
Studiedossier: documentschema’s

  • Schema verwijzing in XML

  • Validatie door editor

  • Gebruik van XHTML / namespaces

  • Documentatie

    • groepen

    • xs:anyType

    • enumeraties

    • optioneel/verplicht/aantal

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


Xml schema
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


Presentatie van studiedossier met xslt
Presentatie van studiedossier met XSLT

  • XSLT templates voor hoe de inhoud moet worden weergegeven

    • In webpagina. ( XHTML )

    • In MS Word document ( OOXML )

    • In OpenOfice document ( ODF )

    • In PDF ( FO )

      XSLT ‘transformeert’ studiedossier XML naar ander XML formaat ( XHTML, OOXML, ODF, FO )

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


Xslt style sheets
XSLT style sheets

  • Het presenteren van XML data in een XHTML pagina

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


Studiedossier xslt templates
StudieDossier + XSLT templates

XSLT templates versie 1

Les 6

  • Uitleg XML schema voor studiedossier

  • Start eenvoudige XSLT voor enkelvoudige pagina

    Les 7

  • ‘Regels toepassen’ vs ‘gaten vullen’

    -----------------------------------------------------------

    Kerstvakantie

    -----------------------------------------------------------

    XSLT templates versie 2

    Les 8

  • Hergebruik van templates’in meerdere pagina’s

  • Document() functie , tbv navigatie en indexpagina

  • Complexere Xpath

    Les 9

  • 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 te doen
Studiedossier: te doen

XSLT templates versie 1.0

  • 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 sheets1
XSLT style sheets

  • Het presenteren van XML data in een XHTML pagina

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
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 xpath
Basic XPath

Het 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:street

sd:code

sd: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
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 templates versie 1
Huiswerk ( templates versie 1 )

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

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

  • 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


Xslt regels toepassen
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 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
voorbeeld

  • Een voorbeeld ter illustratie van de werking van regelgestuurde methode

    • Download voorbeeld

    • En bestudeer de logica

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


Match patronen
Match patronen

Speciaal geval:

<xsl:template match=‘/‘ >

Dit is altijd het eerste template dat wordt toegepast

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


Conflict resolutie
Conflict resolutie

Het is mogelijk dat meerder templates van toepassing zouden kunnen zijn. De XSLT engine kiest op basis van ‘prioriteit’

Laagste prioriteit: wild character *

match = ‘*’

match = ‘ht:*’

Normale prioriteit: elementnaam of attribuutnaam

match = ‘sd:project’

match = ‘@rating’

Hoogste prioriteit: element of attribuut met predicaat

match = ‘sd:project-info [ sd:metadata/sd:type = ‘groepsopdracht’]’

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


Ingebouwde default templates
Ingebouwde default templates

<xsl:template match="*">

<xsl:apply-templates/>

</xsl:template>

Zorgt ervoor dat het gehele brondocument automatisch afgelopen wordt

<xsl:template match="text()">

<xsl:value-of select="."/>

</xsl:template>

Zorgt ervoor dat tekst binnen elementen wordt weergegeven

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


Voordelen regel gestuurd
Voordelen regel gestuurd

  • Zeer flexibel

  • Gemakkelijk ( als je eenmaal door hebt hoe het werkt)

    “Declaratief programmeren”

    Lees de reader !

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


Modulariteit in xslt
Modulariteit in XSLT

Modulariteit = herbruikbare onderdelen

  • Gemeenschappelijk templates

  • Navigatiestructuur op iedere pagina

    xslt stylesheets versie 2.0

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


Gemeenschappelijke templates
Gemeenschappelijke templates

<xsl:include href="general.xsl"/>

  • Zet gemeenschappelijk templates in één bestand ( general.xsl )

  • ‘include’ dit bestand in iedere xslt

    Zie voorbeelden

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


Navigatie op iedere pagina
Navigatie op iedere pagina

Probleem:

  • De navigatie in de XSLT opnemen in tegen het principe van scheiding van vorm en inhoud.

  • De informatie die nodig is, staat niet in de xml bron maar in index.xml.

    Oplossing:

  • De index.xml ‘inladen’ in een ‘variabele’

  • Vervolgens templates maken voor deze informatie.

    <xsl:variable name="index" select="document('../site-index.xml')" />

    <xsl:apply-templates select="$index/sd:study-archive-index/sd:profile" />

    Zie voorbeelden

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


En verder
En verder

  • Er valt nog veel meer te leren met XSLT

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


Volgende week
Volgende week

  • Iedereen laat zijn werk zien

  • Problemen zijn er om op te lossen

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


ad