Package org.zkoss.idom.transform

## Class Transformer

- java.lang.Object
- - org.zkoss.idom.transform.Transformer

-     public class Transformer
      extends java.lang.Object

  Transforms an iDOM Document.
  Author:
    andrewho@potix.com, tomyeh

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `Transformer()` | Transformer constructor without stylesheet.
    `Transformer​(javax.xml.transform.Source source)` | Constructs a transformer with a stylesheet in form of Source.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `enableOutputDocType​(boolean enable)` | Sets whether to output the doc type.
    `javax.xml.transform.ErrorListener` | `getErrorListener()` | Get the error event handler in effect for the transformation.
    `java.util.Properties` | `getOutputProperties()` | Get a copy of the output properties for the transformation.
    `java.lang.String` | `getOutputProperty​(java.lang.String name)` | Get an output property that is in effect for the transformation.
    `javax.xml.transform.Transformer` | `getTransformer()` | Returns the JAXP transformer encapsulated by this object.
    `void` | `setErrorListener​(javax.xml.transform.ErrorListener listener)` | Set the error event listener in effect for the transformation.
    `void` | `setOutputProperties​(java.util.Properties props)` | Set the output properties for the transformation.
    `void` | `setOutputProperty​(java.lang.String name, java.lang.String value)` | Set an output property that will be in effect for the transformation.
    `Document` | `transform​(javax.xml.transform.Source source)` | Transforms a source and returns the transformed result as an iDOM Document.
    `void` | `transform​(javax.xml.transform.Source source, javax.xml.transform.Result result)` | Transforms from a source to a result.
    `Document` | `transform​(Document doc)` | Transforms an iDOM document and returns the transformed result as another iDOM Document.
    `void` | `transform​(Document doc, javax.xml.transform.Result result)` | Transforms from an iDOM document to a result.
    `Document` | `transform​(Element elm)` | Transforms an iDOM element and returns the transformed result as another iDOM Document.
    `void` | `transform​(Element elm, javax.xml.transform.Result result)` | Transforms from an iDOM element to a result.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### Transformer

          public Transformer()
                      throws javax.xml.transform.TransformerConfigurationException

      Transformer constructor without stylesheet.
      Throws:
        `javax.xml.transform.TransformerConfigurationException`

    - #### Transformer

          public Transformer​(javax.xml.transform.Source source)
                      throws javax.xml.transform.TransformerConfigurationException

      Constructs a transformer with a stylesheet in form of Source.

      Examples:

      File file
        new Transformer(new javax.xml.transform.stream.StreamSource(file));
      Reader reader
        new Transformer(new javax.xml.transform.stream.StreamSource(reader));
      URL url
        new Transformer(new javax.xml.transform.stream.StreamSource(url.openStream()));
      iDOM or DOM dom
        new Transformer(new javax.xml.transform.dom.DOMSource(dom));

      See javax.xml.transform.stream.StreamSource and javax.xml.transform.dom.DOMSource

      Throws:
        `javax.xml.transform.TransformerConfigurationException`

  - ### Method Detail

    - #### enableOutputDocType

          public final void enableOutputDocType​(boolean enable)

      Sets whether to output the doc type. Default: true.

      Useful only if `Document` is used in transform(), e.g., `transform(Document, Result)`. If not, you have to set OutputKeys.DOCTYPE_SYSTEM and OutputKeys.DOCTYPE_PUBLIC explicitly (thru `getTransformer()`).

    - #### getTransformer

          public final javax.xml.transform.Transformer getTransformer()

      Returns the JAXP transformer encapsulated by this object. Then, you can use it to set properties, listener and so on.

      Notice: OutputKeys.DOCTYPE_SYSTEM and OutputKeys.DOCTYPE_PUBLIC are set automatically if outDocType is true when constructing this object and `Document` is used to transform.

    - #### transform

          public final void transform​(javax.xml.transform.Source source,
                                      javax.xml.transform.Result result)
                               throws javax.xml.transform.TransformerException

      Transforms from a source to a result. and javax.xml.transform.dom.DOMSource
      Parameters:
        `source` - the source
        `result` - the result
      Throws:
        `javax.xml.transform.TransformerException`
      See Also:
        `transform(Document, Result)`

    - #### transform

          public final void transform​(Document doc,
                                      javax.xml.transform.Result result)
                               throws javax.xml.transform.TransformerException

      Transforms from an iDOM document to a result.

      Examples:

      File file
        transformer.transform(doc, new javax.xml.transform.stream.StreamResult(file));
      Writer writer
        transformer.transform(doc, new javax.xml.transform.stream.StreamResult(writer));
      URL url
        No simple way yet.
      iDOM or DOM dom
        `transform(Source)` and `transform(Document)`.
      String systemId
        transformer.transform(doc, new javax.xml.transform.stream.StreamResult(systemId));

      See javax.xml.transform.stream.StreamResult and javax.xml.transform.dom.DOMResult

      Parameters:
        `doc` - the source document
        `result` - the result
      Throws:
        `javax.xml.transform.TransformerException`
      See Also:
        `transform(Source, Result)`, `transform(Document)`

    - #### transform

          public final void transform​(Element elm,
                                      javax.xml.transform.Result result)
                               throws javax.xml.transform.TransformerException

      Transforms from an iDOM element to a result.
      Parameters:
        `elm` - the source element
        `result` - the result
      Throws:
        `javax.xml.transform.TransformerException`

    - #### transform

          public final Document transform​(javax.xml.transform.Source source)
                                   throws javax.xml.transform.TransformerException

      Transforms a source and returns the transformed result as an iDOM Document.
      Parameters:
        `source` - the source
      Returns:
        the transformed result in an iDOM document
      Throws:
        `javax.xml.transform.TransformerException`

    - #### transform

          public final Document transform​(Document doc)
                                   throws javax.xml.transform.TransformerException

      Transforms an iDOM document and returns the transformed result as another iDOM Document.
      Parameters:
        `doc` - the source document
      Returns:
        the transformed result in an iDOM document
      Throws:
        `javax.xml.transform.TransformerException`

    - #### transform

          public final Document transform​(Element elm)
                                   throws javax.xml.transform.TransformerException

      Transforms an iDOM element and returns the transformed result as another iDOM Document.
      Parameters:
        `elm` - the source element
      Returns:
        the transformed result in an iDOM document
      Throws:
        `javax.xml.transform.TransformerException`

    - #### getOutputProperties

          public final java.util.Properties getOutputProperties()

      Get a copy of the output properties for the transformation.

    - #### getOutputProperty

          public final java.lang.String getOutputProperty​(java.lang.String name)

      Get an output property that is in effect for the transformation.

    - #### setOutputProperty

          public final void setOutputProperty​(java.lang.String name,
                                              java.lang.String value)

      Set an output property that will be in effect for the transformation.

    - #### setOutputProperties

          public final void setOutputProperties​(java.util.Properties props)

      Set the output properties for the transformation.

    - #### getErrorListener

          public final javax.xml.transform.ErrorListener getErrorListener()

      Get the error event handler in effect for the transformation.

    - #### setErrorListener

          public final void setErrorListener​(javax.xml.transform.ErrorListener listener)

      Set the error event listener in effect for the transformation.