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 :

XSL sur PHP : resultat aleatoire!


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 103
    Points : 98
    Points
    98
    Par défaut XSL sur PHP : resultat aleatoire!
    Bonjour,
    j'effectue des transformation xsl sur un site web xml vers html "enrichie de js"... celles ci peuvent se faire sur le client, ou sur le serveur

    Lez probleme c'est que sur le serveur (wamp php5) le resultat de la transformation est de temps en temps aleatoire :
    c'est a dir que tout d'un coup il va me parser 3 fois un noeux de texte sans raisons (je l'ai même vu me sortir plusieurs fois des noeux genre div sans plus de raison)...

    C'est assé hallucinant je trouve qu'une meme feuille de style xsl puisse avoir des resultat differents avec les memes fichiers xml....

    Voila le code php :
    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
    if (!isset($select[0][0])) die("<error>Aucun noeux selectionné</error>");
    			if ($select[0][0]->nodeName == "wobj"){
     
    				$xml = new DOMDocument;
    				$xml->loadXML($select[0][3]->document->saveXML($select[0][0]));
     
    				$xsl = new DOMDocument;
    				$xsl->load('main/builder.xsl');
     
    				// Configuration du transformateur
    				$proc = new XSLTProcessor;
    				$proc->importStyleSheet($xsl); // attachement des règles xsl
     
    			array_push($results, array($vals['id'], $proc->transformToXML($xml)));
    			}

    la partie d'un xml qui chie souvent :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <div id="sendBox" db:style="position:absolute; left:13px; right:0px; bottom:0px; text-align:left">
    				<div id="Logged" style="display:block">
    					<input id='txt' style="height:1.5em; width:69%; display:inline"></input>
    					<button id="sendit" style="height:1.5em; width:30%; background-color:white; display:inline; border:none">Send<event id="onclick">/*code js */</event></button></div>
    				<div id="notLogged" style="display:none">
    					<b>Enregistrez vous pour utiliser la shoutbox!!</b>
    				</div>
    	</div>

    Par exemple tout d'un coup il me sort :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <div id="notLogged" style="display:none">
    					<b>Enregistrez vous pour utiliser la shoutbox!!</b>
    Enregistrez vous pour utiliser la shoutbox!!
    				</div>
    Enregistrez vous pour utiliser la shoutbox!!
    	</div>

    Le morceaux d'xsl qui est censsé pas fair ce genre de choses (enfin je croi pas ^^')

    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
     
    	<xsl:template match="*">	
    		<xsl:param name="dipher">false</xsl:param>
    		<xsl:param name="path"></xsl:param>
    		<xsl:param name="ID">{##ID##}_<xsl:value-of select="generate-id()"/>_<xsl:value-of select="@id"/></xsl:param>
     
    			<xsl:variable name = "script" >
    					<xsl:if test="./@id != ''">
    						if (!document.getElementById("<xsl:value-of select="$ID"/>")) alert("nod not found : <xsl:value-of select="$ID"/>");
    						<xsl:value-of select="$path"/>.<xsl:value-of select="./@id"/> = {up : <xsl:value-of select="$path"/>, _nod : document.getElementById("<xsl:value-of select="$ID"/>")};
    					</xsl:if>
     
    			</xsl:variable>
    			<xsl:if test="$script != ''">
    				<pre style="display:none">
    					<xsl:value-of select="$script"/>
    				</pre>				
    			</xsl:if>	
     
     
     
    		<xsl:copy>
    			<xsl:attribute name="id"><xsl:value-of select="$ID"/></xsl:attribute>
    			<xsl:copy-of select="./@*[name() != 'id'][namespace-uri() != 'http://www.majax.org/db']"/>
    			<xsl:apply-templates select="./*[name() != 'event'][name() != 'trigger'][name() != 'function'] | text()">
    				<xsl:with-param name="path"><xsl:value-of select="$path"/><xsl:if test="./@id != ''">.<xsl:value-of select="./@id"/></xsl:if></xsl:with-param>
    			</xsl:apply-templates>
    		</xsl:copy>
    	</xsl:template>
    la div "pre" (la variable) ne contient que du javascript...

    Mais c'est super aleatoire !!! sa arrive rarement ... et encor plus rarement il m'a sortie plusieurs copies de la div "Logged"....


    Je suis un peu etonné je croyai qu'XSL etait un language serieux :o

    Je suis un peu bluffé du coup :$ des idées?

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 103
    Points : 98
    Points
    98
    Par défaut
    personne a deja vu ça ?

Discussions similaires

  1. [XSL] Installation XSL sur php 5.2.2
    Par flash_math dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 08/05/2007, 22h29
  2. [XSLT] Question sur xsl et php
    Par mathis94 dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 15/05/2006, 10h50
  3. [FLASH MX 2004] Traitements sur le resultat d'un AS.
    Par Med_Prog dans le forum Flash
    Réponses: 8
    Dernier message: 21/11/2004, 13h59
  4. Réponses: 7
    Dernier message: 21/04/2004, 17h16
  5. Pd de transformation XML/XSL sur un windows 2000 server US
    Par Sylvain Leray dans le forum XMLRAD
    Réponses: 3
    Dernier message: 24/03/2003, 11h00

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