DTD references depth control
Dmitry Potapov <[email protected]>
| Newsgroups | gmane.text.xml.xerces-j.user |
|---|---|
| Message-ID | <[email protected]> |
Hello everyone, I have a small xml file (2 KB, attached), which contains DTD with entities referencing other references, which in turn references yet another references and so on. I've passed it to sax.Counter sample 20 minutes ago and it still trying to process this file. No exceptions, no errors. (Even OutOfMemoryException will be fine for me). Memory consumption grows but it is not linear, it look like like "memory = ln(time)" (see attachment) Is there any way to control DTD references depth, so I can throws SAXException on such files? Or, probably there is already option to control this present? I haven't found one in samples/sax/Counter.java. Or, probably there is a flag which disables entities resolving? P.S. I've tried to turn on all validations in sample, but nothing changed. -- Thanks in advance, Dmitry --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
memory.png
(image/png, 46.8 KB) - not displayed
diehard.xml
(application/xml, 2.1 KB)
<?xml version="1.0"?> <!DOCTYPE diehard [ <!ELEMENT diehard (#PCDATA)> <!ENTITY die0 "dieahahadieahahadieahahadieahahadieahahadieahahadieahahadieahahadieahahadieahahadieahahadieahahadieahahadieahahadieahahadieahahadieahahadieahahadieahahadieahahadieahahadieahahadieahahadieahahadieahahadieahahadieahahadieahahadieahahadieahahadieahahadieahahadieahahadieahahadieahahadieahahadieahahadieahahadieahahadieahahadieahahadieahahadieahahadieahahadieahahadieahahadieahahadieahahadieahahadieahahadieahahadieahahadieahahadieahahadieahahadieahahadieahahadieahahadieahahadieahahadieahahadieahahadieahahadieahahadieahahadieahahadieahahadieahahadieahahadieahahadieahahadieahahadieahahadieahahadieahahadieahahadieahahadieahahadieahahadieahahadieahahadieahahadieahahadieahahadieahahadieahahadieahahadieahahadieahahadieahahadieahahadieahahadieahahadieahahadieahahadieahahadieahahadieahahadieahahadieahahadieahahadieahahadieahahadieahahadieahahadieahahadieahahadieahahadieahahadieahahadieahahadieahahadieahahadieahahadieahahadieahahadieahahadieahahadieahahadieahahadieahahadieahahadieahahadieahahadieahahadieahahadieahahadieahaha"> <!ENTITY die1 "&die0;&die0;"> <!ENTITY die2 "&die1;&die1;"> <!ENTITY die3 "&die2;&die2;"> <!ENTITY die4 "&die3;&die3;"> <!ENTITY die5 "&die4;&die4;"> <!ENTITY die6 "&die5;&die5;"> <!ENTITY die7 "&die6;&die6;"> <!ENTITY die8 "&die7;&die7;"> <!ENTITY die9 "&die8;&die8;"> <!ENTITY die10 "&die9;&die9;"> <!ENTITY die11 "&die10;&die10;"> <!ENTITY die12 "&die11;&die11;"> <!ENTITY die13 "&die12;&die12;"> <!ENTITY die14 "&die13;&die13;"> <!ENTITY die15 "&die14;&die14;"> <!ENTITY die16 "&die15;&die15;"> <!ENTITY die17 "&die16;&die16;"> <!ENTITY die18 "&die17;&die17;"> <!ENTITY die19 "&die18;&die18;"> <!ENTITY die20 "&die19;&die19;"> <!ENTITY die21 "&die20;&die20;"> <!ENTITY die22 "&die21;&die21;"> <!ENTITY die23 "&die22;&die22;"> <!ENTITY die24 "&die23;&die23;"> <!ENTITY die25 "&die24;&die24;"> <!ENTITY die26 "&die25;&die25;"> <!ENTITY die27 "&die26;&die26;"> <!ENTITY die28 "&die27;&die27;"> <!ENTITY die29 "&die28;&die28;"> <!ENTITY die30 "&die29;&die29;"> <!ENTITY die31 "&die30;&die30;"> <!ENTITY die32 "&die31;&die31;"> ]> <diehard location="&die32;">R.I.P</diehard>