Error in DSAKeyValue DTD/Schema

Merlin has pointed out that edits to DSAKeyValue's schema/DTD render existing 
instances that use J invalid:

> http://www.w3.org/2000/09/xmldsig#
>
>   DSAKeyValue == P, Q, G, Y, J?, (Seed, PgenCounter)?
>
> http://www.w3.org/TR/2001/PR-xmldsig-core-20010820/
>
>   DSAKeyValue == (P, Q)?, J?, G?, Y, (Seed, PgenCounter)?
>
> Neither backwards nor forward compatible.

Of course, it's not likely anyone is using J, but its reordering is contrary 
to our goal of being backwards compatible when using the same namespace. I 
dug around in the archives and noted that in the original proposal to 
DSAKeyValue Don stated that it should be compatible:
  http://lists.w3.org/Archives/Public/w3c-ietf-xmldsig/2001AprJun/0244.html
  "I have tried to be compatible with the existing material."
But when J was re-included, it preceded G,Y instead of following them:
 http://lists.w3.org/Archives/Public/w3c-ietf-xmldsig/2001AprJun/0269.html

The easy fix to this is to re-order J after the G,Y in the REC. The following 
are now in the Editors' copy:

http://www.w3.org/Signature/Drafts/xmldsig-core/ 
$Revision: 1.113 $ on $Date: 2001/08/28 16:41:08 $ GMT

<element name="DSAKeyValue" type="ds:DSAKeyValueType"/>
<complexType name="DSAKeyValueType">
  <sequence>
    <sequence minOccurs="0">
      <element name="P" type="ds:CryptoBinary"/>
      <element name="Q" type="ds:CryptoBinary"/>
    </sequence>
    <element name="G" type="ds:CryptoBinary" minOccurs="0"/>
    <element name="Y" type="ds:CryptoBinary"/>
    <element name="J" type="ds:CryptoBinary" minOccurs="0"/>
    <sequence minOccurs="0">
      <element name="Seed" type="ds:CryptoBinary"/>
      <element name="PgenCounter" type="ds:CryptoBinary"/>
    </sequence>
  </sequence>
</complexType>


<!ELEMENT DSAKeyValue (P, Q)?, G?, Y, J?, (Seed, PgenCounter)?) >

Received on Tuesday, 28 August 2001 12:43:05 UTC