reset Method (IXSLProcessor)
Resets the state of the processor to the state it was in prior to calling the transform
method.
JScript Syntax
objXSLProcessor.reset();
Example
Note
You can use books.xml and sample.xsl (below) to run this sample code.
var xslt = new ActiveXObject("Msxml2.XSLTemplate.6.0");
var xslDoc = new ActiveXObject("Msxml2.FreeThreadedDOMDocument.6.0");
var xslProc;
xslDoc.async = false;
xslDoc.load("sample.xsl");
if (xslDoc.parseError.errorCode != 0) {
var myErr = xslDoc.parseError;
WScript.Echo("You have error " + myErr.reason);
} else {
xslt.stylesheet = xslDoc;
var xmlDoc = new ActiveXObject("Msxml2.DOMDocument.6.0");
xmlDoc.async = false;
xmlDoc.load("books.xml");
if (xmlDoc.parseError.errorCode != 0) {
var myErr = xmlDoc.parseError;
WScript.Echo("You have error " + myErr.reason);
} else {
xslProc = xslt.createProcessor();
xslProc.input = xmlDoc;
xslProc.addParameter("param1", "Hello");
xslProc.transform();
WScript.Echo(xslProc.output);
xslProc.reset();
WScript.Echo(xslProc.output);
}
}
Resource File
The JScript example uses the following file.
Sample.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="/">
The parameter value was: <xsl:value-of select="$param1"/>
</xsl:template>
</xsl:stylesheet>
Output
The parameter value was: Hello
C/C++ Syntax
HRESULT reset();
Remarks
It does not reset any other properties, such as stylesheet
or startMode
.
The reset
method will cause any internally buffered output to be thrown away (that is, it aborts the asynchronous transformation). Calling reset
results in the readyState
value going from READYSTATE_INTERACTIVE
back to READYSTATE_LOADED
.
A re-entrant call to reset
from inside the scope of a call to transform
results in that transform
call finishing as soon as it can, returning E_FAIL with the error message "User aborted transform."
Versioning
Implemented in: MSXML 3.0 and MSXML 6.0