Schema "mule-json.xsd"
Target Namespace:
http://www.mulesoft.org/schema/mule/json
Defined Components:
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.3/mule-json.xsd; see XML source
Imports Schemas (4):
mule-schemadoc.xsd [src], mule-xml.xsd [src], mule.xsd [src], xml.xsd [src]
Imported by Schema:
_mule-all-included.xsd
Annotation
The JSON module contains a number of tools to help you read, transform, and write JSON.
All Element Summary
deserialization-mixin
Type:
Content:
mixed (allows character data), 2 attributes
Defined:
is-json-filter A filter that will determine if the current message payload is a JSON encoded message.
Type:
Content:
complex, 2 attributes, attr. wildcard, 1 element
Subst.Gr:
Defined:
globally; see XML source
Used:
never
json-schema-validation-filter Validate JSON against an XML schema
Type:
Content:
complex, 6 attributes, attr. wildcard, 1 element
Subst.Gr:
Defined:
globally; see XML source
Used:
never
json-to-object-transformer A transformer that will convert a JSON encoded object graph to a java object.
Type:
Content:
complex, 6 attributes, attr. wildcard, 2 elements
Subst.Gr:
Defined:
globally; see XML source
Used:
never
json-to-xml-transformer Converts a JSON string to an XML string
Type:
Content:
complex, 5 attributes, attr. wildcard, 1 element
Subst.Gr:
Defined:
globally; see XML source
Used:
never
json-xslt-transformer Uses XSLT to transform a JSON string
Type:
Content:
complex, 11 attributes, attr. wildcard, 3 elements
Subst.Gr:
Defined:
globally; see XML source
Used:
never
mapper The Jackson mapper to use with a JSON transformer.
Type:
Content:
mixed (allows character data), 1 attribute, attr. wildcard, 2 elements
Subst.Gr:
may substitute for element mule:abstract-mixed-content-extension
Defined:
globally; see XML source
Used:
never
mixin
Type:
Content:
mixed (allows character data), 2 attributes
Defined:
locally witnin mapperType complexType; see XML source
object-to-json-transformer Converts a java object to a JSON encoded object that can be consumed by other languages such as Javascript or Ruby.
Type:
Content:
complex, 7 attributes, attr. wildcard, 2 elements
Subst.Gr:
Defined:
globally; see XML source
Used:
never
serialization-mixin
Type:
Content:
mixed (allows character data), 2 attributes
Defined:
xml-to-json-transformer Converts an XML string to a JSON string
Type:
Content:
complex, 5 attributes, attr. wildcard, 1 element
Subst.Gr:
Defined:
globally; see XML source
Used:
never
Complex Type Summary
Content:
complex, 2 attributes, attr. wildcard, 1 element
Defined:
globally; see XML source
Includes:
definition of 1 attribute
Used:
Content:
complex, 6 attributes, attr. wildcard, 2 elements
Defined:
globally; see XML source
Includes:
definition of 1 element
Used:
Content:
complex, 6 attributes, attr. wildcard, 1 element
Defined:
globally; see XML source
Includes:
definition of 1 attribute
Used:
Content:
mixed (allows character data), 1 attribute, attr. wildcard, 2 elements
Defined:
globally; see XML source
Includes:
definitions of 1 attribute, 1 element
Used:
Content:
mixed (allows character data), 2 attributes
Defined:
globally; see XML source
Includes:
definitions of 2 attributes
Used:
Content:
complex, 7 attributes, attr. wildcard, 2 elements
Defined:
globally; see XML source
Includes:
definitions of 1 attribute, 1 element
Used:
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:mxml="http://www.mulesoft.org/schema/mule/xml" xmlns:schemadoc="http://www.mulesoft.org/schema/mule/schemadoc" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace"/>
<xsd:annotation>
<xsd:documentation>
The JSON module contains a number of tools to help you read, transform, and write JSON.
</xsd:documentation>
<xsd:appinfo>
<schemadoc:short-name>json</schemadoc:short-name>
<schemadoc:page-title>JSON Module</schemadoc:page-title>
<schemadoc:additional-documentation where="after-common-elements"/>
<schemadoc:additional-documentation where="after-specific-elements"/>
</xsd:appinfo>
</xsd:annotation>
<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 JSON string to an XML string
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:annotation>
<xsd:documentation>
Converts an XML string to a JSON string
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="json-xslt-transformer" substitutionGroup="mule:abstract-transformer" type="mxml:xsltTransformerType">
<xsd:annotation>
<xsd:documentation>
Uses XSLT to transform a JSON string
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:annotation>
<xsd:documentation>
Validate JSON against an XML schema
</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-mixed-content-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: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 RE 1.8.5 using DocFlex/XML XSDDoc 2.5.0 template set. All content model diagrams generated by Altova XMLSpy via DocFlex/XML XMLSpy Integration.