---
title: "9.8 Collaboration Package XML Schemas"
chapter: "9 Collaboration"
source: "OMG BPMN 2.0.2 — formal/2013-12-09"
pages: "138-142"
---

> 9 Collaboration · páginas 138-142 · [índice](../README.md)


<a id="sec-9-8"></a>
## 9.8 Collaboration Package XML Schemas


<a id="tab-9-15"></a>
**Table 9.15 – Call Conversation XML schema**

```xml
<xsd:element name="callConversation" type="tCallConversation" substitutionGroup="conversationNode"/>
<xsd:complexType name="tCallConversation">
    <xsd:complexContent>
        <xsd:extension base="tConversationNode">
            <xsd:sequence>
                <xsd:element ref="participantAssociation" minOccurs="0" maxOccurs="unbounded"/>
            </xsd:sequence>
            <xsd:attribute name="calledCollaborationRef" type="xsd:QName" use="optional"/>
        </xsd:extension>
    </xsd:complexContent>
</xsd:complexType>
```


<a id="tab-9-16"></a>
**Table 9.16 – Collaboration XML schema**

```xml
<xsd:element name="collaboration" type="tCollaboration" substitutionGroup="rootElement"/>
<xsd:complexType name="tCollaboration">
    <xsd:complexContent>
        <xsd:extension base="tRootElement">
            <xsd:sequence>
                <xsd:element name="choreography" minOccurs="0" maxOccurs="unbounded"/>
                <xsd:element ref="participant" minOccurs="0" maxOccurs="unbounded"/>
                <xsd:element ref="messageFlow" minOccurs="0" maxOccurs="unbounded"/>
                <xsd:element ref="artifact" minOccurs="0" maxOccurs="unbounded"/>
                <xsd:element ref="conversationNode" minOccurs="0" maxOccurs="unbounded"/>
                <xsd:element name="conversationLink" minOccurs="0" maxOccurs="unbounded"/>
                <xsd:element name="conversationAssociation" minOccurs="0" maxOccurs="unbounded"/>
                <xsd:element ref="participantAssociation" minOccurs="0" maxOccurs="unbounded"/>
                <xsd:element name="MessageFlowAssociation" type="tMessageFlowAssociation" minOccurs="0" maxOc-curs="unbounded"/>
                <xsd:element ref="correlationKey" minOccurs="0" maxOccurs="unbounded"/>
            </xsd:sequence>
            <xsd:attribute name="name" type="xsd:string"/>
            <xsd:attribute name="isClosed" type="xsd:boolean" default="false"/>
        </xsd:extension>
    </xsd:complexContent>
</xsd:complexType>
```


<a id="tab-9-17"></a>
**Table 9.17 – Conversation XML schema**

```xml
<xsd:element name="conversation" type="tConversation" substitutionGroup="conversationNode"/>
<xsd:complexType name="tConversation">
    <xsd:complexContent>
        <xsd:extension base="tConversationNode"/>
    </xsd:complexContent>
</xsd:complexType>
```


<a id="tab-9-18"></a>
**Table 9.18 – ConversationAssociation XML schema**

```xml
<xsd:element name="conversationAssociation" type="tConversationAssociation"/>
<xsd:complexType name="tConversationAssociation">
    <xsd:complexContent>
        <xsd:extension base="tBaseElement">
            <xsd:attribute name="innerConversationNodeRef" type="xsd:QName" use="required"/>
            <xsd:attribute name="outerConversationNodeRef" type="xsd:QName" use="required"/>
        </xsd:extension>
    </xsd:complexContent>
</xsd:complexType>
```


<a id="tab-9-19"></a>
**Table 9.19 – ConversationAssociation XML schema**

```xml
<xsd:element name="conversationLink" type="tConversationLink"/>
<xsd:complexType name="tConversationLink">
    <xsd:complexContent>
        <xsd:extension base="tBaseElement">
            <xsd:attribute name="name" type="xsd:string" use="optional"/>
            <xsd:attribute name="sourceRef" type="xsd:QName" use="required"/>
            <xsd:attribute name="targetRef" type="xsd:QName" use="required"/>
        </xsd:extension>
    </xsd:complexContent>
</xsd:complexType>
```


<a id="tab-9-20"></a>
**Table 9.20 – ConversationNode XML schema**

```xml
<xsd:element name="conversation" type="tConversation" substitutionGroup="rootElement"/>
<xsd:complexType name="tConversation">
    <xsd:complexContent>
        <xsd:extension base="tCallableElement">
            <xsd:sequence>
        <xsd:element ref="conversationNode" minOccurs="0" maxOccurs="unbounded"/>
        <xsd:element ref="participant" minOccurs="0" maxOccurs="unbounded"/>
        <xsd:element ref="artifact" minOccurs="0" maxOccurs="unbounded"/>
        <xsd:element ref="messageFlow" minOccurs="0" maxOccurs="unbounded"/>
        <xsd:element name="messageFlowRef" type="xsd:QName" minOccurs="0" maxOccurs="unbounded"/>
        <xsd:element ref="correlationKey" minOccurs="0" maxOccurs="unbounded"/>
            </xsd:sequence>
        </xsd:extension>
    </xsd:complexContent>
</xsd:complexType>
```


<a id="tab-9-21"></a>
**Table 9.21 – Conversation Node XML schema**

