| <?xml version="1.0" encoding="UTF-8" standalone="no"?> |
| <xsd:schema xmlns="http://www.mulesource.org/schema/mule/schemadoc/2.1" |
| xmlns:xsd="http://www.w3.org/2001/XMLSchema" |
| targetNamespace="http://www.mulesource.org/schema/mule/schemadoc/2.1" |
| elementFormDefault="qualified" |
| attributeFormDefault="unqualified"> |
| |
| <xsd:annotation> |
| <xsd:documentation>This schema provides a schema doc extentions that can be embedded in Mule schemas. These |
| elements will be used to render additional wiki content associated with the element being annotated. |
| Elements within this schema should be embedded under 'xsd:element/xsd:annotation/xsd:appinfo'. |
| To stick to convention and to ensure that XSLs will work this schema should be included in other mule |
| schemas using the 'schemadoc' prefix namespace. |
| </xsd:documentation> |
| <xsd:appinfo> |
| <page-title>SchemaDoc Reference</page-title> |
| </xsd:appinfo> |
| </xsd:annotation> |
| |
| <xsd:element name="snippet" type="snippetType"> |
| <xsd:annotation> |
| <xsd:documentation>The snippet allows for code snippets to be associated with an element in a schema. This |
| is useful for surfacing documentation on the wiki. When the schema reference is generated for the wiki, |
| the code snippets will also be rendered when using the 'single-element-wike.xsl'. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="page-title" type="xsd:string"> |
| <xsd:annotation> |
| <xsd:documentation>The page title to use when rendering this schema.</xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="short-name" type="xsd:string"> |
| <xsd:annotation> |
| <xsd:documentation>The short name of the module or transport, i.e. 'xml' or 'tcp'.</xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:element name="additional-documentation" type="additionalDocumentationType"> |
| <xsd:annotation> |
| <xsd:documentation>Additional documentation that can be rendered with the schema. Note that this element can |
| only be used in {{/xsd:schema/xsd:annotation/xsd:appinfo}}, it will be ignorred if used anywhere else. |
| Enter |
| the documentation in the body of this element. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:complexType name="additionalDocumentationType" mixed="true"> |
| <xsd:attribute name="where" use="required"> |
| <xsd:annotation> |
| <xsd:documentation>The point at which the documentation is rendered. |
| </xsd:documentation> |
| </xsd:annotation> |
| <xsd:simpleType> |
| <xsd:restriction base="xsd:NMTOKEN"> |
| <xsd:enumeration value="before-common-elements"> |
| <xsd:annotation> |
| <xsd:documentation>The documentation will appear after any title text but before any of the |
| common elements are rendered. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:enumeration> |
| <xsd:enumeration value="after-common-elements"> |
| <xsd:annotation> |
| <xsd:documentation>The documentation will appear right after common elements are rendered. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:enumeration> |
| <xsd:enumeration value="before-specific-elements"> |
| <xsd:annotation> |
| <xsd:documentation>The documentation will appear right before the elements specific to the |
| schema are rendered. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:enumeration> |
| <xsd:enumeration value="after-specific-elements"> |
| <xsd:annotation> |
| <xsd:documentation>The documentation will appear right after the elements specific to the |
| schema are rendered. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:enumeration> |
| <xsd:enumeration value="before-single-element"> |
| <xsd:annotation> |
| <xsd:documentation>If a specific element was named, this documentation will appear directly |
| before the element. The mode is less useful but supported for completeness. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:enumeration> |
| <xsd:enumeration value="after-single-element"> |
| <xsd:annotation> |
| <xsd:documentation>If a specific element was named, this documentation will appear directly |
| after the element. The mode is less useful but supported for completeness. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:enumeration> |
| </xsd:restriction> |
| </xsd:simpleType> |
| </xsd:attribute> |
| </xsd:complexType> |
| |
| <xsd:complexType name="snippetType" mixed="true"> |
| <xsd:attribute name="id" type="xsd:NMTOKEN" use="required"> |
| <xsd:annotation> |
| <xsd:documentation>The ID of the snippet to embed in the wiki page. This ID is embedded in the source |
| file using a START SNIPPET xxx comment. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:attribute> |
| <xsd:attribute name="lang"> |
| <xsd:annotation> |
| <xsd:documentation>The language format to use when rendering the content of the snippet on the wiki. |
| </xsd:documentation> |
| </xsd:annotation> |
| <xsd:simpleType> |
| <xsd:restriction base="xsd:NMTOKEN"> |
| <xsd:enumeration value="xml"/> |
| <xsd:enumeration value="java"/> |
| <xsd:enumeration value="javadoc"/> |
| <xsd:enumeration value="bash"/> |
| </xsd:restriction> |
| </xsd:simpleType> |
| </xsd:attribute> |
| <xsd:attribute name="sourcePath" type="xsd:string" use="required"> |
| <xsd:annotation> |
| <xsd:documentation>This is the path to the source file. Note this should be relative to the project root |
| directory i.e. transport/jms/src/main/resources/etc... |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:attribute> |
| </xsd:complexType> |
| |
| <xsd:element name="transport-features" type="transportFeaturesType"> |
| <xsd:annotation> |
| <xsd:documentation>Defines meta information about transports such as whether they can send or receive events |
| and if they supprt transactions. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| |
| <xsd:complexType name="transportFeaturesType"> |
| <xsd:sequence> |
| <xsd:element name="inboundMEPs" type="inboundMEPsType" minOccurs="1"> |
| <xsd:annotation> |
| <xsd:documentation>The Inbound MEPs that are supported by this Transport.</xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| <xsd:element name="outboundMEPs" type="outboundMEPsType" minOccurs="1"> |
| <xsd:annotation> |
| <xsd:documentation>The Outbound MEPs that are supported by this Transport.</xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| </xsd:sequence> |
| <xsd:attribute name="receiveEvents" type="xsd:boolean" use="required"> |
| <xsd:annotation> |
| <xsd:documentation>Whether the transport can receive events and thus can be used for an inbound |
| endpoint. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:attribute> |
| <xsd:attribute name="dispatchEvents" type="xsd:boolean" use="required"> |
| <xsd:annotation> |
| <xsd:documentation>Ehether the transport can be used to dispatch events and thus is supported as an |
| outbound endpoint. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:attribute> |
| <xsd:attribute name="requestEvents" type="xsd:boolean" use="required"> |
| <xsd:annotation> |
| <xsd:documentation>Whether the transport can be used to request events directly from the source. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:attribute> |
| <xsd:attribute name="responseEvents" type="xsd:boolean" use="required"> |
| <xsd:annotation> |
| <xsd:documentation>Whether the transport can be used in request/response style messaging. This means |
| that the transport provides a back-channel to the callee. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:attribute> |
| <xsd:attribute name="transactions" type="xsd:boolean" use="required"> |
| <xsd:annotation> |
| <xsd:documentation>Whether transactions are supported by the transports. Transports that support (/)A |
| transactions can be configured in a distributed 2 Phase Commit (Distributed) transaction. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:attribute> |
| <xsd:attribute name="transactionTypes" type="xsd:string" use="optional"> |
| <xsd:annotation> |
| <xsd:documentation>A comma separated list of transaction types, i.e. local, XA</xsd:documentation> |
| </xsd:annotation> |
| </xsd:attribute> |
| <xsd:attribute name="streaming" type="xsd:boolean" use="required"> |
| <xsd:annotation> |
| <xsd:documentation>Whether the transport supports streaming of the data is provides or publishes. |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:attribute> |
| </xsd:complexType> |
| <xsd:complexType name="inboundMEPsType"> |
| <xsd:attribute name="none" type="xsd:boolean"></xsd:attribute> |
| <xsd:attribute name="in-only" type="xsd:boolean"></xsd:attribute> |
| <xsd:attribute name="in-out" type="xsd:boolean"></xsd:attribute> |
| <xsd:attribute name="in-optional-out" type="xsd:boolean"></xsd:attribute> |
| </xsd:complexType> |
| |
| <xsd:complexType name="outboundMEPsType"> |
| <xsd:attribute name="none" type="xsd:boolean"></xsd:attribute> |
| <xsd:attribute name="out-only" type="xsd:boolean"></xsd:attribute> |
| <xsd:attribute name="out-in" type="xsd:boolean"></xsd:attribute> |
| <xsd:attribute name="out-optional-in" type="xsd:boolean"></xsd:attribute> |
| </xsd:complexType> |
| </xsd:schema> |