jackrabbit-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Maxime Bégnis <max...@neodoc.biz>
Subject Re: XML files with external DTD indexing
Date Wed, 26 May 2010 08:53:35 GMT
Hi Jukka,
> 2010/5/26 Maxime Bégnis <maxime@neodoc.biz>:
>   
>> When I store a DITA xml file in the JCR, I get this error :
>> WARN org.apache.jackrabbit.core.query.lucene.NodeIndexer:398 - Exception
>> while indexing binary property: java.io.FileNotFoundException:
>> http://docs.oasis-open.org/dita/dtd/concept.dtd
>>
>> I suppose the file is not indexed.
>>
>> Is there a way to prevent loading of external DTDs and entities?
>>     
>
> The indexer should not try to load any external resources. Which
> version of Jackrabbit are you on? Can you post the full exception
> stack trace associated with the logged warning?
>   

I use Jackrabbit 1.4, the exception stack trace is not printed to
standard output, I only get the WARN message above.

I found a tricky workaround, I set the system properties for the default
XML parsers to custom parsers of mine :

System.setProperty("javax.xml.parsers.DocumentBuilderFactory",
"my.package.DefaultBuilderFactory");
System.setProperty("javax.xml.parsers.SAXParserFactory",
"my.package.DefaultParserFactory");

These parsers extends the standard Xerces ones.

and in the constructor of those classes :
setFeature("http://apache.org/xml/features/nonvalidating/load-external-dtd",
false);

The application contains a lot of libraries dealing with XML stuff, so I
hope this trick won't break anything(it didn't so far).

Maxime Bégnis

> BR,
>
> Jukka Zitting
>
>   


Mime
View raw message