Bug 31077 - EntityResolver does not process all general external entities
Summary: EntityResolver does not process all general external entities
Status: NEW
Alias: None
Product: Xerces-J
Classification: Unclassified
Component: SAX (show other bugs)
Version: unspecified
Hardware: All other
: P3 major
Target Milestone: ---
Assignee: Xerces-J Developers Mailing List
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-09-06 16:20 UTC by Andrew Ferguson
Modified: 2004-11-21 23:24 UTC (History)
1 user (show)



Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Andrew Ferguson 2004-09-06 16:20:14 UTC
hi,

 I've logged the version as "unspecified" as I'm not sure how to get this 
information, but it is the version in the first release candidate of jre5.0

 I am almost certain this is a bug in Xerces - i have an xml instance document 
which starts
 
========
    <?xml version='1.0'?>
    
    <!DOCTYPE PARTLIST SYSTEM 'http://www.arm.com/warehouse/warehouse-04.dtd' [
        <!ENTITY sqltest_external SYSTEM 'SQL EXPRESSION'>  <!-- am not getting 
notified about this via EntityResolver
        <!ENTITY sqltest_internal 'SQL EXPRESSION'>
    ]>
     
    <PARTLIST>
========
 
where I was hoping to use EntityResolver to pick up both the dtd reference, and 
the "sqltest_external" entity
 
Currently, using the xerces distribution inside jre5.0 only the dtd reference 
is reported - but /not/ the external entity "sqltest_external". I've found 
other listener/handler API for finding out that these entities are in the 
document and are parsed, but would like to use EntityResolver to process 
the "SQL EXPRESSION" so that the result is substituted for &sql_external; 
 
this is something that doesn't seem possible with DeclHandler, or LexicalHandler
 
the sax javadoc for EntityResolver says: "The XML reader will then allow the 
application to intercept any external entities (including the external DTD 
subset and external parameter entities, if any) before including them."
 
so my thinking is that the implementation is not honouring its javadoc contract?

thanks,
Andrew