[Xerces][XSD] Ignorer les noeuds <annotation/> lors d'un preparseGrammar()
Bonjour,
Je développe une application qui doit calculer des métriques sur des XML Schemas.
Pour cela j'utilise l'API Xerces pour manger mes schemas et obtenir un com.sun.org.apache.xerces.internal.xs.XSModel.
Plus exactement j'utilise com.sun.org.apache.xerces.internal.parsers.XMLGrammarPreparser
comme le suggère la FAQ de Xerces
J'aimerais ignorer lors du preparse de ces grammaires les noeuds annotations car ceux-ci me font exploser la mémoire de la JVM sur certains XML Schemas très lourds en documentations (jxdm.xsd).
Sur l'exemple suivant:
Code:
1 2 3 4 5 6 7 8 9
|
<?xml version="1.0" encoding="UTF-8"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.yienyien.net/exemple" xmlns:tns="http://www.yienyien.net/exemple" elementFormDefault="qualified">
<element name="top" type="string">
<annotation>
<documentation>Une documentation</documentation>
</annotation>
</element>
</schema> |
j'aimerai que la méthode XMLGrammarPreparser.preparseGrammar() n'enregistre pas en mémoire la chaine "Une documentation". Il y a t-il une Feature à positionner qui m'aurait échappée ?
Merci d'avance