[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Issue 7 update
Peter, Doug, and BTP group, Attached are the updates to the informal XML section of the spec and the schema that resulted from the issue 7 discussion. The following comment made by Doug during the discussion is not resolved in the attached documents... > The superior-type element has a default of "atom" but that is not even > indicated in text after the table. The transaction-type element in a > BEGIN should be used to set the superior-type of the created CONTEXT > but does not have a default. These elements are pretty much Booleans > (have very similar behaviour to an is-cohesion Boolean with a default > of false) and I can see the utility of providing that default. Again, > the smaller change would be to remove one sentence (at lines > 2175-2176). I cannot remember if the protocol provides another > in-band mechanism to create a CONTEXT beyond BEGIN (without an > associated CONTEXT, of course). If such a mechanism exists, other > choices may be prudent. We did not discuss this issue on the call. According to the current state of the docs, the CONTEXT's transaction-type has a default, but BEGIN's transaction-type does not. Regards, Alex
2004-03-16.BTP_1.0_with_issue_7.doc
<?xml version="1.0"?>
<schema
xmlns="http://www.w3.org/2001/XMLSchema"
targetNamespace="urn:oasis:names:tc:BTP:1.0:core"
xmlns:btp="urn:oasis:names:tc:BTP:1.0:core"
elementFormDefault="qualified">
<!-- Qualifiers -->
<complexType name="qualifier-type">
<complexContent mixed="true">
<restriction base="anyType">
<sequence>
<any processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
<attribute name="must-be-understood" type="boolean" use="optional" default="true"/>
<attribute name="to-be-propagated" type="boolean" use="optional" default="false"/>
</restriction>
</complexContent>
</complexType>
<element name="qualifier" type="btp:qualifier-type" abstract="true"/>
<element name="qualifiers">
<complexType>
<choice>
<element ref="btp:qualifier" minOccurs="0" maxOccurs="unbounded"/>
<any processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
</choice>
</complexType>
</element>
<!-- example qualifier definition:
<element name="some-qualifer" type="btp:qualifier-type" substitutionGroup="btp:qualifier"/>
-->
<!-- Message set data types -->
<simpleType name="identifier">
<restriction base="anyURI" />
</simpleType>
<simpleType name="additional-information">
<restriction base="string" />
</simpleType>
<complexType name="address">
<sequence>
<element name="binding-name" type="string"/>
<element name="binding-address" type="string"/>
<element name="additional-information" type="btp:additional-information" minOccurs="0" />
</sequence>
<attribute name="priority" type="positiveInteger" use="optional" default="1"/>
</complexType>
<simpleType name="superior-type">
<restriction base="string">
<enumeration value="cohesion"/>
<enumeration value="atom"/>
</restriction>
</simpleType>
<simpleType name="transaction-type">
<restriction base="string">
<enumeration value="cohesion"/>
<enumeration value="atom"/>
</restriction>
</simpleType>
<!-- Compounding -->
<element name="messages">
<complexType>
<sequence>
<element ref="btp:message" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
</complexType>
</element>
<element name="related-group" substitutionGroup="btp:message">
<complexType>
<sequence>
<element ref="btp:message" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
</complexType>
</element>
<!-- Message set -->
<element name="message" abstract="true" />
<element name="context" substitutionGroup="btp:message">
<complexType>
<sequence>
<element name="superior-address" type="btp:address" maxOccurs="unbounded"/>
<element name="superior-identifier" type="btp:identifier"/>
<element name="superior-type" type="btp:superior-type" minOccurs="0" default="atom"/>
<element ref="btp:qualifiers" minOccurs="0"/>
<element name="reply-address" type="btp:address" minOccurs="0"/>
</sequence>
<attribute name="id" type="ID" use="optional"/>
</complexType>
</element>
<element name="context-reply" substitutionGroup="btp:message">
<complexType>
<sequence>
<element name="superior-identifier" type="btp:identifier"/>
<element name="completion-status">
<simpleType>
<restriction base="string">
<enumeration value="completed"/>
<enumeration value="incomplete"/>
<enumeration value="related"/>
<enumeration value="repudiated"/>
</restriction>
</simpleType>
</element>
<element ref="btp:qualifiers" minOccurs="0"/>
<element name="target-additional-information" type="btp:additional-information" minOccurs="0"/>
</sequence>
<attribute name="id" type="ID" use="optional"/>
</complexType>
</element>
<element name="request-status" substitutionGroup="btp:message">
<complexType>
<sequence>
<element name="target-identifier" type="btp:identifier"/>
<element ref="btp:qualifiers" minOccurs="0"/>
<element name="target-additional-information" type="btp:additional-information" minOccurs="0"/>
<element name="reply-address" type="btp:address" minOccurs="0"/>
</sequence>
<attribute name="id" type="ID" use="optional"/>
</complexType>
</element>
<element name="status" substitutionGroup="btp:message">
<complexType>
<sequence>
<element name="responders-identifier" type="btp:identifier"/>
<element name="status-value">
<simpleType>
<restriction base="string">
<enumeration value="created"/>
<enumeration value="enrolling"/>
<enumeration value="active"/>
<enumeration value="resigning"/>
<enumeration value="resigned"/>
<enumeration value="preparing"/>
<enumeration value="prepared"/>
<enumeration value="confirming"/>
<enumeration value="confirmed"/>
<enumeration value="cancelling"/>
<enumeration value="cancelled"/>
<enumeration value="cancel-contradiction"/>
<enumeration value="confirm-contradiction"/>
<enumeration value="hazard"/>
<enumeration value="contradicted"/>
<enumeration value="unknown"/>
<enumeration value="inaccessible"/>
</restriction>
</simpleType>
</element>
<element ref="btp:qualifiers" minOccurs="0"/>
<element name="target-additional-information" type="btp:additional-information" minOccurs="0"/>
</sequence>
<attribute name="id" type="ID" use="optional"/>
</complexType>
</element>
<element name="fault" substitutionGroup="btp:message">
<complexType>
<sequence>
<element name="superior-identifier" type="btp:identifier" minOccurs="0"/>
<element name="inferior-identifier" type="btp:identifier" minOccurs="0"/>
<element name="fault-type">
<simpleType>
<restriction base="string">
<enumeration value="communication-failure"/>
<enumeration value="duplicate-inferior"/>
<enumeration value="general"/>
<enumeration value="invalid-decider"/>
<enumeration value="invalid-inferior"/>
<enumeration value="invalid-superior"/>
<enumeration value="status-refused"/>
<enumeration value="invalid-terminator"/>
<enumeration value="unknown-parameter"/>
<enumeration value="unknown-transaction"/>
<enumeration value="unsupported-qualifier"/>
<enumeration value="wrong-state"/>
<enumeration value="redirect"/>
</restriction>
</simpleType>
</element>
<element name="fault-text" type="string" minOccurs="0"/>
<element name="fault-data" type="anyType" minOccurs="0"/>
<element ref="btp:qualifiers" minOccurs="0"/>
<element name="target-additional-information" type="btp:additional-information" minOccurs="0"/>
</sequence>
<attribute name="id" type="ID" use="optional"/>
</complexType>
</element>
<element name="enrol" substitutionGroup="btp:message">
<complexType>
<sequence>
<element name="superior-identifier" type="btp:identifier"/>
<element name="response-requested" type="boolean" minOccurs="0" default="false"/>
<element name="inferior-address" type="btp:address" minOccurs="1" maxOccurs="unbounded"/>
<element name="inferior-identifier" type="btp:identifier"/>
<element ref="btp:qualifiers" minOccurs="0"/>
<element name="target-additional-information" type="btp:additional-information" minOccurs="0"/>
<element name="reply-address" type="btp:address" minOccurs="0"/>
</sequence>
<attribute name="id" type="ID" use="optional"/>
</complexType>
</element>
<element name="enrolled" substitutionGroup="btp:message">
<complexType>
<sequence>
<element name="inferior-identifier" type="btp:identifier"/>
<element ref="btp:qualifiers" minOccurs="0"/>
<element name="target-additional-information" type="btp:additional-information" minOccurs="0"/>
<element name="sender-address" type="btp:address" minOccurs="0"/>
</sequence>
<attribute name="id" type="ID" use="optional"/>
</complexType>
</element>
<element name="resign" substitutionGroup="btp:message">
<complexType>
<sequence>
<element name="superior-identifier" type="btp:identifier"/>
<element name="inferior-identifier" type="btp:identifier"/>
<element name="response-requested" type="boolean" minOccurs="0" default="false"/>
<element ref="btp:qualifiers" minOccurs="0"/>
<element name="target-additional-information" type="btp:additional-information" minOccurs="0"/>
<element name="sender-address" type="btp:address" minOccurs="0"/>
</sequence>
<attribute name="id" type="ID" use="optional"/>
</complexType>
</element>
<element name="resigned" substitutionGroup="btp:message">
<complexType>
<sequence>
<element name="inferior-identifier" type="btp:identifier"/>
<element ref="btp:qualifiers" minOccurs="0"/>
<element name="target-additional-information" type="btp:additional-information" minOccurs="0"/>
<element name="sender-address" type="btp:address" minOccurs="0"/>
</sequence>
<attribute name="id" type="ID" use="optional"/>
</complexType>
</element>
<element name="prepare" substitutionGroup="btp:message">
<complexType>
<sequence>
<element name="inferior-identifier" type="btp:identifier"/>
<element ref="btp:qualifiers" minOccurs="0"/>
<element name="target-additional-information" type="btp:additional-information" minOccurs="0"/>
<element name="sender-address" type="btp:address" minOccurs="0"/>
</sequence>
<attribute name="id" type="ID" use="optional"/>
</complexType>
</element>
<element name="prepared" substitutionGroup="btp:message">
<complexType>
<sequence>
<element name="superior-identifier" type="btp:identifier"/>
<element name="inferior-identifier" type="btp:identifier"/>
<element name="default-is-cancel" type="boolean"/>
<element ref="btp:qualifiers" minOccurs="0"/>
<element name="target-additional-information" type="btp:additional-information" minOccurs="0"/>
<element name="sender-address" type="btp:address" minOccurs="0"/>
</sequence>
<attribute name="id" type="ID" use="optional"/>
</complexType>
</element>
<element name="confirm" substitutionGroup="btp:message">
<complexType>
<sequence>
<element name="inferior-identifier" type="btp:identifier"/>
<element ref="btp:qualifiers" minOccurs="0"/>
<element name="target-additional-information" type="btp:additional-information" minOccurs="0"/>
<element name="sender-address" type="btp:address" minOccurs="0"/>
</sequence>
<attribute name="id" type="ID" use="optional"/>
</complexType>
</element>
<element name="confirmed" substitutionGroup="btp:message">
<complexType>
<sequence>
<element name="superior-identifier" type="btp:identifier"/>
<element name="inferior-identifier" type="btp:identifier"/>
<element name="confirmed-received" type="boolean"/>
<element ref="btp:qualifiers" minOccurs="0"/>
<element name="target-additional-information" type="btp:additional-information" minOccurs="0"/>
<element name="sender-address" type="btp:address" minOccurs="0"/>
</sequence>
<attribute name="id" type="ID" use="optional"/>
</complexType>
</element>
<element name="cancel" substitutionGroup="btp:message">
<complexType>
<sequence>
<element name="inferior-identifier" type="btp:identifier"/>
<element ref="btp:qualifiers" minOccurs="0"/>
<element name="target-additional-information" type="btp:additional-information" minOccurs="0"/>
<element name="sender-address" type="btp:address" minOccurs="0"/>
</sequence>
<attribute name="id" type="ID" use="optional"/>
</complexType>
</element>
<element name="cancelled" substitutionGroup="btp:message">
<complexType>
<sequence>
<element name="superior-identifier" type="btp:identifier"/>
<element name="inferior-identifier" type="btp:identifier" minOccurs="0"/>
<element ref="btp:qualifiers" minOccurs="0"/>
<element name="target-additional-information" type="btp:additional-information" minOccurs="0"/>
<element name="sender-address" type="btp:address" minOccurs="0"/>
</sequence>
<attribute name="id" type="ID" use="optional"/>
</complexType>
</element>
<element name="confirm-one-phase" substitutionGroup="btp:message">
<complexType>
<sequence>
<element name="inferior-identifier" type="btp:identifier"/>
<element name="report-hazard" type="boolean"/>
<element ref="btp:qualifiers" minOccurs="0"/>
<element name="target-additional-information" type="btp:additional-information" minOccurs="0"/>
<element name="sender-address" type="btp:address" minOccurs="0"/>
</sequence>
<attribute name="id" type="ID" use="optional"/>
</complexType>
</element>
<element name="hazard" substitutionGroup="btp:message">
<complexType>
<sequence>
<element name="superior-identifier" type="btp:identifier"/>
<element name="inferior-identifier" type="btp:identifier"/>
<element name="level">
<simpleType>
<restriction base="string">
<enumeration value="mixed"/>
<enumeration value="possible"/>
</restriction>
</simpleType>
</element>
<element ref="btp:qualifiers" minOccurs="0"/>
<element name="target-additional-information" type="btp:additional-information" minOccurs="0"/>
<element name="sender-address" type="btp:address" minOccurs="0"/>
</sequence>
<attribute name="id" type="ID" use="optional"/>
</complexType>
</element>
<element name="contradiction" substitutionGroup="btp:message">
<complexType>
<sequence>
<element name="inferior-identifier" type="btp:identifier"/>
<element ref="btp:qualifiers" minOccurs="0"/>
<element name="target-additional-information" type="btp:additional-information" minOccurs="0"/>
<element name="sender-address" type="btp:address" minOccurs="0"/>
</sequence>
<attribute name="id" type="ID" use="optional"/>
</complexType>
</element>
<element name="superior-state" substitutionGroup="btp:message">
<complexType>
<sequence>
<element name="inferior-identifier" type="btp:identifier"/>
<element name="status">
<simpleType>
<restriction base="string">
<enumeration value="active"/>
<enumeration value="prepared-received"/>
<enumeration value="inaccessible"/>
<enumeration value="unknown"/>
</restriction>
</simpleType>
</element>
<element name="response-requested" type="boolean" minOccurs="0" default="false"/>
<element ref="btp:qualifiers" minOccurs="0"/>
<element name="target-additional-information" type="btp:additional-information" minOccurs="0"/>
<element name="sender-address" type="btp:address" minOccurs="0"/>
</sequence>
<attribute name="id" type="ID" use="optional"/>
</complexType>
</element>
<element name="inferior-state" substitutionGroup="btp:message">
<complexType>
<sequence>
<element name="superior-identifier" type="btp:identifier"/>
<element name="inferior-identifier" type="btp:identifier"/>
<element name="status">
<simpleType>
<restriction base="string">
<enumeration value="active"/>
<enumeration value="inaccessible"/>
<enumeration value="unknown"/>
</restriction>
</simpleType>
</element>
<element name="response-requested" type="boolean" minOccurs="0" default="false"/>
<element ref="btp:qualifiers" minOccurs="0"/>
<element name="target-additional-information" type="btp:additional-information" minOccurs="0"/>
<element name="sender-address" type="btp:address" minOccurs="0"/>
</sequence>
<attribute name="id" type="ID" use="optional"/>
</complexType>
</element>
<element name="redirect" substitutionGroup="btp:message">
<complexType>
<sequence>
<element name="superior-identifier" type="btp:identifier" minOccurs="0"/>
<element name="inferior-identifier" type="btp:identifier" />
<element name="old-address" type="btp:address" maxOccurs="unbounded"/>
<element name="new-address" type="btp:address" maxOccurs="unbounded"/>
<element ref="btp:qualifiers" minOccurs="0"/>
<element name="target-additional-information" type="btp:additional-information" minOccurs="0"/>
</sequence>
<attribute name="id" type="ID" use="optional"/>
</complexType>
</element>
<element name="begin" substitutionGroup="btp:message">
<complexType>
<sequence>
<element name="transaction-type" type="btp:superior-type"/>
<element ref="btp:qualifiers" minOccurs="0"/>
<element name="target-additional-information" type="btp:additional-information" minOccurs="0"/>
<element name="reply-address" type="btp:address" minOccurs="0"/>
</sequence>
<attribute name="id" type="ID" use="optional"/>
</complexType>
</element>
<element name="begun" substitutionGroup="btp:message">
<complexType>
<sequence>
<element name="decider-address" type="btp:address" minOccurs="0" maxOccurs="unbounded"/>
<element name="inferior-address" type="btp:address" minOccurs="0" maxOccurs="unbounded"/>
<element name="transaction-identifier" type="btp:identifier"/>
<element ref="btp:qualifiers" minOccurs="0"/>
<element name="target-additional-information" type="btp:additional-information" minOccurs="0"/>
</sequence>
<attribute name="id" type="ID" use="optional"/>
</complexType>
</element>
<element name="prepare-inferiors" substitutionGroup="btp:message">
<complexType>
<sequence>
<element name="transaction-identifier" type="btp:identifier"/>
<element name="inferiors-list" minOccurs="0">
<complexType>
<sequence>
<element name="inferior-identifier" type="btp:identifier" maxOccurs="unbounded"/>
</sequence>
</complexType>
</element>
<element ref="btp:qualifiers" minOccurs="0"/>
<element name="target-additional-information" type="btp:additional-information" minOccurs="0"/>
<element name="reply-address" type="btp:address" minOccurs="0"/>
</sequence>
<attribute name="id" type="ID" use="optional"/>
</complexType>
</element>
<element name="confirm-transaction" substitutionGroup="btp:message">
<complexType>
<sequence>
<element name="transaction-identifier" type="btp:identifier"/>
<element name="inferiors-list" minOccurs="0">
<complexType>
<sequence>
<element name="inferior-identifier" type="btp:identifier" maxOccurs="unbounded"/>
</sequence>
</complexType>
</element>
<element name="report-hazard" type="boolean"/>
<element ref="btp:qualifiers" minOccurs="0"/>
<element name="target-additional-information" type="btp:additional-information" minOccurs="0"/>
<element name="reply-address" type="btp:address" minOccurs="0"/>
</sequence>
<attribute name="id" type="ID" use="optional"/>
</complexType>
</element>
<element name="transaction-confirmed" substitutionGroup="btp:message">
<complexType>
<sequence>
<element name="transaction-identifier" type="btp:identifier"/>
<element ref="btp:qualifiers" minOccurs="0"/>
<element name="target-additional-information" type="btp:additional-information" minOccurs="0"/>
</sequence>
<attribute name="id" type="ID" use="optional"/>
</complexType>
</element>
<element name="cancel-transaction" substitutionGroup="btp:message">
<complexType>
<sequence>
<element name="transaction-identifier" type="btp:identifier"/>
<element name="report-hazard" type="boolean"/>
<element ref="btp:qualifiers" minOccurs="0"/>
<element name="target-additional-information" type="btp:additional-information" minOccurs="0"/>
<element name="reply-address" type="btp:address" minOccurs="0"/>
</sequence>
<attribute name="id" type="ID" use="optional"/>
</complexType>
</element>
<element name="cancel-inferiors" substitutionGroup="btp:message">
<complexType>
<sequence>
<element name="transaction-identifier" type="btp:identifier"/>
<element name="inferiors-list">
<complexType>
<sequence>
<element name="inferior-identifier" type="btp:identifier" maxOccurs="unbounded"/>
</sequence>
</complexType>
</element>
<element ref="btp:qualifiers" minOccurs="0"/>
<element name="target-additional-information" type="btp:additional-information" minOccurs="0"/>
<element name="reply-address" type="btp:address" minOccurs="0"/>
</sequence>
<attribute name="id" type="ID" use="optional"/>
</complexType>
</element>
<element name="transaction-cancelled" substitutionGroup="btp:message">
<complexType>
<sequence>
<element name="transaction-identifier" type="btp:identifier"/>
<element ref="btp:qualifiers" minOccurs="0"/>
<element name="target-additional-information" type="btp:additional-information" minOccurs="0"/>
</sequence>
<attribute name="id" type="ID" use="optional"/>
</complexType>
</element>
<element name="request-inferior-statuses" substitutionGroup="btp:message">
<complexType>
<sequence>
<element name="target-identifier" type="btp:identifier"/>
<element name="inferiors-list" minOccurs="0">
<complexType>
<sequence>
<element name="inferior-identifier" type="btp:identifier" maxOccurs="unbounded"/>
</sequence>
</complexType>
</element>
<element ref="btp:qualifiers" minOccurs="0"/>
<element name="target-additional-information" type="btp:additional-information" minOccurs="0"/>
<element name="reply-address" type="btp:address" minOccurs="0"/>
</sequence>
<attribute name="id" type="ID" use="optional"/>
</complexType>
</element>
<element name="inferior-statuses" substitutionGroup="btp:message">
<complexType>
<sequence>
<element name="responders-identifier" type="btp:identifier"/>
<element name="status-list">
<complexType>
<sequence>
<element name="status-item" maxOccurs="unbounded">
<complexType>
<sequence>
<element name="inferior-identifier" type="btp:identifier"/>
<element name="status">
<simpleType>
<restriction base="string">
<enumeration value="active"/>
<enumeration value="resigned"/>
<enumeration value="preparing"/>
<enumeration value="prepared"/>
<enumeration value="autonomously-confirmed"/>
<enumeration value="autonomously-cancelled"/>
<enumeration value="confirming"/>
<enumeration value="confirmed"/>
<enumeration value="cancelling"/>
<enumeration value="cancelled"/>
<enumeration value="cancel-contradiction"/>
<enumeration value="confirm-contradiction"/>
<enumeration value="hazard"/>
<enumeration value="invalid"/>
</restriction>
</simpleType>
</element>
<element ref="btp:qualifiers" minOccurs="0"/>
</sequence>
</complexType>
</element>
</sequence>
</complexType>
</element>
<element ref="btp:qualifiers" minOccurs="0"/>
<element name="target-additional-information" type="btp:additional-information" minOccurs="0"/>
</sequence>
<attribute name="id" type="ID" use="optional"/>
</complexType>
</element>
</schema>
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]