wicket.markup.transformer
Class XsltTransfomerBehavior

java.lang.Object
  extended by wicket.behavior.AbstractBehavior
      extended by wicket.markup.transformer.AbstractTransformerBehavior
          extended by wicket.markup.transformer.XsltTransfomerBehavior
All Implemented Interfaces:
java.io.Serializable, IBehavior, ITransformer

public class XsltTransfomerBehavior
extends AbstractTransformerBehavior

An IBehavior which can be added to any component except ListView. It allows to post-process (XSLT) the markup generated by the component. The *.xsl resource must be located in the same path as the nearest parent with an associated markup and must have a filename equal to the component's id.

The containers tag will be the root element of the xml data applied for transformation to ensure the xml data are well formed (single root element). In addition the attribute xmlns:wicket="http://wicket.sourceforge.net" is added to the root element to allow the XSL processor to handle the wicket namespace.

The reason why the transformer can not be used to XSLT the ListViews output is because of the ListViews markup being reused for each ListItem. Please use a XsltOutputTransformerContainer instead. Note: if the ListView is used to print a list of <tr> tags, than the transformer container must enclose the <table> tag as well to be HTML compliant.

Author:
Juergen Donnerstag
See Also:
AbstractOutputTransformerContainer, XsltOutputTransformerContainer, Serialized Form

Constructor Summary
XsltTransfomerBehavior()
          Construct.
XsltTransfomerBehavior(java.lang.String xslFilePath)
          Instead of using the default mechanism to determine the associated XSL file, it is given by the user.
 
Method Summary
 void onComponentTag(Component component, ComponentTag tag)
          Called any time a component that has this behavior registered is rendering the component tag.
 java.lang.CharSequence transform(Component component, java.lang.String output)
          Will be invoked after all child components have been processed to allow for transforming the markup generated.
 
Methods inherited from class wicket.markup.transformer.AbstractTransformerBehavior
cleanup, newResponse, onException, onRendered
 
Methods inherited from class wicket.behavior.AbstractBehavior
bind, detachModel, exception, rendered
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

XsltTransfomerBehavior

public XsltTransfomerBehavior()
Construct.


XsltTransfomerBehavior

public XsltTransfomerBehavior(java.lang.String xslFilePath)
Instead of using the default mechanism to determine the associated XSL file, it is given by the user.

Parameters:
xslFilePath - XSL file path
Method Detail

onComponentTag

public void onComponentTag(Component component,
                           ComponentTag tag)
Description copied from interface: IBehavior
Called any time a component that has this behavior registered is rendering the component tag.

Specified by:
onComponentTag in interface IBehavior
Overrides:
onComponentTag in class AbstractTransformerBehavior
Parameters:
component - the component that renders this tag currently
tag - the tag that is rendered
See Also:
IBehavior.onComponentTag(wicket.Component, wicket.markup.ComponentTag)

transform

public java.lang.CharSequence transform(Component component,
                                        java.lang.String output)
                                 throws java.lang.Exception
Description copied from interface: ITransformer
Will be invoked after all child components have been processed to allow for transforming the markup generated.

Specified by:
transform in interface ITransformer
Specified by:
transform in class AbstractTransformerBehavior
Parameters:
component - The associated Wicket component
output - The markup generated by the child components
Returns:
The output which will be appended to the orginal response
Throws:
java.lang.Exception
See Also:
ITransformer.transform(wicket.Component, java.lang.String)


Copyright © 2004-2007 Wicket developers. All Rights Reserved.