Hej,
Må man spørge om XML/XSLT-spørgsmål her, eller er der en anden gruppe
(som jeg ikke har fundet)?
Hvis ja:
Jeg er ved at forsøge at sætte mig ind i om XML kan bruges til noget
fornuftigt. Jeg har købt en lang og tyk bog ("Beginning XML" fra
Wrox), som egentlig virker meget fornuftig.
Men jeg synes ikke det er helt nemt at gennemskue, hvordan man
nemmest/smartest konverterer fra XML til HTML.
Jeg *har* fundet ud af at konvertere nogle simple ting ved hjælp af en
template i et XSLT-stylesheet, men det er åbenbart ikke helt
uproblematisk.
Den operative del af min ASP-side er:
Set objSource = Server.CreateObject( "MSXML2.DOMDocument.3.0" )
Set objXSL = Server.CreateObject( "MSXML2.DOMDocument.3.0" )
objSource.load Server.MapPath( "simple.xml" )
objXSL.load Server.MapPath( "simple.xsl" )
strOutput = objSource.transformNode( objXSL )
Response.Write strOutput
- og det virker uden problemer.
Men hvordan får jeg sat det rigtige tegnsæt i min HTML?
Jeg har forsøgt fx at sætte:
<xsl:output method="html" encoding="UTF-8"/>
(eller iso-8859-1) i xsl'en, men parser'en skriver ufortrødent:
<META http-equiv="Content-Type" content="text/html; charset=UTF-16">
i HTML-output - ?
Hvis jeg opgraderer til XML-DOM version 4.0 i ASP-scriptet, er der
intet tegnsæt, men blot:
<META http-equiv="Content-Type" content="text/html">
Hvis jeg indsætter:
<meta http-equiv="Content-Type" content="text/html;
charset=iso-8859-1"/>
i min template bliver det bare ignoreret.
Og hvordan sætter jeg en DOCTYPE i HTML'en. Hvis jeg bare indsætter
den i min template, brokker parseren sig over, at det ikke er
velformet XML (hvad den jo fsv. har ret i).
Hvis nogen vil kigge, så er filerne her:
<url:
http://www.marxisme.dk/testxml/simple.asp>
<url:
http://www.marxisme.dk/testxml/simple.xml>
<url:
http://www.marxisme.dk/testxml/simple.xsl>
Jeg er helt overbevist om, at svarene står i min tykke bog, men lige
nu har jeg bare ikke tålmodighed til at finde ud af hvor
Med håb om hjælp,
Jørn
--
Jørn Andersen,
Brønshøj