Specifies which XML input tree to transform.
var objXMLDOMNode = objXSLProcessor.input; objXMLDOMXSLProcessor.input = objXMLDOMNode;
var xslt = new ActiveXObject("Msxml2.XSLTemplate.5.0"); var xslDoc = new ActiveXObject("Msxml2.FreeThreadedDOMDocument.5.0"); var xslProc; xslDoc.async = false; xslDoc.load("sample2.xsl"); if (xmlDoc.parseError.errorCode <> 0) { var myErr = xmlDoc.parseError; alert("You have error " + myErr.reason); } else { xslt.stylesheet = xslDoc; var xmlDoc = new ActiveXObject("Msxml2.DOMDocument.5.0"); xmlDoc.async = false; xmlDoc.load("books.xml"); if (xmlDoc.parseError.errorCode <> 0) { var myErr = xmlDoc.parseError; alert("You have error " + myErr.reason); } else { xslProc = xslt.createProcessor(); xslProc.input = xmlDoc; xslProc.transform(); alert(xslProc.output); } }
Sample2.xsl
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:output method="html"/> <xsl:param name="param1"/> <xsl:template match="/"> Hello </xsl:template> <xsl:template match="/" mode="edit"> In Edit Mode </xsl:template> <xsl:template match="/" mode="view"> In View Mode </xsl:template> </xsl:stylesheet>
Set objXMLDOMNode = objXSLProcessor.input objXMLDOMXSLProcessor.input = objXMLDOMNode
Dim xslt As New Msxml2.XSLTemplate50 Dim xslDoc As New Msxml2.FreeThreadedDOMDocument50 Dim xmlDoc As New Msxml2.DOMDocument50 Dim xslProc As IXSLProcessor xslDoc.async = False xslDoc.Load "sample2.xsl" If (xmlDoc.parseError.errorCode <> 0) Then Dim myErr Set myErr = xmlDoc.parseError MsgBox("You have error " & myErr.reason) Else Set xslt.stylesheet = xslDoc xmlDoc.async = False xmlDoc.Load "books.xml" If (xmlDoc.parseError.errorCode <> 0) Then Dim myErr Set myErr = xmlDoc.parseError MsgBox("You have error " & myErr.reason) Else Set xslProc = xslt.createProcessor() xslProc.input = xmlDoc xslProc.Transform MsgBox xslProc.output End If End If
Sample2.xsl
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:output method="html"/> <xsl:param name="param1"/> <xsl:template match="/"> Hello </xsl:template> <xsl:template match="/" mode="edit"> In Edit Mode </xsl:template> <xsl:template match="/" mode="view"> In View Mode </xsl:template> </xsl:stylesheet>
HRESULT get_input (VARIANT * pVar); HRESULT put_input (VARIANT pVar);
DOMDocument
object, an IXMLDOMNode
or any object that supports ISequentialStream
, IStream
, or IPersistStream
. If applying the transformation to an IXMLDOMNode
, any node type and any threading model can be specified. If this argument is Null, the existing input will be cleared.readyState
is READYSTATE_INTERACTIVE.IStream
or IXMLDOMNode
.Setting this property resets the state of the processor.
To view reference information for Visual Basic, C/C++, or Script only, click the Language Filter button in the upper-left corner of the page.
Applies to: IXSLProcessor