IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Valider XML Discussion :

java oracle validation DTD [DTD]


Sujet :

Valider XML

  1. #1
    Membre confirmé Avatar de gojira
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    94
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 94
    Par défaut java oracle validation DTD
    Bonjour à tous,

    Tout d'abord je m'excuse si je n'ai pas posté ce message au bon endroit, à vrai dire je ne savais pas vraiment si l'erreur était due à oracle, java, xml, xsl, dtd, ant ou eclipse

    J'ai un procès ANT qui permet sous ECLIPSE de générer un deliver java.
    Le processus fonctionnait jusqu'à la semaine dernière, rien n'a été modifié, pourtant depuis hier j'ai une erreur
    BUILD FAILED
    build.xml:121: javax.xml.transform.TransformerException: javax.xml.transform.TransformerException: com.sun.org.apache.xml.internal.utils.WrappedRuntimeException: The markup declarations contained or pointed to by the document type declaration must be well-formed.
    dans le build.xml de ANT est dans la partie qui plante (ligne 121) est la suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <xmldecl file='${temp}/jspc_web.xml'/>
    <xslt basedir="${transform}/source" 
    	  destdir="${transform}/destination" 
    	  extension=".xml" style="${descriptor.stylesheet}">
    	<param name="chunk" expression="${temp}/jspc_web.xml"/>
    </xslt>
    le descriptor.stylesheet est un fichier XSL qui est définit de la façon suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?xml version="1.0" encoding="UTF-8"?>
     
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
     
    	<!-- 1. Default treatment -->
     
    	<!-- output web.xml descriptor -->
    	<xsl:output method="xml" encoding="ISO-8859-1" omit-xml-declaration="no"
    		doctype-public="-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
    		doctype-system="http://java.sun.com/dtd/web-app_2_3.dtd"/>
    Je me suis aperçu que depuis quelques jours le site http://java.sun.com/dtd (tel que donné dans google quand on recherche la liste des dtd disponibles) est mort et que tous les dtd type "http://java.sun.com/dtd/web-app_2_3.dtd" ne donnent rien... (merci Oracle... )

    En faisant une recherche j'ai trouvé le dtd sur un autre URL:
    http://www.sun.com/software/dtd/apps...-app_2_3-0.dtd

    (en plus ils ont renommé les dtd \(^o^)/ )

    Je l'ai remplacé dans le XSL mais ça ne change rien

    En éditant le DTD je n'ai rien vu de suspect.

    Du coup après avoir fait pas mal de tentatives et fait de nombreuses recherches je viens vers la communauté de DEVELOPPEZ pour savoir si vous aviez une idée du problème? De ce qui peut perturber l'analyse du XML via le XSL et donc le DTD?????

    Car je vous le redis, le code n'a pas du tout été modifié et cela fonctionnait la semaine dernière. Seul différence l'URL de base a changé...

    du coup je ne vois pas quel pourrait être le problème.

    Si vous avez une idée ou une piste, car j'avoue sécher...

    Merci d'avance

    Cordialement
    Jack

  2. #2
    Membre confirmé Avatar de gojira
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    94
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 94
    Par défaut
    Résolu... désolé pour le dérangement j'aurais du chercher encore plus...

    En fait le build.XML de ANT utilise le XSL pour reconstruire un XML... et donc le XSL assure la validation du XML qui commence par:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
    <web-app id="WebApp">
    or toutes les adresses de type http://java.sun.com sont cassées jusqu'à maintenant et depuis deux jours...

    Donc en changeant le XML au niveau déclaration du DOCTYPE par le bon lien qui fonctionne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://www.sun.com/software/dtd/appserver/sun-web-app_2_3-0.dtd">
    <web-app id="WebApp">
    ça re-fonctionne correctement...

    Conclusion:
    1) il fallait changer l'adresse du DTD à la fois sur le XSL et le XML
    2) les liens d'origine de java ont été changés par Oracle et ce sans prévenir...

    Donc si vous utilisez des dtd de java... et que ce qui marchait il y a deux jours ne fonctionne plus... allez voir du côté d'Oracle s'ils n'ont pas foutu le bordel...

  3. #3
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    1) il fallait changer l'adresse du DTD à la fois sur le XSL et le XML
    ? C'est pas le XSL qui génère le XML, en lui donnant cette valeur ? Ça ne devrait faire qu'un seul endroit...

    Donc si vous utilisez des dtd de java... et que ce qui marchait il y a deux jours ne fonctionne plus... allez voir du côté d'Oracle s'ils n'ont pas foutu le bordel...
    Comme beaucoup de gens j'en utilise plein, mais ce sont des URIs avant d'être des URLs.
    Mes programmes ne vont pas aller voir ce qu'il y a là-dedans, ils gardent une copie locale de ce que cette URI est censée désigner. Je serais bien infoutu de te dire comment faire pour que les xsl tasks de ant fassent pareil... Je suis même pas convaincu que ça soit possible.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XML]EntityResolver / Validation DTD fourni dans le jar
    Par Julaie95 dans le forum Format d'échange (XML, JSON...)
    Réponses: 4
    Dernier message: 30/12/2008, 23h37
  2. [xml][Java] Comment valider un fichier XML?
    Par ederf dans le forum Valider
    Réponses: 1
    Dernier message: 06/03/2006, 15h51
  3. [debutant] erreur de validation DTD/schema
    Par loic_86 dans le forum Valider
    Réponses: 1
    Dernier message: 13/01/2006, 22h04
  4. [DOM] XML et validation DTD
    Par getupa dans le forum Format d'échange (XML, JSON...)
    Réponses: 6
    Dernier message: 18/11/2005, 15h05
  5. [java][Oracle]Ouvrir un fichier(blob) avec le browser
    Par marsup54 dans le forum Servlets/JSP
    Réponses: 8
    Dernier message: 11/09/2003, 13h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo