[Home] [By Thread] [By Date] [Recent Entries]

  • From: David Megginson <david@m...>
  • To: xml-dev@i...
  • Date: Mon, 17 Aug 1998 09:08:55 -0400

Patrice Bonhomme writes:

 > Ok, so how can i get the corresponding ENTITY value within a SAX
 > application ?  And i think that the example i gave was not good
 > because the XML Rec says : "No External Entity References In
 > Attribute Values".
 > 
 > I said:
 > ] <?xml version="1.0" ?> <!DOCTYPE foo [ <!ELEMENT foo (#PCDATA)>
 > ] <!ATTLIST foo docref ENTITY #IMPLIED> <!ENTITY mydoc SYSTEM
 > ] 'mydoc.xml'> ]> <foo docref="mydoc">blah</foo>
 > 

 > If the Entity 'mydoc' was not an External entity (let's say a
 > simple internal entity, <!ENTITY mydoc 'mydoc.xml'>) what should
 > return the SAX driver ?  'mydoc' or 'mydoc.xml' ? Could i have
 > something like this : <!ENTITY mydoc SYSTEM 'mydoc.xml' NDATA xml>
 > ?

The last one is the only one that you're allowed to have -- ENTITY
attributes must contain the names of NDATA entities (no internal or
external text entities allowed).

SAX has a special handler called DTDHandler that will tell the
application about all declared NDATA entities and notations before
parsing the document element:

public interface DTDHandler
{
  public void notationDecl (String name, String publicId, 
                            String systemId);
  public void unparsedEntityDecl (String name, String publicId,
                                  String systemId, String notationName);
}

A common practice is to use these callbacks to build two hash tables
-- one for entities, and one for notations -- and then look up ENTITY
and NOTATION attributes in those tables when you are parsing within
the document element.


All the best,


David

-- 
David Megginson                 david@m...
           http://www.megginson.com/

xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev@i...
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/
To (un)subscribe, mailto:majordomo@i... the following message;
(un)subscribe xml-dev
To subscribe to the digests, mailto:majordomo@i... the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa@i...)


Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member