Hello
I attempting to parse an xml file using Xerces that references external 
paramater entities like below. I need to use an entity resolver, but the 
systemid passed by the parser is only partially constructed. 

Is there a parser feature that I can set to inform the parser to construct the 
fully qualified URL for the systemid's in the w3centities.ent file? 

If I don't use an entity resolver, Xerces knows how to handle the external 
entity references. Why is this?


<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mpd SYSTEM "maps.dtd" [
<!ENTITY % w3centities PUBLIC "-//W3C//ENTITIES Combined Set//EN//XML" 
"http://www.w3.org/2003/entities/2007/w3centities.ent";>
%w3centities; 

>>>> When the parser sees the above ENTITY it calls the entity resolver and 
>>>> passes a publicid,systemid
>>>> publicid="-//W3C//ENTITIES Combined Set//EN//XML" 
>>>> systemid=http://www.w3.org/2003/entities/2007/w3centities.ent
>>>> I expect this.

The URL http://www.w3.org/2003/entities/2007/w3centities.ent points to an 
entity subset as given below:
<!ENTITY % isobox PUBLIC "-//W3C//ENTITIES Box and Line Drawing//EN" 
"isobox.ent">
%isobox;
<!ENTITY % isocyr1 PUBLIC "-//W3C//ENTITIES Russian Cyrillic//EN" "isocyr1.ent">
%isocyr1;
<!ENTITY % isocyr2 PUBLIC "-//W3C//ENTITIES Non-Russian Cyrillic//EN" 
"isocyr2.ent">
%isocyr2;
<!ENTITY % isodia PUBLIC "-//W3C//ENTITIES Diacritical Marks//EN" "isodia.ent">
%isodia;

>>>> When the parser sees the above ENTITY it calls the entity resolver and 
>>>> passes a publicid,systemid
>>>> publicid="-//W3C//ENTITIES Box and Line Drawing//EN" systemid="isobox.ent"
>>>> The problem is that the systemid REALLY NEEDS TO BE 
>>>> "http://www.w3.org/2003/entities/2007/isobox.ent";!!!!

Reply via email to