- From: Joseph M. Reagle Jr. <reagle@w3.org>
- Date: Tue, 18 Apr 2000 13:36:44 -0400
- 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 > >http://www.w3.org/TR/2000/WD-xmldsig-core-20000228/xmldsig-core-schema.dtd > >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 other >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. >http://www.w3.org/Signature/Drafts/WD-xmldsig-core-20000218/Overview.html#se c >-Editorial > >and it's DTD is > >http://www.w3.org/Signature/Drafts/WD-xmldsig-core-20000218/xmldsig-core-sch e >ma.dtd 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 matter" "URI of DSIG DTD" > %xmldsig; (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