Package org.zkoss.zml

## Class Transformer

- java.lang.Object
- - org.zkoss.zk.ui.AbstractComponent
  - - org.zkoss.zml.Transformer

- All Implemented Interfaces:
    `java.io.Serializable`, `java.lang.Cloneable`, `Component`, `Scope`, `ComponentCtrl`

      public class Transformer
      extends AbstractComponent

  XML transformer.
  Author:
    tomyeh
  See Also:
    Serialized Form

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class org.zkoss.zk.ui.AbstractComponent

      `AbstractComponent.Children, AbstractComponent.ForwardInfo, AbstractComponent.TargetInfo`

  - ### Field Summary

    - ### Fields inherited from interface org.zkoss.zk.ui.Component

      `APPLICATION_SCOPE, COMPONENT_SCOPE, DESKTOP_SCOPE, PAGE_SCOPE, REQUEST_SCOPE, SESSION_SCOPE, SPACE_SCOPE`

    - ### Fields inherited from interface org.zkoss.zk.ui.sys.ComponentCtrl

      `AFTER_CHILD_ADDED, AFTER_CHILD_REMOVED, AFTER_CLONED, AFTER_PAGE_ATTACHED, AFTER_PAGE_DETACHED, AFTER_PARENT_CHANGED, CE_BUSY_IGNORE, CE_DUPLICATE_IGNORE, CE_IMPORTANT, CE_NON_DEFERRABLE, CE_REPEAT_IGNORE`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `Transformer()` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `java.lang.Object` | `getXsl()` | Returns the XSL (Extensible Stylesheet Language), or null if not available.
    `void` | `redraw​(java.io.Writer out)` | Redraws this component and all its descendants.
    `void` | `setXsl​(java.io.File xsl)` | Sets the XSL with a file.
    `void` | `setXsl​(java.io.InputStream xsl)` | Sets the XSL with an input stream.
    `void` | `setXsl​(java.io.Reader xsl)` | Sets the XSL with a reader.
    `void` | `setXsl​(java.lang.String xsl)` | Sets the XSL with the resource path.
    `void` | `setXsl​(java.net.URL xsl)` | Sets the XSL with an URL.
    `void` | `setXsl​(javax.xml.transform.Source xsl)` | Sets the XSL with a XML source.
    `void` | `setXsl​(org.w3c.dom.Document xsl)` | Sets the XSL with a document.
    `void` | `setXsl​(Document xsl)` | Sets the XSL with a iDOM document.

    - ### Methods inherited from class org.zkoss.zk.ui.AbstractComponent

      `addAnnotation, addCallback, addClientEvent, addEventHandler, addEventListener, addEventListener, addForward, addForward, addForward, addForward, addMoved, addRedrawCallback, addScopeListener, addShadowRoot, addShadowRootBefore, addSharedEventHandlerMap, appendChild, applyProperties, beforeChildAdded, beforeChildRemoved, beforeParentChanged, clone, destroyIndexCacheMap, detach, didActivate, didActivate, didDeserialize, didDeserialize, disableBindingAnnotation, disableClientUpdate, disableHostChanged, enableBindingAnnotation, enableHostChanged, getAnnotatedProperties, getAnnotatedPropertiesBy, getAnnotation, getAnnotations, getAnnotations, getAttribute, getAttribute, getAttribute, getAttributeOrFellow, getAttributes, getAttributes, getAuService, getAutag, getCallback, getChildren, getClientAttribute, getClientDataAttribute, getClientEvents, getDefaultMold, getDefinition, getDesktop, getEventHandler, getEventHandlerNames, getEventListenerMap, getEventListeners, getExtraCtrl, getFellow, getFellow, getFellowIfAny, getFellowIfAny, getFellows, getFirstChild, getForwards, getId, getIndexCacheMap, getLastChild, getMold, getNextSibling, getPage, getParent, getPreviousSibling, getPropertyAccess, getRedrawCallback, getRoot, getShadowFellowIfAny, getShadowRoots, getShadowVariable, getShadowVariable, getShadowVariable0, getSpaceOwner, getSpecialRendererOutput, getStubonly, getSubBindingAnnotationCount, getTemplate, getTemplateNames, getUuid, getWidgetAttributeNames, getWidgetClass, getWidgetListener, getWidgetListenerNames, getWidgetOverride, getWidgetOverrideNames, hasAttribute, hasAttribute, hasAttribute, hasAttributeOrFellow, hasBindingAnnotation, hasFellow, hasFellow, hasSubBindingAnnotation, initIndexCacheMap, insertBefore, invalidate, isChildable, isDisabledHostChanged, isInitialized, isInvalidated, isListenerAvailable, isVisible, onChildAdded, onChildRemoved, onPageAttached, onPageDetached, onParentChanged, onWrongValue, query, queryAll, redrawChildren, removeAttribute, removeAttribute, removeAttribute, removeCallback, removeChild, removeEventListener, removeForward, removeForward, removeRedrawCallback, removeScopeListener, removeShadowRoot, render, render, render, renderProperties, renderPropertiesOnly, replace, response, response, response, service, service, sessionDidActivate, sessionWillPassivate, setAttribute, setAttribute, setAttribute, setAuService, setAutag, setClientAttribute, setClientDataAttribute, setDefinition, setDefinition, setId, setMold, setPage, setPageBefore, setParent, setStubonly, setStubonly, setSubBindingAnnotationCount, setTemplate, setVisible, setVisibleDirectly, setWidgetClass, setWidgetListener, setWidgetOverride, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdateWidgetListener, smartUpdateWidgetOverride, toString, updateByClient, updateSubBindingAnnotationCount, willPassivate, willPassivate, willSerialize, willSerialize`

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

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

