From: DENIS Christophe (CDENIS@micropole-univers.com)
Date: 15/05/2003 - 09:20
bonjour
je dois faire une tranformation en java et j'utilise les paquages xt de
jclark pour le faire.
le probleme c'est qu'il ne trouve pas la dtd associe a mon fichier XML alors
que ma dtd est bien dans le meme repertoire.
voici la ligne dans le fichier xml <!DOCTYPE structure SYSTEM
"structure.dtd">
ci join , mon programme java qui fait la transformation ainsi que le message
d'erreur qu'il genere.
je peux pas mettre de chemin complet car je n'ai pas la main sur le fichier
xml.
le fichier xml suit bien la dtd ca y a pas de probleme.
par test j'ai enleve la ligne dans mon xml et la transformation se fait
bien.
n'aurai t'il pas un moyen de dire au parseur de ne pas valider la structure
du xml par la dtd?
par avance merci
Christophe DENIS
----------------programme de lancement
public static void fusionneXT(String xslName,String xmlName,Writer
resultWriter,List paramname,List paramvalue){
try{
XSLProcessorImpl xsl = new XSLProcessorImpl();
xsl.setParser(new com.jclark.xml.sax.CommentDriver());
if (paramname!=null){
int taille = paramname.size();
for (int i = 0;i<taille;i++){
xsl.setParameter((String)paramname.get(i),(String)paramvalue.get(i));
}
}
xsl.setDocumentHandler(new MonHTMLOutputHandler(resultWriter,true));
xsl.loadStylesheet(new InputSource(new FileInputStream(xslName)));
xsl.parse(new InputSource(new FileInputStream(xmlName)));
}catch(IOException e) {
log.error("IOException"+e);
e.printStackTrace();
}
catch(org.xml.sax.SAXException e) {
log.error("SAXException"+e);
e.printStackTrace();
}catch(Exception e) {
log.error("Exception"+e);
e.printStackTrace();
}
}
-----------------message d'erreur
IOExceptionjava.net.MalformedURLException: no protocol: structure.dtd
java.net.MalformedURLException: no protocol: structure.dtd
at java.net.URL.<init>(URL.java:468)
at java.net.URL.<init>(URL.java:371)
at com.jclark.xml.sax.Driver.open(Driver.java)
at com.jclark.xml.parse.EntityParser.prologAction(EntityParser.java)
at com.jclark.xml.parse.EntityParser.parseDecls(EntityParser.java)
at
com.jclark.xml.parse.EntityParser.parseDocumentEntity(EntityParser.java)
at com.jclark.xml.parse.DocumentParser.parse(DocumentParser.java)
at com.jclark.xml.parse.base.ParserImpl.parseDocument(ParserImpl.java)
at com.jclark.xml.sax.Driver.parse(Driver.java)
at com.jclark.xsl.sax.XMLProcessorImpl.load(Unknown Source)
at com.jclark.xsl.sax.XSLProcessorImpl.parse(Unknown Source)
at fr.urssaf.sepia.common.Fusion.fusionneXT(Fusion.java:68)
--
Devenez redacteur <XML>fr et contribuez au developpement du
xml francophone (http://xmlfr.org/infos/redacteurs/) !
Liste de diffusion "xml-tech@xmlfr.org" (http://xmlfr.org).
Cette liste est a votre disposition pour discuter en francais de
tout sujet technique lie a XML.
Pour resilier votre abonnement, envoyez un message contenant
la commande "unsubscribe" a xml-tech-request@xmlfr.org
(mailto:xml-tech-request@xmlfr.org?Subject=unsubscribe)
Archive générée par hypermail 2.1.3 le 28/06/2004 - 11:06 UTC
webmaster@xmlfr.org
|