Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
This topic describes how to transform an XML file on an IIS server before sending the formatted content to a client. The transformation uses an XSLT file.
Example Code
The following example shows you how to use JScript to to fill an HTML DIV tag with the result of a transformation performed by a stylesheet called sample.xsl on a file called books.xml. This code can be placed in an HTML file.
This example was taken from the topic title transformNode.
<SCRIPT>
// Load data.
var source = new ActiveXObject("Msxml2.DOMDocument.4.0");
source.async = false;
source.load("books.xml");
if (xmlDoc.parseError.errorCode <> 0) {
var myErr = xmlDoc.parseError;
alert("You have error " + myErr.reason);
} else {
// Load style sheet.
var stylesheet = new ActiveXObject("Msxml2.DOMDocument.4.0");
if (xmlDoc.parseError.errorCode <> 0) {
var myErr = xmlDoc.parseError;
alert("You have error " + myErr.reason);
} else {
stylesheet.async = false
stylesheet.load("sample.xsl");
// Fill a div tag with the result of the transform
divInfo.innerHTML = source.transformNode(stylesheet);
}
}
</SCRIPT>
Example Code
The following example shows you how to use Visual Basic Scripting Edition (VBScript) to display the result of a transformation that is performed by a stylesheet called sample.xsl on a file whose name is sent in the Request.QueryString collection. This code can be placed in an ASP file.
Wrapping the call to Request.QueryString is a basic method of protecting against malicious user input. A more robust method is used in Validating User Input to Avoid Attacks.
This example was altered from sample in the the topic title transformNode.
<%@ Language = "VBScript" %>
<%
Dim source As New Msxml2.DOMDocument40
Dim stylesheet As New Msxml2.DOMDocument40
' Load data.
source.async = False
source.Load Server.HTMLEncode(Request.QueryString("XMLFileName"))
If (xmlDoc.parseError.errorCode <> 0) Then
Dim myErr
Set myErr = xmlDoc.parseError
Response.Write("You have error " & myErr.reason)
Else
' Load style sheet.
stylesheet.async = False
stylesheet.Load "sample.xsl"
If (xmlDoc.parseError.errorCode <> 0) Then
Dim myErr
Set myErr = xmlDoc.parseError
Response.Write("You have error " & myErr.reason)
Else
' Do the transform.
Response.Write(source.transformNode(stylesheet))
End If
End If
%>