W3C home > Mailing lists > Public > w3c-ietf-xmldsig@w3.org > April to June 2000

Re: DTDs and ANY

From: Joseph M. Reagle Jr. <reagle@w3.org>
Date: Tue, 18 Apr 2000 13:36:44 -0400
Message-Id: <>
To: "IETF/W3C XML-DSig WG" <w3c-ietf-xmldsig@w3.org>
Cc: "Martin J. Duerst" <duerst@w3.org>
I have to give this some more thought, and play around with it, but this
seems like a potential approach to open content models using DTDs.

Forwarded Text ----
 Date: Fri, 14 Apr 2000 16:14:04 +0900
 To: "Joseph M. Reagle Jr." <reagle@w3.org>
 From: "Martin J. Duerst" <duerst@w3.org>
 Subject: Re: DTDs and ANY

 At 00/04/13 12:14 -0400, Joseph M. Reagle Jr. wrote:
 >At 10:53 PM 4/13/00 +0900, Martin J. Duerst wrote:
 >  >Joseph - Can you tell me which places in
 >  >you would like to have ANY? Preferably just by taking the dtd,
 >  >and putting in ANY where you want it, and sending it to me.
 >Presently, we removed the text below and changed ANY to PCDATA. (This
 >actually causes more problems with validators though.) The last version of
 >the spec said:
 >In some cases permitted element content includes user specified and/or
 >namespace elements, or these and character content. In this case the ANY
 >declaration is used in the DTD, although strictly speaking this only means
 >any element declared in the DTD.

 >and it's DTD is

 The schema has ANY in three places, KeyInfo, Object, and SignatureProperty.
 The schema has other ANYs, so I'm a bit confused.
 Basically, what you do is the following. At any place you want to
 have ANY, you put something like:
 <!ELEMENT Object %Object.ANY; >
 Then *before* that, in the same file, you declare as follows:
 <!ENTITY % Object.ANY "EMPTY">
 Use EMPTY or whatever appropriate for the 'null' case.
 Then what a user does to use your DTD is as follows:
 First, define Object.ANY the way s/he wants:
 <!ENTITY % Object.ANY "( (myObjectA | myObjectB)*)">
 to allow myObjectA/B in arbitrary sequence and number,...
 Then include the DSig DTD:
 <!ENTITY % xmldsig
                PUBLIC "don't know what should go here, but doesn't really 
                       "URI of DSIG DTD" >
 (sorry, but it takes that much to do an include, first declare and
 then use).
 I didn't run this through any software, so it's easily possible
 there are some syntactic mistakes. But with this approach,
 everybody that wants to use DSig in a certain context can rather
 easily do so.
 If you have any further questions, please feel free to ask.
 Regards,    Martin.
End Forwarded Text ----

Joseph Reagle Jr.   
W3C Policy Analyst                mailto:reagle@w3.org
IETF/W3C XML-Signature Co-Chair   http://www.w3.org/People/Reagle/
Received on Tuesday, 18 April 2000 13:36:50 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 21:21:33 UTC