```xml
<xsd:element name="conversationNode" type="tConversationNode"/>
<xsd:complexType name="tConversationNode" abstract="true">
    <xsd:complexContent>
        <xsd:extension base="tBaseElement">
            <xsd:sequence>
                <xsd:element name="messageFlowRef" type="xsd:QName" minOccurs="0" maxOc-curs="unbounded"/>
                <xsd:element name="participantRef" type="xsd:QName" minOccurs="0" maxOc-curs="unbounded"/>
            </xsd:sequence>
            <xsd:attribute name="conversationRef" type="xsd:QName"/>
            <xsd:attribute name="correlationKeyRef" type="xsd:QName"/>
        </xsd:extension>
    </xsd:complexContent>
</xsd:complexType>
```


<a id="tab-9-22"></a>
**Table 9.22 – Global Conversation XML schema**

```xml
<xsd:element name="globalConversation" type="tGlobalConversation" substitutionGroup="collaboration"/>
<xsd:complexType name="tGlobalConversation">
    <xsd:complexContent>
        <xsd:extension base="tCollaboration"/>
    </xsd:complexContent>
</xsd:complexType>
```


<a id="tab-9-23"></a>
**Table 9.23 – MessageFlow XML schema**

```xml
<xsd:element name="messageFlow" type="tMessageFlow"/>
<xsd:complexType name="tMessageFlow">
    <xsd:complexContent>
        <xsd:extension base="tBaseElement">
            <xsd:attribute name="name" type="xsd:string" use="optional"/>
            <xsd:attribute name="sourceRef" type="xsd:QName" use="required"/>
            <xsd:attribute name="targetRef" type="xsd:QName" use="required"/>
            <xsd:attribute name="messageRef" type="xsd:QName"/>
        </xsd:extension>
    </xsd:complexContent>
</xsd:complexType>
```


<a id="tab-9-24"></a>
**Table 9.24 – MessageFlowAssociation XML schema**

```xml
<xsd:element name="messageFlowAssociation" type="tMessageFlowAssociation"/>
<xsd:complexType name="tMessageFlowAssociation">
    <xsd:complexContent>
        <xsd:extension base="tBaseElement">
            <xsd:attribute name="innerMessageFlowRef" type="xsd:QName" use="required"/>
            <xsd:attribute name="outerMessageFlowRef" type="xsd:QName" use="required"/>
        </xsd:extension>
    </xsd:complexContent>
</xsd:complexType>
```


<a id="tab-9-25"></a>
**Table 9.25 – Participant XML schema**

```xml
<xsd:element name="participant" type="tParticipant"/>
<xsd:complexType name="tParticipant">
    <xsd:complexContent>
        <xsd:extension base="tBaseElement">
            <xsd:sequence>
                <xsd:element name="interfaceRef" type="xsd:QName" minOccurs="0" maxOccurs="unbounded"/>
                <xsd:element name="endPointRef" type="xsd:QName" minOccurs="0" maxOccurs="unbounded"/>
                <xsd:element ref="participantMultiplicity" minOccurs="0" maxOccurs="1"/>
            </xsd:sequence>
            <xsd:attribute name="name" type="xsd:string"/>
            <xsd:attribute name="processRef" type="xsd:QName" use="optional"/>
        </xsd:extension>
    </xsd:complexContent>
</xsd:complexType>
```


<a id="tab-9-26"></a>
**Table 9.26 – ParticipantAssociation XML schema**

```xml
<xsd:element name="participantAssociation" type="tParticipantAssociation"/>
<xsd:complexType name="tParticipantAssociation">
    <xsd:complexContent>
        <xsd:extension base="tBaseElement">
            <xsd:sequence>
                <xsd:element name="innerParticipantRef" type="xsd:QName" use="required"/>
                <xsd:element name="outerParticipantRef" type="xsd:QName" use="required"/>
            </xsd:sequence>
        </xsd:extension>
    </xsd:complexContent>
</xsd:complexType>
```


<a id="tab-9-27"></a>
**Table 9.27 – ParticipantMultiplicity XML schema**

```xml
<xsd:element name="participantMultiplicity" type="tParticipantMultiplicity"/>
<xsd:complexType name="tParticipantMultiplicity">
    <xsd:complexContent>
        <xsd:extension base="tBaseElement">
            <xsd:attribute name="minimum" type="xsd:int"/>
            <xsd:attribute name="maximum" type="xsd:int"/>
        </xsd:extension>
    </xsd:complexContent>
</xsd:complexType>
```


<a id="tab-9-28"></a>
**Table 9.28 – PartnerEntity XML schema**

```xml
<xsd:element name="partnerEntity" type="tPartnerEntity" substitutionGroup="rootElement"/>
<xsd:complexType name="tPartnerEntity">
    <xsd:complexContent>
        <xsd:extension base="tRootElement">
            <xsd:attribute name="name" type="xsd:string"/>
        </xsd:extension>
    </xsd:complexContent>
</xsd:complexType>
```


<a id="tab-9-29"></a>
**Table 9.29 – PartnerRole XML schema**

```xml
<xsd:element name="partnerRole" type="tPartnerRole" substitutionGroup="rootElement"/>
<xsd:complexType name="tPartnerRole">
      <xsd:complexContent>
        <xsd:extension base="tRootElement">
            <xsd:attribute name="name" type="xsd:string"/>
        </xsd:extension>
      </xsd:complexContent>
</xsd:complexType>
```


<a id="tab-9-30"></a>
**Table 9.30 – Sub-Conversation XML schema**

```xml
<xsd:element name="subConversation" type="tSubConversation" substitutionGroup="conversationNode"/>
<xsd:complexType name="tSubConversation">
    <xsd:complexContent>
        <xsd:extension base="tConversationNode">
            <xsd:sequence>
                <xsd:element ref="conversationNode" minOccurs="0" maxOccurs="unbounded"/>
            </xsd:sequence>
        </xsd:extension>
    </xsd:complexContent>
</xsd:complexType>
```

