org.mule.module.xml.routing
Class XmlMessageSplitter
java.lang.Object
org.mule.processor.AbstractMuleObjectOwner<MessageProcessor>
org.mule.processor.AbstractMessageProcessorOwner
org.mule.routing.outbound.AbstractOutboundRouter
org.mule.routing.outbound.FilteringOutboundRouter
org.mule.routing.outbound.AbstractMessageSplitter
org.mule.routing.outbound.AbstractRoundRobinMessageSplitter
org.mule.module.xml.routing.XmlMessageSplitter
- All Implemented Interfaces:
- AnnotatedObject, FlowConstructAware, MuleContextAware, Disposable, Initialisable, Lifecycle, Startable, Stoppable, MessageProcessor, MessageRouter, Matchable, MatchableMessageProcessor, MatchableMessageRouter, OutboundRouter, RouterStatisticsRecorder, TransformingMatchable
- Direct Known Subclasses:
- FilterBasedXmlMessageSplitter
public class XmlMessageSplitter
- extends AbstractRoundRobinMessageSplitter
XmlMessageSplitter
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 |
cloneMessage, createEventToRoute, dispose, getEnableCorrelation, getMuleContext, getOwnedMessageProcessors, getReplyTo, getResultsHandler, getRoute, getRouterStatistics, getRoutes, getTransactionConfig, isDynamicRoutes, process, propagateMagicProperties, removeRoute, sendRequest, sendRequestEvent, setEnableCorrelation, setEnableCorrelationAsString, setMessageProcessors, setMessageProperties, setReplyTo, setResultsHandler, setRouterStatistics, setRoutes, setTransactionConfig, start, stop |
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
splitExpression
protected volatile String splitExpression
namespaces
protected volatile Map<String,String> namespaces
namespaceManager
protected NamespaceManager namespaceManager
validateSchema
protected volatile boolean validateSchema
externalSchemaLocation
protected volatile String externalSchemaLocation
XmlMessageSplitter
public XmlMessageSplitter()
setSplitExpression
public void setSplitExpression(String splitExpression)
setNamespaces
public void setNamespaces(Map<String,String> namespaces)
getNamespaces
public Map<String,String> getNamespaces()
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
public void initialise()
throws InitialisationException
- Description copied from interface:
Initialisable
- Method used to perform any initialisation work. If a fatal error occurs during
initialisation an
InitialisationException
should be thrown,
causing the Mule instance to shutdown. If the error is recoverable, say by
retrying to connect, a RecoverableException
should be thrown.
There is no guarantee that by throwing a Recoverable exception that the Mule
instance will not shut down.
- Specified by:
initialise
in interface Initialisable
- Overrides:
initialise
in class AbstractRoundRobinMessageSplitter
- Throws:
InitialisationException
- if a fatal error occurs causing the Mule instance to shutdown
RecoverableException
- if an error occurs that can be recovered from
splitMessage
protected List splitMessage(MuleMessage message)
- Template method can be used to split the message up before the getMessagePart
method is called .
- Overrides:
splitMessage
in class AbstractRoundRobinMessageSplitter
- Parameters:
message
- the message being routed
- Returns:
- a list of payload objects or
MuleMessage
objects. Usually, it is sufficient
just to return payload objects
setDoSchemaValidation
protected void setDoSchemaValidation(org.dom4j.io.SAXReader reader,
boolean validate)
throws Exception
- Throws:
Exception
Copyright © 2003-2012 MuleSoft, Inc.. All Rights Reserved.