Hi,

I'm recursively processing DITA maps using the SAXParser with XMLGrammarPool. All files are in the default namespace but have different XML schemas associated (set my @xsi:noNamespaceSchemaLocation).

The problem is that the XMLGrammarPool as well as the SAXParser assumes that the schema only depends on the targetNamespace. Thus, they will use the same schema for a topic file as it used for a map file.

I already implemented my own XMLGrammarPool class that checks if two schema descriptions are equal based on their system id. But it seems that the parser stores a mapping between namespace and systemId. Thus, it asks the grammar pool for a schema with the map system id when processing a topic.

My current workaround is to create a new instance of the SAXParser for each file I'm processing. This works fine, but I'm wondering if I could improve the performance by reusing the same instance for all files. But I couldn't find out how to change the behavior for getting the grammar!?

Thanks for any hints.

Regards,
Patrik

---------------------------------------------------------------------
To unsubscribe, e-mail: j-users-unsubscr...@xerces.apache.org
For additional commands, e-mail: j-users-h...@xerces.apache.org

Reply via email to