- From: Hallam-Baker, Phillip <pbaker@verisign.com>
- Date: Thu, 26 Sep 2002 12:32:05 -0700
- To: "Hallam-Baker, Phillip" <pbaker@verisign.com>, XKMS <www-xkms@w3.org>
- Message-ID: <2F3EC696EAEED311BB2D009027C3F4F40E6B26DF@vhqpostal.verisign.com>
A tweak here, the schea as specified requires a tweak to prevent a compound request containing nested compound requests. I do not think that is a route we want to take. A minor correction to the schema avoids this problem. We could even segregate so that a compound request could consist of a mixture of X-KISS request types or X-KRSS request types but not both. Also missing is the compound response!!! -----Original Message----- From: Hallam-Baker, Phillip [mailto:pbaker@verisign.com] Sent: Wednesday, September 25, 2002 4:52 PM To: XKMS Subject: XKMS Schema issue 22 Issue 22 Bulk Requests There is an issue of schema design here, how to express a multiple request? Question: Do we want to be able to issue different request types at the same time? E.G. 3 <Locate> and 4 <Validate> ??? This may make some sense when it comes to bulk registration issues, it would allow you to request a recovery and revocation in the same step (quite likely if you have just fired Mallet). The answer to this question affects the schema design Option 1: <!-- CompoundRequest --> <element name="RequestAbstract" type="xkms:RequestAbstractType"/> <element name="CompoundRequest" type="xkms:CompoundRequestType"/> <complexType name="CompoundRequestType"> <complexContent> <extension base="xkms:RequestAbstractType"> <sequence> <element ref="xkms:RequestAbstract" minOccurs="0" maxOccurs="unbounded"/> <sequence> </extension> </complexContent> </complexType> <!-- /CompoundRequest --> And we specify that each of the requests is a member of the Abstract Request substitution group Pro: This works really well for extensibility Con: We cannot restrict the multiple request to be n requests of the same type Con: Requires support for substitution groups (is this a problem framework folks)? Option 2: We enumerate the defined request types Pro: Simple to implement Con: Does not extend very well <element name="CompoundRequest" type="xkms:CompoundRequestType"/> <complexType name="CompoundRequestType"> <complexContent> <extension base="xkms:RequestAbstractType"> <choice minOccurs="1" maxOccurs="unbounded"> <element ref="xkms:LocateRequest"/> <element ref="xkms:ValidateRequest"/> <element ref="xkms:RegisterRequest"/> <element ref="xkms:ReissueRequest"/> <element ref="xkms:RecoverRequest"/> <element ref="xkms:RevokeRequest"/> </choice> </extension> </complexContent> </complexType> Option 3: We enumerate the defined requests with a constraint that the requests be all of the same type: Pro: Simple to implement Con: Does not extend well <element name="CompoundRequest" type="xkms:CompoundRequestType"/> <complexType name="CompoundRequestType"> <complexContent> <extension base="xkms:RequestAbstractType"> <choice> <element ref="xkms:LocateRequest" minOccurs="1" maxOccurs="unbounded"/> <element ref="xkms:ValidateRequest" minOccurs="1" maxOccurs="unbounded"/> <element ref="xkms:RegisterRequest" minOccurs="1" maxOccurs="unbounded"/> <element ref="xkms:ReissueRequest" minOccurs="1" maxOccurs="unbounded"/> <element ref="xkms:RecoverRequest" minOccurs="1" maxOccurs="unbounded"/> <element ref="xkms:RevokeRequest" minOccurs="1" maxOccurs="unbounded"/> </choice> </extension> </complexContent> </complexType> My preferred option is #1 but I have implemented #2 at present since #1 would be harder to back out completely.
Received on Thursday, 26 September 2002 15:30:19 UTC