Voor een project waar ik mee bezig ben word een stuk XSLT gebruikt om data uit een XML file te weergeven.
De XSL welke hiervoor gebruikt wordt is:
Het probleem waar ik tegen aan loop is als volgt. Op het moment dat de output method op html staat, word de pagina "probleemloos" gerenderd, echter qua validatie klopt de html output niet meer, daar de <img/> tag word omgezet naar een <img> tag, dus bijvoorbeeld waar het "<img src="a.jpg" />" zou moeten zijn, wordt dit omgezet naar "<img src="a.jpg">". Op het moment dat ik de output method op xml zet, wat dit tegen zou moeten gaan, wordt de pagina ineens compleet foutief gerenderd, wat inhoudt dat er dingen schots en scheef gaan staan en/of verdwijnen. Overigens word de opbouw van XML -> XSLT geregeld door PHP en niet clientside.
Is er een andere manier om selfclosing tags te forceren? Of heb ik iets doms gedaan in de XSL? Aan jullie de eer, ik kom er niet meer uit
De XSL welke hiervoor gebruikt wordt is:
XML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
| <?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="html" media-type="text/html" omit-xml-declaration="yes" encoding="utf-8" indent="yes"/> <xsl:param name="limit" /> <xsl:param name="pid" /> <xsl:template match="advertorials"> <xsl:for-each select="category[@pid=$pid]/advertorial[position() < $limit]"> <div class="advertorial"> <div class="advertorialTitle"><xsl:value-of select="caption"/></div> <div class="advertorialContent"> <div class="advertorialText"><xsl:value-of select="teaser"/></div> <span><a href="/advertorial-{@client}-{/advertorials/category[@pid=$pid]/@simplename}.html" onclick="return showAdvertorial('{@client}','{/advertorials/category[@pid=$pid]/@simplename}','{@orientation}');" title="Verder lezen">Verder lezen ></a></span> </div> <div class="advertorialImage"> <a href="/advertorial-{@client}-{/advertorials/category[@pid=$pid]/@simplename}.html" onclick="return showAdvertorial('{@client}','{/advertorials/category[@pid=$pid]/@simplename}','{@orientation}');" title="Verder lezen"><img src="/images/advertorials/{@client}/{/advertorials/category[@pid=$pid]/@simplename}-thumb.jpg" alt="{caption}" /></a> </div> <div class="clear"></div> </div> </xsl:for-each> </xsl:template> </xsl:stylesheet> |
Het probleem waar ik tegen aan loop is als volgt. Op het moment dat de output method op html staat, word de pagina "probleemloos" gerenderd, echter qua validatie klopt de html output niet meer, daar de <img/> tag word omgezet naar een <img> tag, dus bijvoorbeeld waar het "<img src="a.jpg" />" zou moeten zijn, wordt dit omgezet naar "<img src="a.jpg">". Op het moment dat ik de output method op xml zet, wat dit tegen zou moeten gaan, wordt de pagina ineens compleet foutief gerenderd, wat inhoudt dat er dingen schots en scheef gaan staan en/of verdwijnen. Overigens word de opbouw van XML -> XSLT geregeld door PHP en niet clientside.
Is er een andere manier om selfclosing tags te forceren? Of heb ik iets doms gedaan in de XSL? Aan jullie de eer, ik kom er niet meer uit
PSN: bakakaizoku - WoW: Thiccblonde (GM of Phoenix Ascension) @ Twisting-Nether