- From: Joseph M. Reagle Jr. <reagle@w3.org>
- Date: Thu, 14 Dec 2000 15:21:38 -0500
- To: muraw3c@attglobal.net
- Cc: "IETF/W3C XML-DSig WG" <w3c-ietf-xmldsig@w3.org>
At 22:57 12/13/2000 +0900, muraw3c@attglobal.net wrote:
>The body of the CR has the above dcl, but the DTD actually uses
>%Key.ANY;.
>
><!ELEMENT MgmtData %Key.ANY; >
><!ELEMENT KeyName %Key.ANY; >
Oops, ok, they are changed to PCDATA, in the editors' copy of the DTD [1].
[1]http://www.w3.org/Signature/Drafts/xmldsig-core/xmldsig-core-schema.dtd
>In my understanding, KeyValue have either DSAKeyValue, RSAKeyValue, or
>elements of foreign namespaces.
>
> > >- Permissible contents of KeyValue are very different.
> >
> > <element name="KeyValue" type="ds:KeyValueType"/>
> > <complexType name="KeyValueType" mixed="true">
> > <choice>
> > <any namespace="##other" processContents="lax" minOccurs="0"
> > maxOccurs="unbounded"/>
> > <element name="DSAKeyValue" type="ds:DSAKeyValueType"/>
> > <element name="RSAKeyValue" type="ds:RSAKeyValueType"/>
> > </choice>
> > </complexType>
>
>But your DTD allows several element types of the very namespace
>"http://www.w3.org/2000/09/xmldsig#". Is this really intended?
I combined the KeValues and KeyInfo types, but I've now seperated them for
clarity in [1] (not the spec yet).
>I would rather write:
>
><!ENTITY % Key.ANY "(%ForeignKeyValue; DSAKeyValue|RSAKeyValue)*">
><!ENTITY % ForeignKeyValue "">
>
>and allow users to redefine ForeignKeyValue. For example:
>
><!ENTITY % ForeignKeyValue "foo:NewKeyValue | ">
I like this approach, represented in [1] (not in spec yet):
<!--
These entity declarations enable external/flexible content in
the Signature content model.
#PCDATA emulates schema string; when combined with element types it
emulates schema's mixed content type.
%foo.External permits the user to include their own element types from
other namespaces, for example:
<!ENTITY % KeyValue.External 'ecds:ECDSAKeyValue|'>
<!ELEMENT ecds:ECDSAKeyValue (#PCDATA) >
-->
<!ENTITY % Object.External ''>
<!ENTITY % Object.ANY
'(%Object.External;#PCDATA|Signature|SignatureProperties|Manifest)*'>
<!ENTITY % Method.External ''>
<!ENTITY % Method.ANY '(%Method.External;#PCDATA|HMACOutputLength)*'>
<!ENTITY % Transform.External ''>
<!ENTITY % Transform.ANY '(%Transform.External;#PCDATA|XPath|XSLT)*'>
<!ENTITY % SignatureProperty.External ''>
<!ENTITY % SignatureProperty.ANY '(%SignatureProperty.External;#PCDATA)*'>
<!ENTITY % KeyInfo.External ''>
<!ENTITY % KeyInfo.ANY
'(%KeyInfo.External;#PCDATA|KeyName|KeyValue|RetrievalMethod|
X509Data|PGPData|MgmtData)*'>
<!ENTITY % KeyValue.External ''>
<!ENTITY % KeyValue.ANY
'(%KeyValue.External;#PCDATA|DSAKeyValue|RSAKeyValue)*'>
__
Joseph Reagle Jr.
W3C Policy Analyst mailto:reagle@w3.org
IETF/W3C XML-Signature Co-Chair http://www.w3.org/People/Reagle/
Received on Thursday, 14 December 2000 15:21:40 UTC