- From: Junfeng Dong <junfengd@microsoft.com>
- Date: Thu, 7 Jul 2005 12:43:58 -0700
- To: "Eve L. Maler" <Eve.Maler@Sun.COM>
- Cc: <xml-editor@w3.org>
Hi Eve, Thanks for your reply. Here is another question about external entities. An xml document is given below: <!DOCTYPE Root [ <!ENTITY % PE SYSTEM "pent.ent"> %PE; ]> <Root att="&ext;" /> The content of file pent.ent is: <!ELEMENT Root ANY> <!ATTLIST Root att NMTOKEN #IMPLIED> <!ENTITY ext "blah"> By definition, PE is an external parameter entity. How about entity ext? >From your last message, it should be an internal ext, right? Thanks, Junfeng -----Original Message----- From: Eve L. Maler [mailto:Eve.Maler@Sun.COM] Sent: Thursday, July 07, 2005 7:04 AM To: Junfeng Dong Cc: xml-editor@w3.org Subject: Re: external entities ext is an internal entity that happens to be defined in an external subset. This is, in fact, the typical case for internal entity definitions since internal subsets are relatively rare in the wild. (See, for example, the DocBook DTD, which provides a "dbgenent.mod" external entity as a placeholder precisely for containing internal entities: http://www.oasis-open.org/docbook/xml/5.0a1/) Just because your internal entity is called "ext" doesn't make it external in any way. Hope this helps, Eve Junfeng Dong wrote: > Dear Sir or Madam, > > > > I have a question for the definition of external entities. Suppose there > is an xml document given as follow: > > > > <!DOCTYPE root SYSTEM "ext.dtd" [ > > ]> > > <root a="&ext;"/> > > > > > > The content of file ext.dtd is: > > > > <!ELEMENT root ANY> > > <!ATTLIST root a NMTOKEN #IMPLIED> > > <!ENTITY ext "blah"> > > > > Is entity ext counted as an internal entity or an external entity? In > xml specification, "The document type declaration can point to an > external subset (a special kind of external entity > <http://www.xml.com/axml/target.html#dt-extent#dt-extent>) containing > markup declarations," In my understanding, since ext.dtd is an external > subset and a special kind of external entity, then ext is by default, an > external entity. However, by the definition of internal entity ("If the > entity definition is an |EntityValue > <http://www.xml.com/axml/target.html#NT-EntityValue#NT-EntityValue>|, > the defined entity is called an *internal entity*. There is no separate > physical storage object, and the content of the entity is given in the > declaration."), entity ext is an internal entity. > > > > I am confused here. Since if ext is an external entity, then the > document isn't well-formed. > > > > Thanks in advance. > > > > Junfeng > -- Eve Maler +1 425 947 4522 Technology Director eve.maler @ sun.com CTO Business Alliances group Sun Microsystems, Inc.
Received on Thursday, 7 July 2005 19:44:09 UTC