RE: Exclusive C14N Error: Using #default in NMTOKENS

Hi Joseph,

I briefly considered suggesting that the schema type be derived from NMTOKENS rather than simply changing it to xsd:string, but I blinked because the DTD version was getting changed to CDATA, which matches xsd:string.

However, the XForms guys immediately wanted to know why we wouldn't derive a type from NMTOKENS to describe the content model, so I thought I'd put it forward.

John Boyer, Ph.D.
Senior Product Architect
PureEdge Solutions Inc.


-----Original Message-----
From: Joseph Reagle [mailto:reagle@w3.org]
Sent: Wednesday, December 04, 2002 12:54 PM
To: John Boyer; w3c-ietf-xmldsig@w3.org
Subject: Re: Exclusive C14N Error: Using #default in NMTOKENS


On Wednesday 04 December 2002 12:57 pm, John Boyer wrote:
> The PrefixList is defined to be of type NMTOKENS, but the # character is
> not allowed according to the XML rule for NmToken.

Yep, it's a problem. I remember the "#default" went missing, we put it back 
in at the end and I suppose I never validated it an example at that time. 
I'm led to that conclusion because I can't find a separate DTD/schema since 
neither would be useful in-and-of themselves. However, that goof can also 
be of use to use now in that I think we can address this with an errata... 
We don't have to worry about fixing a "frozen" DTD and schema at specified 
URIs that folks are already using.

(We were simply borrowing XSLT '#default' and Schema '##other' conventions 
but on investigation their XML types are CDATA and Schema types are 
xsd:string.)

> This can be fixed in one of two ways:
>
> 1) Change from NMTOKENS to CDATA

CDATA in the DTD description; and xs:strings in the schema.

> 2) Change from # to :
>
> The latter approach is reasonable because namespace prefixes do not
> contain a colon.  This would allow us to keep the NMTOKENS content model.

This approach also *invalidates* existing instances, which I don't want to 
do. I think it is *much* more likely that there are instances using the 
syntax than relying upon a schema definition somewhere -- as I stated, we 
didn't even provide one on-line ourselves for this spec since it's so 
small/trivial and needs to be incorporated elsewhere.

I'd propose the following erratum:

http://www.w3.org/2002/07/xml-exc-c14n-errata#E02
  E02 2002-10-03 (Error)
          In section 4 Use in XML Security, the data type of the
          PrefixList attribute value is specified as NMTOKENS in both the
          DTD and Schema. This does not permit the occurrence of the
          '#default' token in the attribute value. Consequently, the type
          of this attribute value should be CDATA in a DTD and/or
          xsd:string in a XML Schema.

Received on Thursday, 5 December 2002 12:37:43 UTC