- From: Dieter Köhler <d.k@philo.de>
- Date: Wed, 20 Jul 2005 18:00:12 +0200
- To: xml-editor@w3.org
I am wondering why the prod. [41] WFC: "No External Entity References" applies not to default attribute values in attribute declarations while WFC: "No < in Attribute Default" does? See prod. [60] WFC: "No < in Attribute Default", which is silently linked to prod. [41] WFC: "No < in Attribute Default" (shouldn't the reference perhaps be made legible?). In other words: Why is it required to check for '<' in external entities when references to such entities must not appear in actual attribute values? Example: <!DOCTYPE doc [ <!ENTITY bar1 SYSTEM "bar.ent" > <!ELEMENT doc EMPTY > <!ATTLIST doc foo CDATA "&bar1;" > ]> <doc foo="blabla" /> Here, the XML processor must check whether the "bar.ent" file contains a '<' even though a "&bar1;" attribute value would result in any case in a WFC violation. Another line of argument would be the following: Since the above document is wellformed (in case that bar.ent does not contain a '<') although the default attribute value refers to an external entity, and the reference to an external entity comes only into play, when no default attribute value would have been specified like in: <!DOCTYPE doc [ <!ENTITY bar1 SYSTEM "bar.ent" > <!ELEMENT doc EMPTY > <!ATTLIST doc foo CDATA "&bar1;" > ]> <doc /> Why is it then necessary to check for '<' in default attribute values at all, as long as the default value is not actually used? In other words: It would make no difference for the infoset, if prod. [60] WFC: "No < in Attribute Default" would be dropped. Dieter Köhler Institute of Philosophy and Centre for Multimedia Studies University of Karlsruhe Germany
Received on Wednesday, 20 July 2005 16:02:30 UTC