| <?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" |
| targetNamespace="http://www.apache.org/ode/schemas/dd/2007/03" |
| xmlns:dd="http://www.apache.org/ode/schemas/dd/2007/03" |
| elementFormDefault="qualified"> |
| |
| <xs:element name="deploy" id="deploy" type="dd:tDeployment"/> |
| |
| <xs:complexType name="tDeployment"> |
| <xs:sequence> |
| |
| <xs:element name="process" minOccurs="0" maxOccurs="unbounded"> |
| <xs:complexType> |
| <xs:sequence> |
| |
| <xs:element name="active" minOccurs="0" maxOccurs="1" type="xs:boolean" |
| default="true"> |
| <xs:annotation> |
| <xs:documentation> Active flag, if set process will be activated once |
| deployed. </xs:documentation> |
| </xs:annotation> |
| </xs:element> |
| <xs:element name="retired" minOccurs="0" maxOccurs="1" type="xs:boolean" |
| default="false"> |
| <xs:annotation> |
| <xs:documentation> Retired flag, if set process will be retired once |
| deployed. </xs:documentation> |
| </xs:annotation> |
| </xs:element> |
| <xs:element name="in-memory" minOccurs="0" maxOccurs="1" type="xs:boolean" |
| default="false"> |
| <xs:annotation> |
| <xs:documentation>Should the process be persistent or only execute |
| in-memory.</xs:documentation> |
| </xs:annotation> |
| </xs:element> |
| |
| <xs:element name="property" minOccurs="0" maxOccurs="unbounded"> |
| <xs:annotation> |
| <xs:documentation> |
| A user-defined property that will be attached to a process upon |
| deployment. |
| </xs:documentation> |
| </xs:annotation> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded" processContents="lax"/> |
| </xs:sequence> |
| <xs:attribute name="name" type="xs:QName" use="required"/> |
| </xs:complexType> |
| </xs:element> |
| |
| <xs:element name="process-events" minOccurs="0" maxOccurs="1" type="dd:tProcessEvents"/> |
| |
| <xs:element name="provide" minOccurs="0" maxOccurs="unbounded" type="dd:tProvide"/> |
| <xs:element name="invoke" minOccurs="0" maxOccurs="unbounded" type="dd:tInvoke"/> |
| |
| <xs:element name="mex-interceptors" minOccurs="0" maxOccurs="1" > |
| <xs:annotation> |
| <xs:documentation> |
| List of message exchange interceptors that should be registered for this process. |
| </xs:documentation> |
| </xs:annotation> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element name="mex-interceptor" minOccurs="0" maxOccurs="unbounded" type="dd:tMexInterceptor" /> |
| </xs:sequence> |
| </xs:complexType> |
| </xs:element> |
| <xs:element name="type" minOccurs="0" maxOccurs="1" type="xs:QName"> |
| <xs:annotation> |
| <xs:documentation> Process type -- indicates which process defintion should be used |
| for the process.</xs:documentation> |
| </xs:annotation> |
| </xs:element> |
| |
| <xs:element name="cleanup" |
| minOccurs="0" maxOccurs="3" |
| type="dd:tCleanup" /> |
| </xs:sequence> |
| |
| <xs:attribute name="name" type="xs:QName" use="required"/> |
| <xs:attribute name="fileName" type="xs:string" use="optional"/> |
| <xs:attribute name="bpel11wsdlFileName" type="xs:string" use="optional"> |
| <xs:annotation> |
| <xs:documentation> |
| Allows you to specify a WSDL for BPEL 1.1 processes which do not support an "import" element. |
| </xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| </xs:complexType> |
| </xs:element> |
| |
| </xs:sequence> |
| </xs:complexType> |
| |
| <xs:complexType name="tProvide"> |
| <xs:sequence> |
| <xs:element name="service" minOccurs="1" maxOccurs="1" type="dd:tService"/> |
| <xs:element name="enableSharing" minOccurs="0" maxOccurs="1" type="dd:tEnableSharing"/> |
| </xs:sequence> |
| <xs:attribute name="partnerLink" type="xs:string" use="required"/> |
| </xs:complexType> |
| |
| <xs:complexType name="tInvoke"> |
| <xs:choice> |
| <xs:element name="service" minOccurs="1" maxOccurs="1" type="dd:tService"/> |
| <xs:element name="binding" minOccurs="1" maxOccurs="1"> |
| <xs:complexType> |
| <xs:attribute name="name" type="xs:QName" use="required"/> |
| </xs:complexType> |
| </xs:element> |
| </xs:choice> |
| <xs:attribute name="partnerLink" type="xs:string" use="required"/> |
| </xs:complexType> |
| |
| <xs:complexType name="tService"> |
| <xs:sequence> |
| <xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded" processContents="lax"/> |
| </xs:sequence> |
| <xs:attribute name="name" type="xs:QName" use="required"/> |
| <xs:attribute name="port" type="xs:NCName" use="required"/> |
| </xs:complexType> |
| |
| <xs:complexType name="tEnableSharing"> |
| <xs:complexContent> |
| <xs:restriction base="xs:anyType"> |
| </xs:restriction> |
| </xs:complexContent> |
| </xs:complexType> |
| |
| <xs:complexType name="tMexInterceptor" > |
| <xs:annotation> |
| <xs:documentation> |
| Message exchange interceptor configuration. |
| </xs:documentation> |
| </xs:annotation> |
| |
| <xs:sequence> |
| <xs:element name="class-name" type="xs:string" /> |
| </xs:sequence> |
| </xs:complexType> |
| |
| <xs:complexType name="tEnableEventList"> |
| <xs:sequence> |
| <xs:element name="enable-event" minOccurs="1" maxOccurs="unbounded" type="xs:string"/> |
| </xs:sequence> |
| </xs:complexType> |
| |
| <xs:complexType name="tScopeEvents"> |
| <xs:complexContent> |
| <xs:extension base="dd:tEnableEventList"> |
| <xs:attribute name="name" use="required" type="xs:string"/> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| |
| <xs:complexType name="tProcessEvents"> |
| <xs:complexContent> |
| <xs:extension base="dd:tEnableEventList"> |
| <xs:sequence> |
| <xs:element name="scope-events" minOccurs="1" maxOccurs="unbounded" type="dd:tScopeEvents"/> |
| </xs:sequence> |
| <xs:attribute name="generate" use="optional"> |
| <xs:simpleType> |
| <xs:restriction base="xs:string"> |
| <xs:enumeration value="all"/> |
| <xs:enumeration value="none"/> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| |
| <xs:complexType name="tCleanup"> |
| <xs:sequence> |
| <xs:element name="category" default="all" minOccurs="0" maxOccurs="unbounded"> |
| <xs:simpleType> |
| <xs:restriction base="xs:string"> |
| <xs:enumeration value="instance" /> |
| <xs:enumeration value="variables" /> |
| <xs:enumeration value="messages" /> |
| <xs:enumeration value="correlations" /> |
| <xs:enumeration value="events" /> |
| <xs:enumeration value="all" /> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:element> |
| </xs:sequence> |
| <xs:attribute name="on" use="required"> |
| <xs:simpleType> |
| <xs:restriction base="xs:string"> |
| <xs:enumeration value="success" /> |
| <xs:enumeration value="failure" /> |
| <xs:enumeration value="always" /> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| </xs:complexType> |
| </xs:schema> |