ASP Lösning
Nedanstående program är en "universallösning". Döp om det vid behov.
Observera att ASP programmet är helt passivt. Det tar XML filen samt XSL filen,
laddar dessa samt sätter allt eventuellt GET data till XSL filen. Programmet gör
ingenting annat, utan programmeringen sker i XSL filen.
Provkör programmet
xml_to_html.asp
<%
' Använd doTransform proceduren
' byt filnamn vid behov
doTransform "demo.xml", "demo.xsl"
' Procedur som skall ha xmlfilens namn samt xslfilens namn
' Skriver resultatet av transformeringen direkt till browsern
Sub doTransform( xml, xsl )
dim xslDoc,xmlDoc, xslTemplate
' skapa två fritrådiga XML objekt
set xslDoc = Server.createObject ("MSXML2.FreeThreadedDOMDocument")
Set xmlDoc = Server.createObject("Msxml2.FreeThreadedDOMDocument")
' Se till att filerna laddas helt innan vi fortsätter
xmlDoc.async = false
xslDoc.async = false
' läs in filerna
xslDoc.load server.mapPath(xsl)
xmlDoc.load server.mapPath(xml)
' skapa ett XSLTemplate objekt
set xslTemplate = createObject("MSXML2.XSLTemplate")
' Se till att stylesheet propertyn sätts till dett
' laddade xsl dokumentet
xslTemplate.stylesheet = xslDoc
' skapa en XSLT processor
set proc = xslTemplate.createProcessor
' Ge XML dokumentet åt processorn
proc.input = xmlDoc
' Resultatet skall sättes direkt till ASP:s Response
' objekt = direkt till websidan
proc.output = response
' Gå genom adressraden och sätt allt data som parameter till
' XSL processorn
For Each field In Request.QueryString
proc.addParameter field, Trim( Request.QueryString( field ) )
Next
' Just do it
proc.transform
End Sub
%>