org.mule.routing.outbound
Class FilteringXmlMessageSplitter
java.lang.Object
org.mule.routing.AbstractRouter
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, getTransactionConfig, isDynamicEndpoints, removeEndpoint, send, setEnableCorrelation, setEnableCorrelationAsString, setEndpoints, setMessageProperties, setPropertyExtractor, setPropertyExtractorAsString, setReplyTo, setTransactionConfig |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
APACHE_XML_FEATURES_VALIDATION_SCHEMA
public static final String APACHE_XML_FEATURES_VALIDATION_SCHEMA
- See Also:
- Constant Field Values
APACHE_XML_FEATURES_VALIDATION_SCHEMA_FULL_CHECKING
public static final String APACHE_XML_FEATURES_VALIDATION_SCHEMA_FULL_CHECKING
- See Also:
- Constant Field Values
JAXP_PROPERTIES_SCHEMA_SOURCE
public static final String JAXP_PROPERTIES_SCHEMA_SOURCE
- See Also:
- Constant Field Values
JAXP_PROPERTIES_SCHEMA_LANGUAGE
public static final String JAXP_PROPERTIES_SCHEMA_LANGUAGE
- See Also:
- Constant Field Values
JAXP_PROPERTIES_SCHEMA_LANGUAGE_VALUE
public static final String JAXP_PROPERTIES_SCHEMA_LANGUAGE_VALUE
- See Also:
- Constant Field Values
propertiesContext
protected final ThreadLocal propertiesContext
nodesContext
protected final ThreadLocal nodesContext
splitExpression
protected volatile String splitExpression
namespaces
protected volatile Map namespaces
validateSchema
protected volatile boolean validateSchema
externalSchemaLocation
protected volatile 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
cleanup
protected void cleanup()
- Description copied from class:
AbstractMessageSplitter
- This method is called after all parts of the original message have been processed;
typically this is the case after
AbstractMessageSplitter.getMessagePart(UMOMessage, UMOEndpoint)
returned null
.
- Overrides:
cleanup
in class AbstractMessageSplitter
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(org.dom4j.io.SAXReader reader,
boolean validate)
throws Exception
- Throws:
Exception
Copyright © 2003-2008 MuleSource, Inc.. All Rights Reserved.