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] Transformer xml destiné à flash en html avec div


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 17
    Points : 6
    Points
    6
    Par défaut [XSLT] Transformer xml destiné à flash en html avec div
    Bonjour,

    voilà le xml :
    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"?>
    <zoom>
    	<image src="lien_vad.swf" x="390" y="320" scale="90" zoomable="false" ontop="true" />
    	<image src="acheter_en_ligne.swf" x="280" y="280" scale="90" zoomable="false" ontop="true" />
    	<image src="zoom_08_01_01.jpg" x="260" y="98" scale="80" zoomable="false" ontop="true" />
    	<image src="hd_ready.jpg" x="567" y="116" scale="80" zoomable="false" ontop="true" />
    	<image src="jecommande.swf" x="385" y="423" scale="100" zoomable="false" ontop="true" />
    	<image src="prix_bombe.swf" x="568" y="23" scale="100" zoomable="false" ontop="false" param1="1290" />
    	<image src="zoom_08_01.jpg" x="0" y="0" scale="50" zoomable="true" ontop="false" />
    	<text x="255" y="52" width="310" height="45" style="texte" borderColor="" backgroundColor=""><![CDATA[Résolution 1366 x 768, puissance du son 2 x 15W,<br>entrées : HDMI, S-vidéo, RCA, 2 péritel, progressive Scan, Dolby Surround.]]></text>
    	<text x="255" y="16" width="310" height="36" style="titre" borderColor="" backgroundColor=""><![CDATA[LCD PHILIPS 37PF3321]]></text>
    	<text x="360" y="243" width="190" height="20" style="rouge_jaune" color="#EC008C" border="true" borderColor="#EC008C" backgroundColor="#FFFFFF"><![CDATA[* GRAND ÉCRAN : 94 CM ! *]]></text>
    	<text x="300" y="200" width="311" height="36" style="rouge_jaune" color="#EC008C" border="true" borderColor="#EC008C" backgroundColor="#FFFFFF"><![CDATA[* OFFRE SPÉCIALE TV PAYEZ VOS ACHATS<br>EN 10 FOIS SANS FRAIS ! *]]></text>
    </zoom>

    j'ai déjà fais ça et comme je débute un peu je ne suis pas sûr que ce soit la meilleure notation :

    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
    31
     
    <?xml version="1.0" encoding="ISO-8859-1"?><!-- DWXMLSource="zoom.xml" -->
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
        <xsl:output method="html" encoding="ISO-8859-1"/>
        <xsl:template match="/">
            <html>
                <head><title>zoom</title></head>
                <body>
                    <xsl:apply-templates/>
                </body>
            </html>
        </xsl:template>    
           <xsl:template match="zoom">
    	<xsl:for-each select="image">
    	         	<xsl:choose> 
                            		<xsl:when test="substring-after(@src,'.') = 'swf'"> 
                            		<div style="position: absolute; left:{@x}; top: {@y};">
                            		<object type="application/x-shockwave-flash" data="{@src}" height="{@scale}%" width="{@scale}%">
    			<PARAM NAME="movie" VALUE="{@src}" />
    			</object>	            
    			</div>
    			</xsl:when>
    			<xsl:otherwise>
            			<div style="position: absolute; left:{@x}; top: {@y};">
    			<img src="{@src}"></img>
    			</div>
    			</xsl:otherwise>
    		</xsl:choose>				
    	</xsl:for-each>		
        </xsl:template>
    </xsl:stylesheet>

    mon problème est d'appliquer à la volée le paramètre scale...
    pour les swf c'est possible mais pour les images je ne vois pas comment faire.


    Merci d'avance pour vos réponses .

  2. #2
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 17
    Points : 6
    Points
    6
    Par défaut
    Personne ne m'aide ! snif ! alors je continu je me suis dis que l'un des moyens de connaître la taille de l'image pour pouvoir lui appliquer un scale est le php :

    fonctions.php :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    function size_scale($adresse, $scale)
    {
         $ext = strrchr($adresse,'.');   
         $ext = substr($ext,1);
         $ext = strtolower($ext);
       if ($ext !== 'gif' AND $ext !== 'jpg' AND $ext !== 'jpeg' AND $ext !== 'png') return FALSE;
       if ($ext == 'gif')                   $res1 = imagecreatefromgif($adresse);
       if ($ext == 'jpg' || $ext == 'jpeg') $res1 = imagecreatefromjpeg($adresse);
       if ($ext == 'png')                   $res1 = imagecreatefrompng($adresse);
       $x1 = imagesx($res1);
       $y1 = imagesy($res1);
    echo "<img src=\"".$adresse."\" width=\"".$x1*$scale."\"></img>";
    }

    Dans le xsl cela donnerait un truc du genre :
    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
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
     
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
        <xsl:output method="html" encoding="ISO-8859-1"/>
        <xsl:template match="/">
            <html>
                <head><title>zoom</title>
               <xsl:processing-instruction name="php"> 
            <xsl:text>include("</xsl:text> 
            <xsl:value-of select="normalize-space(fonctions)"/> 
            <xsl:text>");</xsl:text> 
            </xsl:processing-instruction>
               </head>
                <body>
                    <xsl:apply-templates/>
                </body>
            </html>
        </xsl:template>    
           <xsl:template match="zoom">
    	<xsl:for-each select="image">
    	         	<xsl:choose> 
                            		<xsl:when test="substring-after(@src,'.') = 'swf'"> 
                            		<div style="position: absolute; left:{@x}; top: {@y};">
                            		<object type="application/x-shockwave-flash" data="{@src}" height="{@scale}%" width="{@scale}%">
    			<PARAM NAME="movie" VALUE="{@src}" />
    			</object>	            
    			</div>
    			</xsl:when>
    			<xsl:otherwise>
            			<div style="position: absolute; left:{@x}; top: {@y};">
    <xsl:processing-instruction name="php"> 
            				<xsl:text>size_scale(</xsl:text> 
            				<xsl:value-of select="normalize-space(@src,@scale)"/> 
            				<xsl:text>");</xsl:text> 
    				</xsl:processing-instruction>
    			</div>
    			</xsl:otherwise>
    		</xsl:choose>				
    	</xsl:for-each>		
        </xsl:template>
    </xsl:stylesheet>
    Pensez-vous que je m'égare ?
    Je n'arrive pas à l'afficher, je ne sais plus quelle extension placer, et en plus je ne vois pas comment afficher du xml en xsl (l'inverse de ce qui est fait habituellement) en effet le fichier xml est fixe, chargé à partir d'une url j'amerais pouvoir le charger dans xsl mais je ne trouve pas comment faire simplement...

    Merci

Discussions similaires

  1. [XSLT] transformation xml en code html
    Par SkyBack dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 02/11/2009, 10h02
  2. [XSLT] transformation xml vers xml
    Par nemya dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 22/02/2006, 11h02
  3. [XSLT] aide pour faire un tableau HTML avec fusion de lignes
    Par utwor dans le forum XSL/XSLT/XPATH
    Réponses: 6
    Dernier message: 02/01/2006, 21h41
  4. [XSLT] transformation XML d'un fichier ant
    Par fornorst dans le forum XSL/XSLT/XPATH
    Réponses: 7
    Dernier message: 28/10/2005, 17h52
  5. [XSLT] transformation XML->XML en php
    Par amellouki dans le forum XSL/XSLT/XPATH
    Réponses: 5
    Dernier message: 03/03/2005, 12h32

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