org.mule.routing.outbound
Class FilteringXmlMessageSplitter
java.lang.Object
org.mule.routing.outbound.AbstractOutboundRouter
org.mule.routing.outbound.FilteringOutboundRouter
org.mule.routing.outbound.AbstractMessageSplitter
org.mule.routing.outbound.FilteringXmlMessageSplitter
- All Implemented Interfaces:
- UMOOutboundRouter, UMORouter
- Direct Known Subclasses:
- RoundRobinXmlSplitter
- public class FilteringXmlMessageSplitter
- extends AbstractMessageSplitter
FilteringXmlMessageSplitter will split a DOM4J document into nodes
based on the "splitExpression" property.
Optionally, you can specify a
namespaces property map that contain prefix/namespace mappings.
Mind if you have a default namespace declared you should map it to some namespace,
and reference it in the splitExpression property. The splitter
can optionally validate against an XML schema. By default schema validation is
turned off. You may reference an external schema from the classpath by using
the externalSchemaLocation property. Note that each part
returned is actually returned as a new Document.
| Methods inherited from class org.mule.routing.outbound.AbstractOutboundRouter |
dispatch, getEnableCorrelation, getEndpoints, getPropertyExtractor, getReplyTo, getRouterStatistics, getTransactionConfig, isDynamicEndpoints, removeEndpoint, send, setEnableCorrelation, setEnableCorrelationAsString, setEndpoints, setMessageProperties, setPropertyExtractor, setPropertyExtractorAsString, setReplyTo, setRouterStatistics, setTransactionConfig |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
properties
protected static ThreadLocal properties
nodes
protected static ThreadLocal nodes
splitExpression
protected String splitExpression
namespaces
protected Map namespaces
validateSchema
protected boolean validateSchema
externalSchemaLocation
protected String externalSchemaLocation
FilteringXmlMessageSplitter
public FilteringXmlMessageSplitter()
setSplitExpression
public void setSplitExpression(String splitExpression)
setNamespaces
public void setNamespaces(Map namespaces)
getSplitExpression
public String getSplitExpression()
isValidateSchema
public boolean isValidateSchema()
setValidateSchema
public void setValidateSchema(boolean validateSchema)
getExternalSchemaLocation
public String getExternalSchemaLocation()
setExternalSchemaLocation
public void setExternalSchemaLocation(String externalSchemaLocation)
- Set classpath location of the XSD to check against. If the resource cannot be
found, an exception will be thrown at runtime.
- Parameters:
externalSchemaLocation - location of XSD
initialise
protected void initialise(UMOMessage message)
- Template method can be used to split the message up before the getMessagePart
method is called .
- Overrides:
initialise in class AbstractMessageSplitter
- Parameters:
message - the message being routed
getMessagePart
protected UMOMessage getMessagePart(UMOMessage message,
UMOEndpoint endpoint)
- Retrieves a specific message part for the given endpoint. the message will
then be routed via the provider.
- Specified by:
getMessagePart in class AbstractMessageSplitter
- Parameters:
message - the current message being processedendpoint - the endpoint that will be used to route the resulting message
part
- Returns:
- the message part to dispatch
setDoSchemaValidation
protected void setDoSchemaValidation(SAXReader reader,
boolean validate)
throws SAXException
- Throws:
SAXException
Copyright © 2003-2006 MuleSource Inc.. All Rights Reserved.