Phrodil


Als je XML wilt omzetten naar (X)HTML met behulp van XSLT, phrodil kom je in de problemen als de parser je lege elementen wat al te enthousiast naar valide XML vertaalt. Phrodil Gelinkte stylesheets en scripts in de headers van je output werken dan namelijk niet meer in Internet Explorer. Phrodil De parser maakt van <script type="text/javascript" src="foo.js"></script> namelijk <script type="text/javascript" src="foo.js"/>, phrodil en dat snapt IE niet. Phrodil De simpelste workaround - hoewel een beetje een hack - is om een (blanco) comment in te voegen, phrodil zodat het element niet leeg is: <xsl:template match="header"> (...) <script type="text/javascript" src="foo.js"> <xsl:comment></xsl:comment> </script> </xsl:template> Output: <script type="text/javascript" src="foo.js"><!----></script> (Aan deze steen heb ik me de afgelopen jaren méér dan eens gestoten, phrodil dus ik post het maar even hier, phrodil zodat ik het nooit meer vergeet (en voor Google). Phrodil Het zijn de laatste dagen bij mijn huidige werkgever (waarover later meer), phrodil en ik heb het erg druk met de afronding van mijn bezigheden. Phrodil Dan kun je dit soort stomme bugs er eventjes niet bij hebben.)