1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
- /* This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
- #include "domstubs.idl"
- interface nsIVariant;
- [scriptable, uuid(4a91aeb3-4100-43ee-a21e-9866268757c5)]
- interface nsIXSLTProcessor : nsISupports
- {
- /**
- * Import the stylesheet into this XSLTProcessor for transformations.
- *
- * @param style The root-node of a XSLT stylesheet. This can be either
- * a document node or an element node. If a document node
- * then the document can contain either a XSLT stylesheet
- * or a LRE stylesheet.
- * If the argument is an element node it must be the
- * xsl:stylesheet (or xsl:transform) element of an XSLT
- * stylesheet.
- */
- void importStylesheet(in nsIDOMNode style);
- /**
- * Transforms the node source applying the stylesheet given by
- * the importStylesheet() function. The owner document of the output node
- * owns the returned document fragment.
- *
- * @param source The node to be transformed
- * @param output This document is used to generate the output
- * @return DocumentFragment The result of the transformation
- */
- nsIDOMDocumentFragment transformToFragment(in nsIDOMNode source,
- in nsIDOMDocument output);
- /**
- * Transforms the node source applying the stylesheet given by the
- * importStylesheet() function.
- *
- * @param source The node to be transformed
- * @return Document The result of the transformation
- */
- nsIDOMDocument transformToDocument(in nsIDOMNode source);
- /**
- * Sets a parameter to be used in subsequent transformations with this
- * nsIXSLTProcessor. If the parameter doesn't exist in the stylesheet the
- * parameter will be ignored.
- *
- * @param namespaceURI The namespaceURI of the XSLT parameter
- * @param localName The local name of the XSLT parameter
- * @param value The new value of the XSLT parameter
- *
- * @exception NS_ERROR_ILLEGAL_VALUE The datatype of value is
- * not supported
- */
- void setParameter(in DOMString namespaceURI,
- in DOMString localName,
- in nsIVariant value);
- /**
- * Gets a parameter if previously set by setParameter. Returns null
- * otherwise.
- *
- * @param namespaceURI The namespaceURI of the XSLT parameter
- * @param localName The local name of the XSLT parameter
- * @return nsIVariant The value of the XSLT parameter
- */
- nsIVariant getParameter(in DOMString namespaceURI,
- in DOMString localName);
- /**
- * Removes a parameter, if set. This will make the processor use the
- * default-value for the parameter as specified in the stylesheet.
- *
- * @param namespaceURI The namespaceURI of the XSLT parameter
- * @param localName The local name of the XSLT parameter
- */
- void removeParameter(in DOMString namespaceURI,
- in DOMString localName);
- /**
- * Removes all set parameters from this nsIXSLTProcessor. This will make
- * the processor use the default-value for all parameters as specified in
- * the stylesheet.
- */
- void clearParameters();
- /**
- * Remove all parameters and stylesheets from this nsIXSLTProcessor.
- */
- void reset();
- };
|