[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Issue maint-7 (forwarded 2)
second element of conversation -----Original Message----- From: Ceponkus Alex - External Address Sent: 07 January 2004 18:55 To: Furniss, Peter Cc: Doug Bunting Subject: Re: [business-transaction] BTP issue maint-7 Hi Peter, The main body of the spec states that there is a default value for response-requested, implying that it is optional. See lines 2284-2285 (from 2002-06-03.BTP_cttee_spec_1.0.pdf) for the Enrol message. Perhaps the informal XML is incorrect rather than the XML schema? Can you confirm from the abstract message set whether response-requested is meant to be optional? The attached schema is still broken. Either the minOccurs="0" needs to be put back, or default="false" needs to be removed. The transaction-identifier error that Doug points out below is fixed in the attached schema. The informal XML on line 3925 of the spec has a bug... 3924 <btp:transaction-identifier>...URI...</btp:transaction- 3925 identifier> ? should be ... 3924 <btp:transaction-identifier>...URI...</btp:transaction- 3925 identifier> Alex Doug Bunting wrote: > Alex, > > In addition to the additional removal of 'default="false"' from the > response-requested, I also noticed that the transaction-identifier > change was incomplete. The lines: > > <element name="cancel-inferiors" substitutionGroup="btp:message"> > <complexType> > <sequence> > <element name="transaction-identifier" type="btp:identifier" > minOccurs="0" /> > > should be > > <element name="cancel-inferiors" substitutionGroup="btp:message"> > <complexType> > <sequence> > <element name="transaction-identifier" type="btp:identifier" /> > > This is the only remaining occurrence of an (incorrectly, as always) > optional transaction identifier. > > thanx, > doug > > On 06-Jan-04 07:31, Furniss, Peter wrote: > >> At the last BT TC meeting I recollected that Alex had sent me >> something on the xml schema typos in maint-7, but I couldn't find it. >> He resent me the stuff - thank you Alex. >> >> I've uploaded the revised schema document to >> http://www.oasis-open.org/committees/download.php/4892/2003-10-14.btp >> -1- >> 0-core.xsd >> >> and Alex's message is below. >> >> Note that in accordance with the motion approved on 25 November >> (under the discussion of maint-2), the identifying URIs for the >> schemas will be updated when the 1.1 spec is finalised. >> >> Peter >> >> -------- Original Message -------- >> Subject: BTP issue 7 >> Date: Tue, 14 Oct 2003 14:49:17 -0400 >> From: Alex Ceponkus <alex@ceponkus.org> >> Reply-To: alex@ceponkus.org >> To: Furniss, Peter <Peter.Furniss@choreology.com> >> >> Hi Peter, >> >> Issue 7 consists of typos in the schema. Suggested fixes (and diff) >> to schema attached. >> >> > Response requested is not mandatory (minOccurs=0 and specified >> > default) for enrol/resign/inferior-state/superior-state in the >> > xml schema but there is no indication that they are optional in >> > the informal message set. >> >> Fixed in attached document. minOccurs=0 has been removed (default >> for minOccurs is 1.) >> >> >> > decider, inferior address and transaction identifier is not >> > mandatory for begun in the xml schema but not in the informal >> > message set. >> >> According to the abstract message set, decider-address and >> inferior-address may be absent (both informal XML and schema are >> consistent with the abstract message set for these elements.) No >> changes made to decider-address or inferior-address. >> >> transaction-identifier has been fixed in the attached schema by the >> removal of minOccurs=0. >> >> >> > In the xml schema "fault" doesn't contain a fault text. >> >> Fixed in attached schema. >> >> Line 3556 of the spec (in the informal XML) contains a bug: should be >> </btp:fault-text> and not </btp:fault-data>. >> >> >> Regards, >> Alex >> >> >> >> >> To unsubscribe from this mailing list (and be removed from the roster >> of the OASIS TC), go to >> http://www.oasis-open.org/apps/org/workgroup/business-transaction/member s/leave_workgroup.php. >> >>
<?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" default="true"/> <attribute name="to-be-propagated" type="boolean" 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> </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"/> <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" 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" 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" 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" 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]