output Property


Gets a custom output to write the result of the transformation.

output = objXSLProcessor.output;  
objXSLProcessor.output (output);  


The object to which to write the output of the transformation.


This Jscript example uses the resource file, sample2.xsl, listed later in this topic.

var xslt = new ActiveXObject("Msxml2.XSLTemplate.3.0");
var xslDoc = new ActiveXObject("Msxml2.FreeThreadedDOMDocument.3.0");
var xslProc;
xslDoc.async = false;
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.3.0");
   xmlDoc.async = false;
   if (xmlDoc.parseError.errorCode != 0) {
      var myErr = xmlDoc.parseError;
      WScript.Echo("You have error " + myErr.reason);
   } else {
         xslProc = xslt.createProcessor();
      xslProc.input = xmlDoc;

output = objXSLProcessor.output  
objXSLProcessor.output (output)  


The object to which to write the output of the transformation.

The Jscript example listed above uses the following resource file.


<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="/">
  <xsl:template match="/" mode="edit">
        In Edit Mode
  <xsl:template match="/" mode="view">
        In View Mode

HRESULT get_output (VARIANT* pOutput);  
HRESULT put_output (VARIANT output);  


pOutput[out, retval]
The custom output object or a BSTR containing the transformation result.

The object to write the output of the transformation to.

C/C++ Return Values

Value returned if the given output object does not support a supported interface.

Value returned if the readyState property is READYSTATE_INTERACTIVE.

The output property can be any object/interface that supports IStream, IPersistStream, DOMDocument, ASP IResponse, ADODB.Stream, or IMXWriter.

When a new transform is started, the processor will use a QueryInterface this output for IStream. When the transform is complete or reset is called, IStream is released. The only method that is used on IStream is Write. The bytes written to the stream will be encoded according to the encoding attribute on the <xsl:output> element.

If you do not provide a custom output, then you will get a string when you read this property. The string contains the incrementally buffered transformation result.

Reading this property has the side effect of resetting that internal buffer so that each time you read the property you get the next chunk of output. In this case, the output is always generated in the Unicode encoding, and the encoding attribute on the <xsl:output> element is ignored.

Implemented in:

MSXML 3.0, MSXML 6.0