|
|||||
|
Velkommen IntroXML Brushup Hvad er XMLXML Formatering med CSS XML Transformation med XSL Document Type Definition XML Schemas Document Object Model Simple API for XML XML og web Formatering med CSSGrundlæggende XSLT XSL IntroduktionDet grundlæggende XPath XPath intoDokumentets rod Filtrering med XPath XPath funktioner XPath aksenavne XSLT elementer xsl stylesheetxsl template xsl apply-templates xsl value-of xsl output xsl element xsl attribute xsl text xsl if og xsl choose xsl for-each xsl copy og xsl copy-of Sortering Modes IntroduktionDiverse VariableParametre Navngivne templates XML Værktøjer og ressourcer Værktøjer og ressourcer |
XML formatering og transformation / XSLT elementer / xsl apply-templates
xsl:applytemplatesbruges til at kalde en anden template inde fra en template. Syntaksen er: <xsl:apply-templates select="xpath udtryk" mode="mode navn"> Vi kommer tilbage til brugen af mode atributten senere. Hvis vi kigger på dette lille eksempel <xsl:template match="Nummer"> Når XSL processoren behandler denne template vil alle elementer der hedder "Nummer" blive fundet og for hver nummer vil der blive indsat et element der hedder "Track" i resultatet - men som følge af xsl:apply-templates vil processoren løbe xml dokumentet igennem for at se om der er templates der matcher - nu med udgangspunkt i "Nummer" elementet. Det giver først for alvor mening, hvis der er en flere templates i xsl dokumentet. Her er et lille eksempel: <?xml version="1.0"?> Denne lille leg går galt som vi tidligere har set - på grund af standard templates. Det er der to løsninger på - enten kan vi bruge <xsl:template match="text() | @*"></xsl:template> Eller også kan vi specificere hvad vi vil matche med i apply-templates <xsl:apply-templates select="RytmiskMusik/Nummer/Kunstner"/> ØvelserDet bliver godt nok først rigtig sjovt, når vi får value-of på banen også, men prøv alligevel at lege lidt med mulighederne. Du kan evt. prøve at skrive de tidligere øvelser vi har arbejdet med om til at bruge apply-template. |
||||