Ik probeer dus een webpagina te genereren uit XML mbv XSLT. Nou gebruikte ik eerst als output gewoon XML. Officieel moet dit natuurlijk XHTML zijn, maar nadat ik dat dus veranderd heb werken sommige pagina's niet meer goed. Een versimpeld stuk code dat niet goed gaat is de volgende:
Het probleem zit dus in de newtree variabele en de laatste template: als XHTML gekozen wordt als output, wordt deze template niet uitgevoerd, bij XML wel (eigenlijk ligt het trouwens niet eens aan die xsl:output tag, maar aan xhtml namespace die geinclude wordt). Als ik in die laatste template trouwens match tegen "/" doet ie het wel maar dat wil ik eigenlijk niet.
Mijn vraag is dus of ik iets fout doe of dat dit een bug is in de (XSLT 2.0) implementatie van de gebruikte Saxon XSLT engine.
XML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
| <?xml version="1.0"?> <xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml"> <xsl:output method="xhtml"/> <xsl:template match="/"> <html> <body> <xsl:variable name="newtree"> <msg>Hallo!</msg> </xsl:variable> <xsl:apply-templates select="$newtree" mode="snd"/> </body> </html> </xsl:template> <xsl:template match="msg" mode="snd"> Yeah </xsl:template> </xsl:stylesheet> |
Het probleem zit dus in de newtree variabele en de laatste template: als XHTML gekozen wordt als output, wordt deze template niet uitgevoerd, bij XML wel (eigenlijk ligt het trouwens niet eens aan die xsl:output tag, maar aan xhtml namespace die geinclude wordt). Als ik in die laatste template trouwens match tegen "/" doet ie het wel maar dat wil ik eigenlijk niet.
Mijn vraag is dus of ik iets fout doe of dat dit een bug is in de (XSLT 2.0) implementatie van de gebruikte Saxon XSLT engine.