Als je een template hebt die een element X matched, en in die template geef je de instructie apply-templates, kun je dan in een 'latere' template nog wel een attribuut van X selecteren?
Mij lukt het niet, en ik snap iets niet, want volgens mij gebruik ik de juiste match criteria:
Voor match heb ik geprobeerd, attribute::title of @title, dat werkt niet, want page is niet meer de context-node. Dus ik moet als het ware 'omhoog'. Met XPath kan dat, parent::page/attribute::title, maar in XSL is dat niet toegestaan als match. Dan zal ik vanaf de root moeten werken, dus probeer ik, /page/attribute::title dat heeft geen resultaat. Ik weethet ff niet meer, zie ik iets over het hoofd?
Wat wel kan is een value-of select="id van bovenliggende element" in de template voor <para>, maar dat is niet wat ik wil. Ook kan het in <page> zelf met value-of select="@title", maar dat is ook niet de bedoeling.
Mij lukt het niet, en ik snap iets niet, want volgens mij gebruik ik de juiste match criteria:
XML:
1
2
3
4
| <page title="Test"> <para>Tekst...</para> <para>Tekst...</para> </page> |
XML:
1
2
3
4
5
6
7
8
9
10
11
| <xsl:template match="page"> <body> <xsl:apply-templates /> </body> </xsl:template> <xsl:template match="welke match moet ik hier gebruiken"> <h1> <xsl:value-of select="text()" /> </h1> </xsl:template> |
Voor match heb ik geprobeerd, attribute::title of @title, dat werkt niet, want page is niet meer de context-node. Dus ik moet als het ware 'omhoog'. Met XPath kan dat, parent::page/attribute::title, maar in XSL is dat niet toegestaan als match. Dan zal ik vanaf de root moeten werken, dus probeer ik, /page/attribute::title dat heeft geen resultaat. Ik weethet ff niet meer, zie ik iets over het hoofd?
Wat wel kan is een value-of select="id van bovenliggende element" in de template voor <para>, maar dat is niet wat ik wil. Ook kan het in <page> zelf met value-of select="@title", maar dat is ook niet de bedoeling.