org.apache.wicket.markup.transformer
Class XsltOutputTransformerContainer

java.lang.Object
  extended by org.apache.wicket.Component
      extended by org.apache.wicket.MarkupContainer
          extended by org.apache.wicket.markup.transformer.AbstractOutputTransformerContainer
              extended by org.apache.wicket.markup.transformer.XsltOutputTransformerContainer
All Implemented Interfaces:
Serializable, IClusterable, IConverterLocator, ITransformer

public class XsltOutputTransformerContainer
extends AbstractOutputTransformerContainer

A container which output markup will be processes by a XSLT processor prior to writing the output into the web response. 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.apache.org/dtds.data/wicket-xhtml1.3-strict.dtd is added to the root element to allow the XSL processor to handle the wicket namespace.

Similar to this container, a IBehavior is available which does the same, but does not require an additional Container.

Author:
Juergen Donnerstag
See Also:
XsltTransformerBehavior, Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class org.apache.wicket.Component
Component.ComponentModelChange, Component.EnabledChange, Component.IVisitor<T extends Component>, Component.VisibilityChange
 
Field Summary
 
Fields inherited from class org.apache.wicket.Component
ENABLE, FLAG_CONFIGURED, FLAG_INITIALIZED, FLAG_REMOVING_FROM_HIERARCHY, FLAG_RESERVED1, FLAG_RESERVED2, FLAG_RESERVED3, FLAG_RESERVED4, FLAG_RESERVED5, FLAG_RESERVED6, FLAG_RESERVED7, FLAG_RESERVED8, PARENT_PATH, PATH_SEPARATOR, RENDER
 
Constructor Summary
XsltOutputTransformerContainer(String id)
          Construct
XsltOutputTransformerContainer(String id, IModel<?> model)
          Construct
XsltOutputTransformerContainer(String id, IModel<?> model, String xslFilePath)
          Instead of using the default mechanism to determine the associated XSL file, it is given by the user.
 
Method Summary
 String getMarkupType()
          Get the type of associated markup for this component.
 CharSequence transform(Component component, CharSequence output)
          Will be invoked after all child components have been processed to allow for transforming the markup generated.
 
Methods inherited from class org.apache.wicket.markup.transformer.AbstractOutputTransformerContainer
newResponse, onComponentTagBody, onRender, setTransformBodyOnly
 
Methods inherited from class org.apache.wicket.MarkupContainer
add, addOrReplace, autoAdd, autoAdd, contains, findMarkupStream, get, get, getAssociatedMarkupStream, getMarkupStream, hasAssociatedMarkup, internalAdd, isTransparentResolver, iterator, iterator, newMarkupResourceStream, onAfterRenderChildren, remove, remove, removeAll, renderAll, renderAssociatedMarkup, renderComponentTagBody, renderNext, replace, setDefaultModel, setMarkupStream, size, swap, toString, toString, visitChildren, visitChildren
 
Methods inherited from class org.apache.wicket.Component
add, addStateChange, afterRender, beforeRender, callOnBeforeRenderIfNotVisible, checkComponentTag, checkComponentTagAttribute, checkHierarchyChange, configure, continueToOriginalDestination, debug, detach, detachBehaviors, detachModel, detachModels, determineVisibility, error, exceptionMessage, fatal, findPage, findParent, findParentWithAssociatedMarkup, getAjaxRegionMarkupId, getApplication, getBehaviors, getBehaviors, getBehaviorsRawList, getClassRelativePath, getComponentBorder, getConverter, getConverter, getDefaultModel, getDefaultModelObject, getDefaultModelObjectAsString, getDefaultModelObjectAsString, getEscapeModelStrings, getFeedbackMessage, getFlag, getFlag, getId, getInnermostModel, getInnermostModel, getLocale, getLocalizer, getMarkupAttributes, getMarkupId, getMarkupId, getMarkupIdImpl, getMetaData, getModelComparator, getOutputMarkupId, getOutputMarkupPlaceholderTag, getPage, getPageRelativePath, getParent, getPath, getRenderBodyOnly, getRequest, getRequestCycle, getResponse, getSession, getSizeInBytes, getStatelessHint, getString, getString, getString, getStyle, getVariation, hasBeenRendered, hasErrorMessage, hasFeedbackMessage, info, initModel, internalAttach, internalDetach, internalOnAttach, internalOnDetach, internalOnModelChanged, isActionAuthorized, isAncestorOf, isAttached, isBehaviorAccepted, isEnableAllowed, isEnabled, isEnabledInHierarchy, isIgnoreAttributeModifier, isRenderAllowed, isStateless, isVersioned, isVisibilityAllowed, isVisible, isVisibleInHierarchy, locateMarkupStream, markAttached, markRendering, modelChanged, modelChanging, onAfterRender, onAttach, onBeforeRender, onBeginRequest, onComponentTag, onConfigure, onDetach, onEndRequest, onInitialize, onModelChanged, onModelChanging, onRemove, prepareForRender, prepareForRender, redirectToInterceptPage, remove, remove, render, render, renderComponent, renderComponent, renderComponentTag, rendered, renderHead, renderPlaceholderTag, replaceComponentTagBody, replaceWith, sameInnermostModel, sameInnermostModel, setAuto, setComponentBorder, setDefaultModelObject, setEnabled, setEscapeModelStrings, setFlag, setFlag, setIgnoreAttributeModifier, setMarkupId, setMarkupIdImpl, setMetaData, setOutputMarkupId, setOutputMarkupPlaceholderTag, setRedirect, setRenderBodyOnly, setResponsePage, setResponsePage, setResponsePage, setVersioned, setVisibilityAllowed, setVisible, urlFor, urlFor, urlFor, urlFor, urlFor, urlFor, visitParents, warn, wrap
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

XsltOutputTransformerContainer

public XsltOutputTransformerContainer(String id,
                                      IModel<?> model,
                                      String xslFilePath)
Instead of using the default mechanism to determine the associated XSL file, it is given by the user.

Parameters:
id - the wicket:id
model - the model (unused)
xslFilePath - XSL input file path
See Also:
Component.Component(String, IModel)

XsltOutputTransformerContainer

public XsltOutputTransformerContainer(String id,
                                      IModel<?> model)
Construct

Parameters:
id - the wicket:id
model - the model (unused)
See Also:
Component.Component(String, IModel)

XsltOutputTransformerContainer

public XsltOutputTransformerContainer(String id)
Construct

Parameters:
id - the wicket:id
See Also:
Component.Component(String)
Method Detail

getMarkupType

public String getMarkupType()
Description copied from class: MarkupContainer
Get the type of associated markup for this component.

Overrides:
getMarkupType in class MarkupContainer
Returns:
The type of associated markup for this component (for example, "html", "wml" or "vxml"). The markup type for a component is independent of whether or not the component actually has an associated markup resource file (which is determined at runtime). If there is no markup type for a component, null may be returned, but this means that no markup can be loaded for the class.
See Also:
MarkupContainer.getMarkupType()

transform

public CharSequence transform(Component component,
                              CharSequence output)
                       throws 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 AbstractOutputTransformerContainer
Parameters:
component - The associated Wicket component
output - The markup generated by the child components
Returns:
The output which will be appended to the original response
Throws:
Exception
See Also:
ITransformer.transform(org.apache.wicket.Component, CharSequence)


Copyright © 2004-2011 Apache Software Foundation. All Rights Reserved.