View Javadoc

1   /*
2    * $Id: XmlNamespaceHandler.java 12292 2008-07-11 03:40:35Z dandiep $
3    * --------------------------------------------------------------------------------------
4    * Copyright (c) MuleSource, Inc.  All rights reserved.  http://www.mulesource.com
5    *
6    * The software in this package is published under the terms of the CPAL v1.0
7    * license, a copy of which has been included with this distribution in the
8    * LICENSE.txt file.
9    */
10  
11  package org.mule.module.xml.config;
12  
13  import org.mule.config.spring.handlers.AbstractMuleNamespaceHandler;
14  import org.mule.config.spring.parsers.collection.ChildMapEntryDefinitionParser;
15  import org.mule.config.spring.parsers.generic.ChildDefinitionParser;
16  import org.mule.config.spring.parsers.specific.RouterDefinitionParser;
17  import org.mule.config.spring.parsers.specific.TransformerDefinitionParser;
18  import org.mule.module.xml.filters.IsXmlFilter;
19  import org.mule.module.xml.filters.JXPathFilter;
20  import org.mule.module.xml.filters.JaxenFilter;
21  import org.mule.module.xml.routing.FilteringXmlMessageSplitter;
22  import org.mule.module.xml.routing.RoundRobinXmlSplitter;
23  import org.mule.module.xml.transformer.XmlToOutputHandler;
24  import org.mule.module.xml.transformer.DomDocumentToXml;
25  import org.mule.module.xml.transformer.JXPathExtractor;
26  import org.mule.module.xml.transformer.ObjectToXml;
27  import org.mule.module.xml.transformer.XmlPrettyPrinter;
28  import org.mule.module.xml.transformer.XmlToDomDocument;
29  import org.mule.module.xml.transformer.XmlToObject;
30  
31  public class XmlNamespaceHandler extends AbstractMuleNamespaceHandler
32  {
33  
34      public void init()
35      {
36          registerBeanDefinitionParser("jxpath-filter", new ChildDefinitionParser("filter", JXPathFilter.class));
37          registerBeanDefinitionParser("jaxen-filter", new ChildDefinitionParser("filter", JaxenFilter.class));
38          registerBeanDefinitionParser("is-xml-filter", new ChildDefinitionParser("filter", IsXmlFilter.class));
39          registerBeanDefinitionParser("message-splitter", new RouterDefinitionParser(FilteringXmlMessageSplitter.class));
40          registerMuleBeanDefinitionParser("round-robin-splitter", new RouterDefinitionParser(RoundRobinXmlSplitter.class)).addAlias("endpointFiltering", "enableEndpointFiltering");
41          registerBeanDefinitionParser("dom-to-xml-transformer", new TransformerDefinitionParser(DomDocumentToXml.class));
42          registerBeanDefinitionParser("dom-to-output-handler-transformer", new TransformerDefinitionParser(XmlToOutputHandler.class));
43          registerBeanDefinitionParser("jxpath-extractor-transformer", new TransformerDefinitionParser(JXPathExtractor.class));
44          registerBeanDefinitionParser("object-to-xml-transformer", new TransformerDefinitionParser(ObjectToXml.class));
45          registerBeanDefinitionParser("xml-to-dom-transformer", new TransformerDefinitionParser(XmlToDomDocument.class));
46          registerBeanDefinitionParser("xml-to-object-transformer", new TransformerDefinitionParser(XmlToObject.class));
47          registerBeanDefinitionParser("xml-prettyprinter-transformer", new TransformerDefinitionParser(XmlPrettyPrinter.class));
48          registerBeanDefinitionParser("xslt-transformer", new XsltTransformerDefinitionParser());
49          registerBeanDefinitionParser("namespace", new ChildMapEntryDefinitionParser("namespaces", "prefix", "uri"));
50          registerBeanDefinitionParser("context-property", new ChildMapEntryDefinitionParser("contextProperties", "key", "value"));
51          registerBeanDefinitionParser("xslt-text", new XsltTextDefinitionParser("xslt", String.class));
52      }
53  
54  }
55