- From: Joseph M. Reagle Jr. <reagle@w3.org>
- Date: Wed, 19 Jul 2000 17:00:01 -0400
- To: Owen Roberts <oroberts@baltimore.com>
- Cc: w3c-ietf-xmldsig@w3.org, "Martin J. Duerst" <duerst@w3.org>
Hi Owen, I created those Parameter Entities on the suggestion that it would make it easier for others to define extension content models. (ANY in an XML DTD means only those elements declared in that DTD, so we'd need easy ways for folks to plug in acceptable content for Object, KeyInfo, etc). I implemented the method suggested by Martin [1]. However, you're correct in noting that parameter entities can't be used that way in an internal subset. [2,3]. A bit of a toss-up... We could provide a modularized and internal subset DTD though I'm REALLY hesitant to include another place where I have to synch changes! Given that the DTD isn't expected to be deployed out-of-the box for enveloped/enveloping Signatures, I think I'd opt for the modular approach that the application designer can tweak as approriate. __ [1] http://lists.w3.org/Archives/Public/w3c-ietf-xmldsig/2000AprJun/0065.html [2] http://www.w3.org/TR/1998/REC-xml-19980210.html#wfc-PEinInternalSubset [3] http://www.xml.com/axml/notes/PEsubsets.html Parameter Entity Reference Restrictions It took a lot of work to get to this policy. The idea is that although PEs are useful (essential, even) for DTD construction and maintenance, that is the only place they are useful, and they shouldn't complicate the lives of non-validating processors. So to achieve this, in the internal subset (the part between the [ and ] in the doctype declaration), you can only use PEs at the "top level". that is to say, this is legal in the internal subset: <!ENTITY % e1 "<!ELEMENT e1 ANY>"> %e1; while this is not (but would be in the external subset): <!ENTITY % e2 "(e3|e4)"> <!ELEMENT e2 %e2;> _________________________________________________________ Joseph Reagle Jr. W3C Policy Analyst mailto:reagle@w3.org IETF/W3C XML-Signature Co-Chair http://www.w3.org/People/Reagle/
Received on Wednesday, 19 July 2000 17:01:19 UTC