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

XSL/XSLT/XPATH XML Discussion :

[XSLT] Désactiver la DTD


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    78
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 78
    Points : 62
    Points
    62
    Par défaut [XSLT] Désactiver la DTD
    Bonjour,

    J'effectue une transformation identité avec le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    	<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
    	<xsl:template match="node()">
    		<xsl:copy>
    			<xsl:apply-templates select="node()|@*"/>
    		</xsl:copy>
    	</xsl:template>
    	<xsl:template match="text()">
    		<xsl:value-of select="."/>
    	</xsl:template>
    	<xsl:template match="@*">
    		<xsl:attribute name="{name()}"><xsl:value-of select="."/></xsl:attribute>
    	</xsl:template>	
    </xsl:stylesheet>
    Mais au lieu d'avoir une identité pure, le fichier en sortie contient les attributs par défaut définis dans le DTD lorsqu'ils ne sont pas définis dans le XML source.

    Est-il possible de désactiver ceci même si ce n'est je suppose pas conseillé ? J'ai besoin d'obtenir en sortie exactement le même fichier pour que les composants intéragissant avec ne soient pas perdus.

    D'avance merci pour vos réponses.

  2. #2
    Expert éminent
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Points : 7 103
    Points
    7 103
    Par défaut
    Bonjour,

    la réponse va dépendre du parseur XML que tu utilises ; si c'est Xerces, par exemple, il existe 2 "features" (http://xerces.apache.org/xerces2-j/f...tml#validation et http://apache.org/xml/features/nonva...ad-dtd-grammar) qui, initialisées à false, neutralisent ce comportement.
    FAQ XML
    ------------
    « Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser »
    Giacomo Leopardi

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    78
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 78
    Points : 62
    Points
    62
    Par défaut
    Merci, je sais maintenant dans quelle voix chercher.

    En fait j'effectue la transformation XSLT dans une tâche Ant (sous Eclipse), j'ai donc suite à ton post ajouté les lignes suivantes dans mes balises XSLT:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    			<factory name="org.apache.xalan.processor.TransformerFactoryImpl">
    			    <attribute name="http://apache.org/xml/features/validation/dynamic" value="false"/>
    			</factory>
    J'ai maintenant une erreur (selon les essais) :
    Non pris en charge : http://apache.org/xml/features/validation/dynamic
    ou
    http://apache.org/xml/features/validation
    ou
    Non pris en charge : http://xml.org/sax/features/validation

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    78
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 78
    Points : 62
    Points
    62
    Par défaut
    Aie, peut-il s'agir d'un problème de proxy par hasard, ces 'features' étant identifiées par des URL ?

Discussions similaires

  1. [XSLT][DTD] Reconnaitre le DTD associé à un XML
    Par JanSanKar dans le forum XSL/XSLT/XPATH
    Réponses: 7
    Dernier message: 23/11/2007, 01h39
  2. Réponses: 3
    Dernier message: 13/12/2006, 09h19
  3. DTD, XSD, XSLT validateur
    Par Emplyst dans le forum Format d'échange (XML, JSON...)
    Réponses: 2
    Dernier message: 24/07/2006, 22h55
  4. [xslt] déclaration DTD
    Par yos dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 29/09/2005, 17h15

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