XML Schema "mule-json.xsd"
Target Namespace:
http://www.mulesoft.org/schema/mule/json
Defined Components:
4 global elements, 3 local elements, 6 complexTypes
Default Namespace-Qualified Form:
Local Elements: qualified; Local Attributes: unqualified
Schema Location:
http://www.mulesoft.org/schema/mule/json/3.1/mule-json.xsd; see XML source
Imports Schemas (3):
mule.xsd [src], spring-beans-2.5.xsd [src], xml.xsd [src]
XML Source
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<xsd:schema attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://www.mulesoft.org/schema/mule/json" xmlns="http://www.mulesoft.org/schema/mule/json" xmlns:mule="http://www.mulesoft.org/schema/mule/core" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace"/>
<xsd:element name="is-json-filter" substitutionGroup="mule:abstract-filter" type="jsonFilterType">
<xsd:annotation>
<xsd:documentation>
A filter that will determine if the current message payload is a JSON encoded message.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="jsonFilterType">
<xsd:complexContent>
<xsd:extension base="mule:abstractFilterType">
<xsd:attribute name="validateParsing" type="mule:substitutableBoolean">
<xsd:annotation>
<xsd:documentation>
Will validate that the JSON string can be parsed. This can be expensive so the default is
false.
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:annotation>
<xsd:documentation>
A transformer that will convert a JSON encoded object graph to a java object. The object type is
determined by the 'returnClass' attribute. Note that this transformers supports Arrays and Lists. For
example, to
convert a JSON string to an array of org.foo.Person, set the {{returnClass=org.foo.Person\[\]}}.

The JSON engine can be configured using the jsonConfig attribute. This is an object reference to an
instance of:
net.sf.json.JsonConfig. This can be created as a spring bean.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:annotation>
<xsd:documentation>
Converts a java object to a JSON encoded object that can be consumed by other languages such as
Javascript or Ruby.

The JSON Object mapper can be configured using the {{mapper-ref}} attribute. This is an object reference
to an
instance of:
{{org.codehaus.jackson.Mapper}}. This can be created as a spring bean. Usually the default mapper is
sufficient.

Often users will want to configure exclusions or inclusions when serializing objects. This can be done
by
using the Jackson annotations directly on the object (see
[http://jackson.codehaus.org/1.3.0/javadoc/org/codehaus/jackson/annotate/package-frame.html])
If it is not possible to annotate the object directly, mixins can be used to add annotations to an
object using AOP.
There is a good description of this method here:
[http://www.cowtowncoder.com/blog/archives/08-01-2009_08-31-2009.html].
To configure mixins for you objects, either configure the
{{mapper-ref}} attribute or register them with the transformer using the &lt;serialization-mixin&gt;
element.

The returnClass for this transformer is usually {{java.lang.String}}, {{byte[]}} can also be used.

At this time the transformer does not support streaming.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="mapper" substitutionGroup="mule:abstract-extension" type="mapperType">
<xsd:annotation>
<xsd:documentation>
The Jackson mapper to use with a JSON transformer. This isn't required but can be used to configure mixins on the mapper.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="jsonTransformerType">
<xsd:complexContent>
<xsd:extension base="mule:abstractTransformerType">
<xsd:attribute name="mapper-ref" type="xsd:string">
<xsd:annotation>
<xsd:documentation>
The JSON engine can be configured using this attribute. This is an object
reference to an instance of:
{{org.codehaus.jackson.map.ObjectMapperpper}}. This can be created as a bean and injected. This can be created using the &lt;mapper/&gt; element.
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="objectToJsonTransformerType">
<xsd:complexContent>
<xsd:extension base="jsonTransformerType">
<xsd:sequence maxOccurs="unbounded" minOccurs="0">
<xsd:element name="serialization-mixin" type="mixin"/>
</xsd:sequence>
<xsd:attribute name="sourceClass" type="xsd:string">
<xsd:annotation>
<xsd:documentation>
Restrict the accepted source class object to a specific type. If not set the transformer
will handle all source types. Note that if you need to specify an array type you need to
postfix the class name with '[]'. For example, if you want to ensure the transformer only
accepts an Orange[], you set the sourceClass to 'org.mule.tck.testmodels.fruit.Orange[]'.
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="jsonToObjectTransformerType">
<xsd:complexContent>
<xsd:extension base="jsonTransformerType">
<xsd:sequence maxOccurs="unbounded" minOccurs="0">
<xsd:element name="deserialization-mixin" type="mixin"/>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType mixed="true" name="mixin">
<xsd:attribute name="mixinClass" type="xsd:NMTOKEN" use="required">
<xsd:annotation>
<xsd:documentation>
The fully qualified classname of the mixin class that defines the annotations to overlay on the
object. This must be an abstract class or interface.
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="targetClass" type="xsd:NMTOKEN" use="required">
<xsd:annotation>
<xsd:documentation>
The fully qualified classname of the target class that will have the annotations injected.
This is the object class that gets serialized or deserialized.
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
</xsd:complexType>
<xsd:complexType mixed="true" name="mapperType">
<xsd:complexContent>
<xsd:extension base="mule:abstractExtensionType">
<xsd:sequence maxOccurs="unbounded" minOccurs="0">
<xsd:element name="mixin" type="mixin"/>
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required">
<xsd:annotation>
<xsd:documentation>
The name of the mapper that is used to make a reference to it by the transformer elements.
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
</xsd:schema>

XML schema documentation generated with DocFlex/XML SDK 1.8.1b6 using DocFlex/XML XSDDoc 2.2.1 template set. All content model diagrams generated by Altova XMLSpy via DocFlex/XML XMLSpy Integration.