Ik heb een asp file welke een xml bestand aanmaakt, als voorbeeld deze:
Dan wil ik dit serverside transformen dmv een xsl file naar html.
dit is de xsl file (ingekort):
Dit geeft dan iets als dit:
Nou vraag ik me een aantal dingen af:
Waar tovert hij die META met de charset vandaan?
waarom geeft hij é ipv é? Dit zal waarschijnlijk aan de charset liggen?
dit is de asp die het allemaal uitvoert:
Nu snap ik totaal niet waar xml die Meta tag vandaan tovert, en waarom hij (terwijl de xml é heeft) é laat zien.
Ik ben al een hele dag aan het zoeken, maar weet niet echt waar ik naar moet zoeken dus het schiet niet erg op. Ik zou heel blij zijn als iemand me hier mee zou kunnen helpen
XML:
De inrelevante stukken heb ik er tussenuit gehaald uiteraard.1
2
3
4
5
6
| <?xml version="1.0"?> <forum> <topic> <forum_topic_subject>é</forum_topic_subject> </topic> </forum> |
Dan wil ik dit serverside transformen dmv een xsl file naar html.
dit is de xsl file (ingekort):
HTML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
| <?xml version="1.0" encoding="utf-8" ?> <!DOCTYPE xsl:stylesheet [<!ENTITY nbsp ' '>]> <xsl:stylesheet version="1" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="html" encoding="UTF-8" /> <xsl:template match="/"> <html> <head> <title>naam</title> </head> <body> <table> <tr> <td><xsl:value-of select="/forum/topic/forum_topic_subject" disable-output-escaping="yes" /></td> </tr> </table> </body> </html> |
Dit geeft dan iets als dit:
HTML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| <html> <head> <META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>naam</title> </head> <body> <table> <tr> <td>é</d> </tr> </table> </body> </html> |
Nou vraag ik me een aantal dingen af:
Waar tovert hij die META met de charset vandaan?
waarom geeft hij é ipv é? Dit zal waarschijnlijk aan de charset liggen?
dit is de asp die het allemaal uitvoert:
Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
| 'Load XML ( werkt correct ) set oXML = Server.CreateObject("MSXML2.DOMDocument.3.0") oXML.async = false oXML.validateOnParse = false oXML.resolveExternals = false sXML = sXML & "<forum></forum>" oXML.loadXML sXML set rNode = oXML.documentElement 'topic node adden (werkt correct) set nNode = AddXMLNode(oXML, rNode, "topic", "", false) 'functie om node te adden in topic in xml file ( werkt correct ) AddXMLNode oXML, nNode, "forum_topic_subject", "é", false 'parsen (hier gaat het vermoedelijk pas mis) call XMLXSLTTrans(oXML,strUserSkin & "/" & parsefile) function XMLXSLTTrans(XML,XSLT) Dim objXSL Set objXSL = Server.CreateObject("MSXML2.DOMDocument.3.0") Set xsltd = server.CreateObject("MSXML2.XSLTemplate.3.0") objXSL.validateOnParse = false 'nee niet validaten lijkt me objXSL.load(Server.MapPath(XSLT)) 'xsl file laden call XML.transformNodeToObject(objXSL, response) 'direct outputten naar de browser End Function |
Nu snap ik totaal niet waar xml die Meta tag vandaan tovert, en waarom hij (terwijl de xml é heeft) é laat zien.
Ik ben al een hele dag aan het zoeken, maar weet niet echt waar ik naar moet zoeken dus het schiet niet erg op. Ik zou heel blij zijn als iemand me hier mee zou kunnen helpen
[ Voor 30% gewijzigd door Mischa_NL op 11-08-2005 18:43 ]