En se référant à un local DTD en Java

J'ai un peu de XML que je suis d'analyse avec un analyseur SAX en Java. Il commence avec ce préambule:

<!DOCTYPE math 
    PUBLIC "-//W3C//DTD MathML 3.0//EN"
           "http://www.w3.org/Math/DTD/mathml3/mathml3.dtd">

Comment puis-je changer cela d'utiliser un local DTD?

Je suppose que je pourrais faire quelque chose comme ceci:

<!DOCTYPE math 
    PUBLIC "-//W3C//DTD MathML 3.0//EN"
           "file:///c:/MathML/mathml3.dtd">

Pas exactement comme ça, mais quelque chose comme ça. Cependant, j'ai besoin de le chemin pour être indépendant du système de l'utilisateur.

Comment puis-je utiliser un local DTD avec un chemin relatif au chemin de classe?

Peut-être utile de regarder cette question: stackoverflow.com/questions/243728/...
Une autre possibilité est d'utiliser un Catalogue XML qui résout le doctype à un fichier local sans modifier le XML. Cela pousse le changement d'un paramètre à l'analyseur d'invocation.

OriginalL'auteur Paul Reiners | 2011-06-13