[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]