- 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