Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[Xerces] comment ne pas prendre en compte la DTD

5 réponses
Avatar
Axel R.
Bonjour,
J'ai des fichiers xml a parser qui contient un DOCTYPE, mais je voudrais
qu'il ne vérifie pas la présence de cette DTD.

Comment faire ?

Merci,

Axel

5 réponses

Avatar
Pimousse

Bonjour,
J'ai des fichiers xml a parser qui contient un DOCTYPE, mais je voudrais
qu'il ne vérifie pas la présence de cette DTD.

Comment faire ?

Merci,

Axel


*si xercès ne trouve pas la DTD ou le schéma, il ne peut pas parser ...*
je comprends pas trop ta question ... si tu ne fournis pas au parser le
"mode d'emploi", cmt faire ?

Avatar
Axel R.
*si xercès ne trouve pas la DTD ou le schéma, il ne peut pas parser ...*
je comprends pas trop ta question ... si tu ne fournis pas au parser le
"mode d'emploi", cmt faire ?


En fait, il s'agit de Xalan, mais c'est le même probleme.

C'est pas le mode d'emploi que je lui fournis pas, c'est la grammaire,
le mode d'emploi, c'est le XSL que je fournis bien.

TransformerFactory tFactory = TransformerFactory.newInstance();
Transformer transformer = tFactory.newTransformer(new
StreamSource(xslFile));
transformer.transform(new StreamSource(xmlFile), new StreamResult(out));

Le plus "marrant", c'est que si je suprime la ligne DOCTYPE avec un
éditeur de texte, ça fonctionne parfaitement...

Bref, j'ai du mal à comprendre pourquoi il essaye de lire ma DTD (qui
n'existe pas là où c'est marqué), d'autant plus que d'après ce que j'ai
lu, il ne vérifie pas la syntaxe du XML si elle est valide avec la DTD,
mais il essaye d'acceder à la DTD pour une autre raison...

Axel

Avatar
Pimousse
Le plus "marrant", c'est que si je suprime la ligne DOCTYPE avec un
éditeur de texte, ça fonctionne parfaitement...


xalan je connais pas ...
pour ce qui est de xercès, s'il ne trouve pas la DTD, il scanne qd même
ton document et te dis : ok, document parsé. Alors qu'en réalité, il n'a
rien fait du tout.

Bref, j'ai du mal à comprendre pourquoi il essaye de lire ma DTD (qui
n'existe pas là où c'est marqué), d'autant plus que d'après ce que j'ai
lu, il ne vérifie pas la syntaxe du XML si elle est valide avec la DTD,
mais il essaye d'acceder à la DTD pour une autre raison...


avec xercès, il y a 2 opérations distinctes : vérifier que le doc xml
est valide, et le parser.

désolé de ne pas pouvoir t'aider.

Avatar
Utilisateur1
"Pimousse" a écrit dans le message de
news:
Le plus "marrant", c'est que si je suprime la ligne DOCTYPE avec un
éditeur de texte, ça fonctionne parfaitement...


xalan je connais pas ...
pour ce qui est de xercès, s'il ne trouve pas la DTD, il scanne qd même
ton document et te dis : ok, document parsé. Alors qu'en réalité, il n'a
rien fait du tout.

Bref, j'ai du mal à comprendre pourquoi il essaye de lire ma DTD (qui
n'existe pas là où c'est marqué), d'autant plus que d'après ce que j'ai
lu, il ne vérifie pas la syntaxe du XML si elle est valide avec la DTD,
mais il essaye d'acceder à la DTD pour une autre raison...


avec xercès, il y a 2 opérations distinctes : vérifier que le doc xml
est valide, et le parser.

désolé de ne pas pouvoir t'aider.


Vague souvenir : y'avait pas un setValidate(false) (ou genre ça) a faire
pour les cas ou on ne veut pas de validation? Ca suffirait peut être.


Avatar
Jerome B
Exemple en DOM,
DOMParser parser = new DOMParser();
try{
parser.setFeature( "http://xml.org/sax/features/validation", false );
parser.setFeature( "http://xml.org/sax/features/namespaces", false );
....

En SAX , ça marche aussi voir http://xml.apache.org/xerces-j/features.html

Jérôme B
http://contrepeteries.free.fr

"Utilisateur1" a écrit dans le message de news:
ca49dk$8u5$

"Pimousse" a écrit dans le message de
news:
Le plus "marrant", c'est que si je suprime la ligne DOCTYPE avec un
éditeur de texte, ça fonctionne parfaitement...


xalan je connais pas ...
pour ce qui est de xercès, s'il ne trouve pas la DTD, il scanne qd même
ton document et te dis : ok, document parsé. Alors qu'en réalité, il n'a
rien fait du tout.

Bref, j'ai du mal à comprendre pourquoi il essaye de lire ma DTD (qui
n'existe pas là où c'est marqué), d'autant plus que d'après ce que
j'ai



lu, il ne vérifie pas la syntaxe du XML si elle est valide avec la
DTD,



mais il essaye d'acceder à la DTD pour une autre raison...


avec xercès, il y a 2 opérations distinctes : vérifier que le doc xml
est valide, et le parser.

désolé de ne pas pouvoir t'aider.


Vague souvenir : y'avait pas un setValidate(false) (ou genre ça) a faire
pour les cas ou on ne veut pas de validation? Ca suffirait peut être.