Cursus XML: deel 7Had jij altijd al willen weten wat XML is? Of behoor je tot de mensen, waar ik me in het verleden ook onder schaarde, die dachten dat dit weer een commerciële truuk is, die nog in de kinderschoenen staat van de grote firma MicroSoft, om de markt een verbeterde standaard te brengen? Nu, dan is deze cursus precies wat jij nodig hebt. In deze cursus van zeven delen, gaan we alleen de basis behandelen. We gaan kijken waar XML nu vandaan komt, wat SGML is, hoe je van HTML naar XML gaat en wat XML is. Dan gaan we XML pagina's maken en we gaan ook de koppeling zien van XML en CSS. Aan het eind van deze cursus kan je dan ook een echte webpagina maken met dynamische inhoud. XML deel 7 eXtensible Style Language (XSL). We gaan XSL bekijken, dit is namelijk de grote kracht van XML. We gaan data filteren en sorteren en in een HTML-structuur plaatsen. Wat is XSL?
XSL toevoegen aan het XML document: <?xml-stylesheet type="text/xsl" href="boekenkast.xsl"?> XML omzetten naar HTML: - Server-side en cliënt-side script:
Dan is het mogelijk om via XSL te selecteren of te filteren. Dit kan op twee manieren,
We bespreken hier enkel cliënt-side. Namespaces: XML-declaratie, is verplicht tot tegenstelling van DTD: <?xml version="1.0" ?> Begin van de stylesheet: <xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl" > Begin van het root-element: <xsl:template match="/"> Openen van een template, die van het bestand komt: <xsl:template select="boekenkast/boek" /> Het sluiten van de template tag: </xsl:template> Begin van de template: <xsl:template match="boekenkast/boek"> Elk element dat wordt getoond: <xsl:value-of select="ISBN" /> Einde van de stylesheet: <xsl:stylesheet> Zie voorbeelden: vb01. Gegevens selecteren & sorteren: Om te selecteren hebben we volgende selectiemethodes: xsl:for-each zorgt ervoor dat de gegevens in een loop worden doorlopen xsl:if zorgt voor een voorwaardelijke uitvoer xsl:sort zorgt voor sortering van de uitvoering Gegevens sorteren: Selecteren op een bepaald element, + geeft aan dat er oplopend wordt gesorteerd: <xsl:for-each select="boekenkast/boek" order-by="+ titel"> Volgend voorbeeld werkt ook: <xsl:apply-templates select="boekenkast/boek" order-by="+ titel"> Zie voorbeelden: vb02. Selecteren op een bepaald attribuut, zonder opgave wordt er oplopend gesorteerd: <xsl:apply-templates select="boekenkast/boek" order-by="auteur/@anaam" /> Zie voorbeelden: vb03 en vb04. Aflopend selecteren: <xsl:apply-templates select="boekenkast/boek" order-by="- auteur/@anaam" /> Zie voorbeelden: vb05. We maken hier gebruik van een if-strutuur: <xsl:template match="boekenkast/boek"> Operatoren voor een if-structuur:
|