IXMLDOMXSLTemplate Property
Name | Description |
---|---|
Stylesheet | Allows an XSL style sheet to compile to an XSL template |
IXMLDOMXSLTemplate Method
Name | Description |
---|---|
CreateProcessor | Creates an XMLDOMXSLProcessor object that can use the template |
IXMLDOMXSLProcessor Properties
Name | Description |
---|---|
input | Sets the XML document that will be transformed. |
output | Retrieves the output object that will hold the results of the transformation. Can be any object that supports IStream interface, IPersistStream interface, IXMLDOMDocument interface, ASP Response object, and ADODB.stream object. |
readyState | The current state of the processor object. |
startMode | The base name of the start mode. |
startModeURI | Returns the namespace URI of the start mode. |
stylesheet | The XSL style sheet that will be used to perform the transformation. |
ownerTemplate | Returns the style sheet template that was used when creating the XSL processor object. |
IXMLDOMXSLProcessor Methods
Name | Description | |
---|---|---|
addObject (object, namespaceURI) | Used to pass objects (such as an XMLDOMDocument object) to a style sheet. | |
AddParameter (baseName, parameter, namespaceURI) | Used to pass variables into a style sheet. The variables will be referenced by the base name. The parameter can be a number, Boolean, string, XMLDOMNodeList object or XMLDOMNode object. The namespace is optional. You can reference these variables in the style sheet by using <xsl:param>. | |
Reset() | Resets the processor object back to the state the object was in prior to calling the transform method. | |
SetStartMode (mode, namespace) |
This method allows you to perform subsets of a larger XSL transformation. Using this method is the same as adding the following to the XSL style sheet:
|
|
Transform() | Used to begin the transformation or resume a transformation that returned VARIANT_FALSE. |
To see how to use these objects in ASP pages, create a new ASP application. In the global ASP page add the following code:
Sub Application_OnStart Dim l_oXSLDoc Dim g_oAcmePOXSLTemplate Set l_oXSLDoc = CreateObject("Msxml2.FreeThreadedDOMDocument") Set g_oNorthwindPOXSLTemplate=CreateObject("Msxml2.XSLTemplate") l_oXSLDoc.async = false l_oXSLDoc.load("C:\chapter 12\NorthwindPODOM.xsl") Set g_oNorthwindPOXSLTemplate.stylesheet = l_oXSLDoc Set Application("template") = g_oNorthwindPOXSLTemplate End Sub
In this example, we created a local document object variable and an XMLDOMXSLTemplate object variable that will have application wide scope, and then we loaded the NorthwindPODOM.xsl XSL document. This document will be compiled and stored in the g_oNorthwindPOXSLTemplate variable and can be used by multiple ASP documents and clients at the same time. To reference this document in an ASP document named NPODOM.asp, we would need to add the following code to the ASP document:
<%@ Language="VBScript" %> <SCRIPT LANGUAGE="VBScript" RUNAT="Server"> Dim l_oXMLDoc Dim l_oXMLProccessor Set l_oXMLDoc = CreateObject("Msxml2.DOMDocument") l_oXMLDoc.async = false l_oXMLDoc.load("C:\chapter 12\NorthwindPO.xml") set l_oXMLProccessor = Application("template").createProcessor() l_oXMLProccessor.output = Response l_oXMLProccessor.input = l_oXMLDoc l_oXMLProccessor.transform() </SCRIPT>
In this case, the NorthwindPO.xml document has been transformed in the ASP page using the XSL document stored in the application variable named template.