Subversion Repositories bacoAlunos

Rev

Rev 30 | Blame | Compare with Previous | Last modification | View Log | RSS feed

<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSpy v2008 sp1 (http://www.altova.com) by jmachado (casa) -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
        <xs:element name="process">
                <xs:annotation>
                        <xs:documentation>Process element describing any organization workflow</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                        <xs:sequence>
                                <xs:element ref="annotation" minOccurs="0"/>
                                <xs:element name="controlPoints">
                                        <xs:complexType>
                                                <xs:sequence>
                                                        <xs:element ref="annotation" minOccurs="0"/>
                                                        <xs:element ref="controlPoint" maxOccurs="unbounded"/>
                                                </xs:sequence>
                                        </xs:complexType>
                                </xs:element>
                                <xs:element name="joinPoints" minOccurs="0">
                                        <xs:complexType>
                                                <xs:sequence>
                                                        <xs:element ref="annotation" minOccurs="0"/>
                                                        <xs:element ref="joinPoint" maxOccurs="unbounded"/>
                                                </xs:sequence>
                                        </xs:complexType>
                                </xs:element>
                                <xs:element name="forkPoints" minOccurs="0">
                                        <xs:complexType>
                                                <xs:sequence>
                                                        <xs:element ref="annotation" minOccurs="0"/>
                                                        <xs:element ref="forkPoint" maxOccurs="unbounded"/>
                                                </xs:sequence>
                                        </xs:complexType>
                                </xs:element>
                                <xs:element name="tasks">
                                        <xs:complexType>
                                                <xs:sequence>
                                                        <xs:element ref="annotation" minOccurs="0"/>
                                                        <xs:element ref="task" maxOccurs="unbounded"/>
                                                </xs:sequence>
                                        </xs:complexType>
                                </xs:element>
                                <xs:element name="startControlPointId" type="xs:integer"/>
                        </xs:sequence>
                        <xs:attribute name="name"/>
                        <xs:attribute name="unique" type="xs:boolean"/>
                </xs:complexType>
        </xs:element>
        <xs:element name="task">
                <xs:complexType>
                        <xs:sequence>
                                <xs:element ref="annotation" minOccurs="0"/>
                                <xs:element ref="arguments" minOccurs="0"/>
                                <xs:element ref="transition" maxOccurs="unbounded"/>
                        </xs:sequence>
                        <xs:attribute name="name" type="xs:string"/>
                        <xs:attribute name="id" type="xs:string" use="required"/>
                </xs:complexType>
        </xs:element>
        <xs:element name="transition">
                <xs:complexType>
                        <xs:sequence>
                                <xs:element ref="annotation" minOccurs="0"/>
                                <xs:element ref="guardConditions" minOccurs="0"/>
                                <xs:choice>
                                        <xs:element name="forkPointId" type="xs:integer"/>
                                        <xs:element name="joinPointId" type="xs:integer"/>
                                        <xs:element name="controlPointId" type="xs:integer"/>
                                        <xs:element name="taskId" type="xs:integer"/>
                                </xs:choice>
                        </xs:sequence>
                        <xs:attribute name="targetProcessName" type="xs:integer"/>
                        <xs:attribute name="targetProcessID" type="xs:integer"/>
                </xs:complexType>
        </xs:element>
        <xs:element name="guardConditions">
                <xs:complexType>
                        <xs:sequence>
                                <xs:element ref="annotation" minOccurs="0"/>
                                <xs:choice maxOccurs="unbounded">
                                        <xs:element name="user" type="xs:string"/>
                                        <xs:element name="decision" type="xs:string"/>
                                        <xs:element name="role" type="xs:string"/>
                                        <xs:element name="startDate" type="xs:date"/>
                                        <xs:element name="expireDate" type="xs:date"/>
                                </xs:choice>
                        </xs:sequence>
                </xs:complexType>
        </xs:element>
        <xs:element name="controlPoint">
                <xs:complexType>
                        <xs:sequence>
                                <xs:element ref="annotation" minOccurs="0"/>
                                <xs:element ref="transition" minOccurs="0" maxOccurs="unbounded"/>
                        </xs:sequence>
                        <xs:attribute name="id" type="xs:string" use="required"/>
                        <xs:attribute name="unique" type="xs:boolean"/>
                </xs:complexType>
        </xs:element>
        <xs:element name="forkPoint">
                <xs:complexType>
                        <xs:sequence>
                                <xs:element ref="annotation" minOccurs="0"/>
                                <xs:element ref="transition" minOccurs="2" maxOccurs="unbounded"/>
                        </xs:sequence>
                        <xs:attribute name="id" type="xs:string" use="required"/>
                </xs:complexType>
        </xs:element>
        <xs:element name="joinPoint">
                <xs:complexType>
                        <xs:sequence>
                                <xs:element ref="annotation" minOccurs="0"/>
                                <xs:element ref="transition"/>
                        </xs:sequence>
                        <xs:attribute name="tokens" type="xs:integer"/>
                        <xs:attribute name="id" type="xs:string" use="required"/>
                </xs:complexType>
        </xs:element>
        <xs:element name="arguments">
                <xs:complexType>
                        <xs:sequence>
                                <xs:element ref="annotation" minOccurs="0"/>
                                <xs:element name="input" type="argumentType" minOccurs="0" maxOccurs="unbounded"/>
                                <xs:element name="output" type="argumentType" minOccurs="0"/>
                        </xs:sequence>
                </xs:complexType>
        </xs:element>
        <xs:complexType name="argumentType">
                <xs:sequence>
                        <xs:element ref="annotation" minOccurs="0"/>
                </xs:sequence>
                <xs:attribute name="name"/>
                <xs:attribute name="type"/>
        </xs:complexType>
        <xs:element name="annotation">
                <xs:complexType>
                        <xs:sequence>
                                <xs:element name="author" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
                                <xs:element name="appInfo" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
                                <xs:element name="documentation" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
                        </xs:sequence>
                </xs:complexType>
        </xs:element>
</xs:schema>