Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese Les 4 : XSLT stylesheets
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese Wat is XML: een bouwwerk van standaarden Betekenis: Structuur: Tekst: Digitaal: Unicode XML HTMLRSSVUMLQTI Bits & Bytes
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese Wellformed en Valide XML Specifieke taal die uitgedrukt word in wellformed XML Een document is wellformed als 1.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 Scheiding van inhoud/structuur en presentatie/vorm Enkele praktijk voorbeelden
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese Albert Hein Producten en boodschappenlijstjes
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese
ThiemeMeulenhoff Educatieve uitgeverij van O.a. oefeningen/multiple choice vragebn
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese
HVA intranet
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese
XML gerelateerde technieken / A4X
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese XML programming models Verschillende manieren om XML te verwerken in een applicatie. 1.Text-based processing bijv: regular expressies 2.Push-based processing bijv: SAX 3.Pull-based processing bijv: XMLReader 4.Tree-based processing bijv: DOM, E4X 5.Transformaties bijv: XSLT 6.Specifieke methode voor specifieke toepassingen bijv SOAP toolkits Niet gebruiken als het niet anders kan standaard methodes
Tree-based processing De meest gangbare manier om met XML te programmeren. XML bestand wordt geparsed en in een hierarchisch object structuur gezet. Vgl: arrays in arrays in arrays Voorbeelden: DOM ( standaard in iedere taal toepasbaar ) E4X ( AS3 ) Simple_xml ( PHP ) Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese
Tree-based processing Zie voorbeeld helloworld.xml SimpleXML: $xdoc->mijneerstexml->groet E4X: xdoc.mijneerstexml.groet DOM+Xpath $xdoc.selectSingleNode(“mijneerstexml/groet” ) Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese
XPath Zeer krachtige manier om gegevens uit een XML document te selecteren ( of eigen: aan te wijzen ) Wordt in diverse talen en methodes gebruikt: DOM in combinatie met Xpath XSLT maakt intensief gebruikt van Xpath SQL/XML combineert SQL met Xpath Schematalen ( XSD, Schematron ) maken gebruik van XPath Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese
Basic XPath Het selecteren van een element: /uitslagen/uitslag/thuisteam /uitslagen/uitslag/uitteam Attributen selecteren : Relatieve paden: ten opzichte van /uitslagen/uitslag thuisteam uitteam verslag/p
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese Wat is XPath? Meer voorbeelden Voorbeeldbestand: les2: artikel.xml de titel van het artikel artikel/titel het bron-attribuut van het artikel alle elementen in de tekst van het artikel artikel/tekst/* alle plaatjes in het document //plaatje de eerste alinea van de tekst van het artikel artikel/tekst/alinea[position()=1] de alinea’s waarin jochem wordt geciteerd
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese SQL vs XPath SQL SELECT voor relationele database = XPath voor XML
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese XML transformaties met XSLT Het presenteren van XML data in een XHTML pagina
XSLT eXtensible Stylesheet Language - Transformations ‘Stylesheet’ taal voor XML Templates met Xpath selecties Platform/programmeertaal onafhankelijk Declaratieve programmeertaal Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese
XSLT Bestudeer één van de vele online tutorials XSLT heeft een moeilijke leercurve: In het begin zie je de voordelen niet. Met PHP kan je hetzelfde doen Voordelen worden pas duidelijk als XML in complexe situaties wordt gebruikt. Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese
Basic XSLT het hoofdtemplate het selecteren van een waarde uit de xml-bron het loopen door een lijst uit de xml-bron het selecteren van een waarde uit de xml-bron en daar vervolgens templates bij zoeken en toepassen
conclusie Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese