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 :

Résultats différents sur la lecture de valeurs


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Futur Membre du Club
    Inscrit en
    Novembre 2007
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 7
    Points : 6
    Points
    6
    Par défaut Résultats différents sur la lecture de valeurs
    Bonjour à tous,

    J'ai eu feuille de style XSLT qui ne fourni pas le même résultat chez moi, et chez le client pour qui j'ai développé ça.

    Je détaille. Sur la balise (sur laquelle je n'applique aucune modification) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <champ code="RAP_TEST" libelle="Lelibelle">LAVALEURDELABALISE</champ>
    le client obtient dans le fichier résultat :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <champ value="LAVALEURDELABALISE" code="RAP_TEST" libelle="Lelibelle"/>
    alors que chez moi, aucune modification n'est apportée, la valeur n'est pas insérée dans l'attribut value. Et il faudrait que ça reste comme ça, pour des raisons de traitements postérieurs.

    Est-ce que quelqu'un sait d'où ça peut venir ? L'environnement d'exécution peut-il jouer un rôle (version de Windows ou de Java) ?

    Merci beaucoup pour toute réponse, c'est un problème très urgent.

    Martin.

  2. #2
    Modérateur

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

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 557
    Points : 21 616
    Points
    21 616
    Par défaut
    Peut-être que l'un d'entre vous entre ton client et toi utilisez un moteur XSLT pas standard (mais genre, du tout, quoi.)

    Ou peut-être que ton client dit qu'il applique juste la feuille que tu lui passes, et ment. (Mais bon, j'imagine que tu enquêtes déjà en ce sens comme tu peux.)

    En tout cas, je ne connais pas moteur XSLT qui ferait des bricolages amenant à quelque chose de ce genre.

    Mais ça aiderait si tu postais le code XSLT qui génère ce résultat, je suppose.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Futur Membre du Club
    Inscrit en
    Novembre 2007
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 7
    Points : 6
    Points
    6
    Par défaut
    Merci pour ta réponse thelvin

    Ca m'étonnerait beaucoup que le client s'amuse à nous mentir là dessus, parce que si ça marche pas c'est lui qui sera embêté, pas nous. Donc j'écarte cette hypothèse.

    Je n'y connais pas grand chose en moteurs XSLT, donc je ne peux pas trop te dire lequel j'utilise.. Mais je n'ai rien bidouillé à ce niveau là, donc je pense utiliser un standard.
    On les trouve à quel niveau ces moteurs ?

    Ci dessous, le code de mon fichier xlst, qui fait juste une transformation sur une date, et DEVRAIT garder tout le reste tel quel :

    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    <?xml version="1.0" encoding="utf-8"?>
    <xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
     
      <xsl:output method="xml" indent="yes" standalone="yes"/>
     
      <xsl:template match="@*|node()">
        <xsl:copy><xsl:apply-templates select="@*|node()" /></xsl:copy>
      </xsl:template>
     
      <xsl:template match="SEA_DT_DEBUT">
        <xsl:element name="{local-name()}">
          <xsl:if test="@*|node() != ''">
          <xsl:call-template name="date_format">
            <xsl:with-param name="date" select="@*|node()" />
          </xsl:call-template>
        </xsl:if>
        </xsl:element>
      </xsl:template>
     
      <xsl:template name="date_format">
        <xsl:param name="date" select="" />  
          <xsl:value-of select="substring($date, 7, 4)" />
          <xsl:text>-</xsl:text>
          <xsl:value-of select="substring($date, 4, 2)" />
          <xsl:text>-</xsl:text>
          <xsl:value-of select="substring($date, 1, 2)" />
          <xsl:text>+01:00</xsl:text>
      </xsl:template>
     
    </xsl:stylesheet>
    Au fait, la transformation est lancée via le code Java suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    TransformerFactory transFact = TransformerFactory.newInstance();
    Transformer trans = transFact.newTransformer(new StreamSource(xsltFile));
    trans.transform(new StreamSource(xmlTempFile), new StreamResult(xmlFile));
    Tout ce que je sais c'est que mon client est sur un Windows Server 2008 avec une JRE 1.5, alors que je suis sur un XP SP3 avec JRE 1.6.

    Merci encore pour ton aide.

  4. #4
    Rédacteur

    Avatar de Erwy
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2003
    Messages
    4 967
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2003
    Messages : 4 967
    Points : 10 927
    Points
    10 927
    Par défaut
    Pas sûr mais ceci, me parait douteux
    Ce code c'est du 1.0, et il n'y a que Saxon et altova qui implémentent la 2.0, utilisez vous un de ces deux parseurs et est-ce aussi le cas de votre client ?

    Je n'ai aucune idée de comment peut tourner du code xslt 1.0 quand il est déclaré en 2.0 sur un moteur qui n'est prévue pour tourner qu'avec du 1.0.
    Mais je ne serais pas étonné de quelques bizarreries

  5. #5
    Futur Membre du Club
    Inscrit en
    Novembre 2007
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 7
    Points : 6
    Points
    6
    Par défaut
    Merci pour la réponse ! J'ai abandonné Xslt hier, parce que je devais trouver une solution rapidement, mais quand j'aurai un moment, je reviendrai là dessus et je testerai.

Discussions similaires

  1. [SimpleXML] 3 résultats différents sur 3 hébergeurs
    Par elcoyotos dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 28/01/2012, 08h15
  2. Réponses: 3
    Dernier message: 28/08/2008, 10h47
  3. [AJAX] résultat différent en local et sur hébergeur
    Par chelguera dans le forum Général JavaScript
    Réponses: 19
    Dernier message: 31/10/2007, 15h25
  4. Réponses: 11
    Dernier message: 30/08/2007, 22h35
  5. [MySQL] Résultat de requête différent sur 2 serveurs identiques
    Par schlitters dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 17/12/2005, 00h24

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