- - ### Constructor Detail

    - #### Transformer

          public Transformer()

  - ### Method Detail

    - #### getXsl

          public java.lang.Object getXsl()

      Returns the XSL (Extensible Stylesheet Language), or null if not available.
      See Also:
        `setXsl(String)`, `setXsl(URL)`, `setXsl(File)`, `setXsl(Source)`

    - #### setXsl

          public void setXsl​(java.lang.String xsl)

      Sets the XSL with the resource path. The resource must be retrievable by use of `WebApp.getResource(java.lang.String)`.

    - #### setXsl

          public void setXsl​(java.io.File xsl)

      Sets the XSL with a file.

    - #### setXsl

          public void setXsl​(java.net.URL xsl)

      Sets the XSL with an URL.

    - #### setXsl

          public void setXsl​(java.io.InputStream xsl)

      Sets the XSL with an input stream.

    - #### setXsl

          public void setXsl​(java.io.Reader xsl)

      Sets the XSL with a reader.

    - #### setXsl

          public void setXsl​(javax.xml.transform.Source xsl)

      Sets the XSL with a XML source.

    - #### setXsl

          public void setXsl​(org.w3c.dom.Document xsl)

      Sets the XSL with a document.

    - #### setXsl

          public void setXsl​(Document xsl)

      Sets the XSL with a iDOM document.

    - #### redraw

          public void redraw​(java.io.Writer out)
                      throws java.io.IOException

      Description copied from class: `AbstractComponent`
      Redraws this component and all its descendants.

      Default: It uses `JsContentRenderer` to render all information in JavaScript codes. For devices that don't support JavaScript, it must override this method.

      To generate all information, it first invokes `AbstractComponent.renderProperties(org.zkoss.zk.ui.sys.ContentRenderer)` to render component's properties, and then `AbstractComponent.redrawChildren(java.io.Writer)` to redraw children (and descendants) (by calling their `AbstractComponent.redraw(java.io.Writer)`).

      If a derived class wants to render more properties, it can override `AbstractComponent.renderProperties(org.zkoss.zk.ui.sys.ContentRenderer)`.

      If a derived class renders only a subset of its children (such as paging/cropping), it could override `AbstractComponent.redrawChildren(java.io.Writer)`.

      If a deriving class wants to do something before `AbstractComponent.renderProperties(org.zkoss.zk.ui.sys.ContentRenderer)`, it has to override `AbstractComponent.redraw(java.io.Writer)`.

      If a deriving class doesn't want to render in JavaScript codes, it has to override `AbstractComponent.redraw(java.io.Writer)` with the proper implementation of `ContentRenderer`.

      Specified by:
        `redraw` in interface `ComponentCtrl`
      Overrides:
        `redraw` in class `AbstractComponent`
      Throws:
        `java.io.IOException`