- From: Rich Salz <rsalz@datapower.com>
- Date: Wed, 15 Sep 2004 14:35:39 -0400
- To: www-xkms@w3.org
- Message-ID: <41488B7B.80909@datapower.com>
Attached is a modified version of xkms.xsd, and a diff file that shows
the changes. There are two "gratuitous" changes:
Adding a DTD and defining an entityt for the XKMS URI, for easier
maintenance and better clarity.
Changing KeyUsageType to KeyUsageEnum for style consistency
Hopefully it's all understandable.
/r$
--
Rich Salz, Chief Security Architect
DataPower Technology http://www.datapower.com
XS40 XML Security Gateway http://www.datapower.com/products/xs40.html
XML Security Overview http://www.datapower.com/xmldev/xmlsecurity.html
*** xkms.xsd.orig Wed Sep 15 11:33:03 2004
--- xkms.xsd Wed Sep 15 14:32:38 2004
***************
*** 3,11 ****
Schema updates:
1. Changed RSAKeyValue and
RSAKeyValueType to RSAKeyPair and RSAKeyPairType respectively
-->
! <schema targetNamespace="http://www.w3.org/2002/03/xkms#" xmlns:xkms="http://www.w3.org/2002/03/xkms#" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:xenc="http://www.w3.org/2001/04/xmlenc#" xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
<import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="xmldsig-core-schema.xsd"/>
<import namespace="http://www.w3.org/2001/04/xmlenc#" schemaLocation="xenc-schema.xsd"/>
<annotation>
--- 3,20 ----
Schema updates:
1. Changed RSAKeyValue and
RSAKeyValueType to RSAKeyPair and RSAKeyPairType respectively
+ 2. Replace qname with URI using open enumeration technique described in
+ http://lists.oasis-open.org/archives/wss/200402/msg00011.html
+ Rationale for the change is given at
+ http://www.w3.org/2001/tag/doc/qnameids.html#sec-archrec
-->
+ <!DOCTYPE schema [
+ <!-- The URI for the XKMS namespace, and also the base URI used for
+ URI's defined by the specification. -->
+ <!ENTITY xkms 'http://www.w3.org/2002/03/xkms#'>
+ ]>
! <schema targetNamespace="&xkms;" xmlns:xkms="&xkms;" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:xenc="http://www.w3.org/2001/04/xmlenc#" xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
<import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="xmldsig-core-schema.xsd"/>
<import namespace="http://www.w3.org/2001/04/xmlenc#" schemaLocation="xenc-schema.xsd"/>
<annotation>
***************
*** 55,64 ****
</complexType>
<!-- /RequestAbstractType -->
<!-- ResponseMechanism -->
! <element name="ResponseMechanism" type="QName"/>
<!-- /ResponseMechanism -->
<!-- RespondWith -->
! <element name="RespondWith" type="QName"/>
<!-- /RespondWith -->
<!-- PendingNotification -->
<element name="PendingNotification" type="xkms:PendingNotificationType"/>
--- 64,101 ----
</complexType>
<!-- /RequestAbstractType -->
<!-- ResponseMechanism -->
! <simpleType name="ResponseMechanismEnum">
! <restriction base="anyURI">
! <enumeration value="&xkms;Pending"/>
! <enumeration value="&xkms;Represent"/>
! <enumeration value="&xkms;RequestSignatureValue"/>
! </restriction>
! </simpleType>
! <simpleType name="ResponseMechanismOpenEnum">
! <union memberTypes="xkms:ResponseMechanismEnum anyURI"/>
! </simpleType>
! <element name="ResponseMechanism" type="xkms:ResponseMechanismOpenEnum"/>
<!-- /ResponseMechanism -->
<!-- RespondWith -->
! <simpleType name="RespondWithEnum">
! <restriction base="anyURI">
! <enumeration value="&xkms;KeyName"/>
! <enumeration value="&xkms;KeyValue"/>
! <enumeration value="&xkms;X509Cert"/>
! <enumeration value="&xkms;X509Chain"/>
! <enumeration value="&xkms;X509CRL"/>
! <enumeration value="&xkms;OCSP"/>
! <enumeration value="&xkms;RetrievalMethod"/>
! <enumeration value="&xkms;PGP"/>
! <enumeration value="&xkms;PGPWeb"/>
! <enumeration value="&xkms;SPKI"/>
! <enumeration value="&xkms;PrivateKey"/>
! </restriction>
! </simpleType>
! <simpleType name="RespondWithOpenEnum">
! <union memberTypes="xkms:RespondWithEnum anyURI"/>
! </simpleType>
! <element name="RespondWith" type="xkms:RespondWithOpenEnum"/>
<!-- /RespondWith -->
<!-- PendingNotification -->
<element name="PendingNotification" type="xkms:PendingNotificationType"/>
***************
*** 79,92 ****
<!-- /PendingRequest -->
<!-- ResultType -->
<element name="Result" type="xkms:ResultType"/>
<complexType name="ResultType">
<complexContent>
<extension base="xkms:MessageAbstractType">
<sequence>
<element ref="xkms:RequestSignatureValue" minOccurs="0"/>
</sequence>
! <attribute name="ResultMajor" type="QName" use="required"/>
! <attribute name="ResultMinor" type="QName" use="optional"/>
<attribute name="RequestId" type="NCName" use="optional"/>
</extension>
</complexContent>
--- 116,159 ----
<!-- /PendingRequest -->
<!-- ResultType -->
<element name="Result" type="xkms:ResultType"/>
+ <simpleType name="ResultMajorEnum">
+ <restriction base="anyURI">
+ <enumeration value="&xkms;Success"/>
+ <enumeration value="&xkms;VersionMismatch"/>
+ <enumeration value="&xkms;Sender"/>
+ <enumeration value="&xkms;Receiver"/>
+ <enumeration value="&xkms;Represent"/>
+ <enumeration value="&xkms;Pending"/>
+ </restriction>
+ </simpleType>
+ <simpleType name="ResultMajorOpenEnum">
+ <union memberTypes="xkms:ResultMajorEnum anyURI"/>
+ </simpleType>
+ <simpleType name="ResultMinorEnum">
+ <restriction base="anyURI">
+ <enumeration value="&xkms;NoMatch"/>
+ <enumeration value="&xkms;TooManyResponses"/>
+ <enumeration value="&xkms;Incomplete"/>
+ <enumeration value="&xkms;Failure"/>
+ <enumeration value="&xkms;Refused"/>
+ <enumeration value="&xkms;NoAuthentication"/>
+ <enumeration value="&xkms;MessageNotSupported"/>
+ <enumeration value="&xkms;UnknownResponseId"/>
+ <enumeration value="&xkms;RepresentRequired"/>
+ <enumeration value="&xkms;NotSynchronous"/>
+ </restriction>
+ </simpleType>
+ <simpleType name="ResultMinorOpenEnum">
+ <union memberTypes="xkms:ResultMinorEnum anyURI"/>
+ </simpleType>
<complexType name="ResultType">
<complexContent>
<extension base="xkms:MessageAbstractType">
<sequence>
<element ref="xkms:RequestSignatureValue" minOccurs="0"/>
</sequence>
! <attribute name="ResultMajor" type="xkms:ResultMajorOpenEnum" use="required"/>
! <attribute name="ResultMinor" type="xkms:ResultMinorOpenEnum" use="optional"/>
<attribute name="RequestId" type="NCName" use="optional"/>
</extension>
</complexContent>
***************
*** 184,197 ****
</complexType>
<!-- /KeyBinding -->
<!-- KeyUsage -->
! <element name="KeyUsage" type="xkms:KeyUsageType"/>
! <simpleType name="KeyUsageType">
! <restriction base="QName">
! <enumeration value="xkms:Encryption"/>
! <enumeration value="xkms:Signature"/>
! <enumeration value="xkms:Exchange"/>
</restriction>
</simpleType>
<!-- /KeyUsage -->
<!-- UseKeyWith -->
<element name="UseKeyWith" type="xkms:UseKeyWithType"/>
--- 251,264 ----
</complexType>
<!-- /KeyBinding -->
<!-- KeyUsage -->
! <simpleType name="KeyUsageEnum">
! <restriction base="anyURI">
! <enumeration value="&xkms;Encryption"/>
! <enumeration value="&xkms;Signature"/>
! <enumeration value="&xkms;Exchange"/>
</restriction>
</simpleType>
+ <element name="KeyUsage" type="xkms:KeyUsageEnum"/>
<!-- /KeyUsage -->
<!-- UseKeyWith -->
<element name="UseKeyWith" type="xkms:UseKeyWithType"/>
***************
*** 208,227 ****
<element ref="xkms:IndeterminateReason" minOccurs="0" maxOccurs="unbounded"/>
<element ref="xkms:InvalidReason" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
! <attribute name="StatusValue" type="xkms:KeyBindingStatus" use="required"/>
</complexType>
! <simpleType name="KeyBindingStatus">
! <restriction base="QName">
! <enumeration value="xkms:Valid"/>
! <enumeration value="xkms:Invalid"/>
! <enumeration value="xkms:Indeterminate"/>
</restriction>
</simpleType>
<!-- /Status -->
<!-- Reason -->
! <element name="ValidReason" type="QName"/>
! <element name="InvalidReason" type="QName"/>
! <element name="IndeterminateReason" type="QName"/>
<!-- /Reason -->
<!-- ValidityInterval -->
<element name="ValidityInterval" type="xkms:ValidityIntervalType"/>
--- 275,305 ----
<element ref="xkms:IndeterminateReason" minOccurs="0" maxOccurs="unbounded"/>
<element ref="xkms:InvalidReason" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
! <attribute name="StatusValue" type="xkms:KeyBindingEnum" use="required"/>
</complexType>
! <simpleType name="KeyBindingEnum">
! <restriction base="anyURI">
! <enumeration value="&xkms;Valid"/>
! <enumeration value="&xkms;Invalid"/>
! <enumeration value="&xkms;Indeterminate"/>
</restriction>
</simpleType>
<!-- /Status -->
<!-- Reason -->
! <simpleType name="ReasonEnum">
! <restriction base="anyURI">
! <enumeration value="&xkms;IssuerTrust"/>
! <enumeration value="&xkms;RevocationStatus"/>
! <enumeration value="&xkms;ValidityInterval"/>
! <enumeration value="&xkms;Signature"/>
! </restriction>
! </simpleType>
! <simpleType name="ReasonOpenEnum">
! <union memberTypes="xkms:ReasonEnum anyURI"/>
! </simpleType>
! <element name="ValidReason" type="xkms:ReasonOpenEnum"/>
! <element name="InvalidReason" type="xkms:ReasonOpenEnum"/>
! <element name="IndeterminateReason" type="xkms:ReasonOpenEnum"/>
<!-- /Reason -->
<!-- ValidityInterval -->
<element name="ValidityInterval" type="xkms:ValidityIntervalType"/>
Attachments
- text/xml attachment: xkms.xsd
Received on Wednesday, 15 September 2004 18:32:35 UTC