blob: 44b8f9766ab8276ee525d19eaccb0136873a4dd9 [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<!--
~ Licensed to the Apache Software Foundation (ASF) under one
~ or more contributor license agreements. See the NOTICE file
~ distributed with this work for additional information
~ regarding copyright ownership. The ASF licenses this file
~ to you under the Apache License, Version 2.0 (the
~ "License"); you may not use this file except in compliance
~ with the License. You may obtain a copy of the License at
~
~ http://www.apache.org/licenses/LICENSE-2.0
~
~ Unless required by applicable law or agreed to in writing,
~ software distributed under the License is distributed on an
~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
~ KIND, either express or implied. See the License for the
~ specific language governing permissions and limitations
~ under the License.
-->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
<xs:element name="serviceGroup">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" ref="service"/>
<xs:element minOccurs="0" ref="parameter"/>
<xs:element minOccurs="0" ref="module"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="service">
<xs:complexType>
<xs:sequence>
<xs:choice maxOccurs="unbounded">
<xs:element ref="module"/>
<xs:element ref="operation"/>
<xs:element ref="parameter"/>
<xs:element ref="description"/>
<xs:element ref="excludeOperations"/>
<xs:element ref="messageReceivers"/>
<xs:element ref="schema"/>
<xs:element ref="transports"/>
</xs:choice>
<xs:element minOccurs="0" ref="dataLocator"/>
</xs:sequence>
<xs:attribute name="class"/>
<xs:attribute name="name"/>
<xs:attribute name="scope" type="xs:NCName"/>
<xs:attribute name="targetNamespace" type="xs:anyURI"/>
<xs:attribute name="activate" type="xs:boolean" use="optional"/>
</xs:complexType>
</xs:element>
<xs:element name="description" type="xs:string"/>
<xs:element name="excludeOperations">
<xs:complexType>
<xs:sequence>
<xs:element name="operation" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="messageReceivers">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" ref="messageReceiver"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="schema">
<xs:complexType>
<xs:attribute name="schemaNamespace" use="required" type="xs:anyURI"/>
</xs:complexType>
</xs:element>
<xs:element name="transports">
<xs:complexType>
<xs:sequence>
<xs:element ref="transport"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="transport" type="xs:NCName"/>
<xs:element name="dataLocator">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" ref="dialectLocator"/>
</xs:sequence>
<xs:attribute name="class"/>
</xs:complexType>
</xs:element>
<xs:element name="dialectLocator">
<xs:complexType>
<xs:attribute name="class" use="required"/>
<xs:attribute name="dialect" use="required" type="xs:anyURI"/>
</xs:complexType>
</xs:element>
<xs:element name="parameter">
<xs:complexType mixed="true">
<xs:attribute name="locked" type="xs:NMTOKEN"/>
<xs:attribute name="name" use="required" type="xs:NCName"/>
</xs:complexType>
</xs:element>
<xs:element name="module">
<xs:complexType>
<xs:attribute name="ref" use="required" type="xs:NCName"/>
</xs:complexType>
</xs:element>
<xs:element name="operation">
<xs:complexType mixed="true">
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="messageReceiver"/>
<xs:element ref="module"/>
<xs:element ref="parameter"/>
<xs:element ref="actionMapping"/>
<xs:element ref="faultActionMapping"/>
<xs:element ref="message"/>
<xs:element ref="outputActionMapping"/>
</xs:choice>
<xs:attribute name="mep" type="xs:anyURI"/>
<xs:attribute name="name" type="xs:NCName"/>
<xs:attribute name="qname" type="xs:NCName"/>
</xs:complexType>
</xs:element>
<xs:element name="actionMapping" type="xs:anyURI"/>
<xs:element name="faultActionMapping">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:anyURI">
<xs:attribute name="faultName" use="required" type="xs:NCName"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="message">
<xs:complexType>
<xs:sequence>
<xs:element ref="parameter"/>
</xs:sequence>
<xs:attribute name="label" use="required" type="xs:NCName"/>
</xs:complexType>
</xs:element>
<xs:element name="outputActionMapping" type="xs:anyURI"/>
<xs:element name="messageReceiver">
<xs:complexType>
<xs:attribute name="class" use="required" type="xs:NCName"/>
<xs:attribute name="mep" type="xs:anyURI"/>
</xs:complexType>
</xs:element>
</xs:schema>