Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1419 connectés 

  FORUM HardWare.fr
  Programmation
  XML/XSL

  Comment gérer des champs photos exportés de BDD avec XSLT ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Comment gérer des champs photos exportés de BDD avec XSLT ?

n°1042927
lino@
Posté le 11-04-2005 à 13:53:11  profilanswer
 

:hello: Merci d'avance si quelqu'un peut m'aider :
 
Quand je récupère en format xml les champs d'un fichier articles d'un logiciel de gestion j'obtiens par exemple :
 
<ARTICLE>
 <Record_0>
  <Code>BLABLA1</Code>
  <Designation>BLABLA</Designation>
  <Photo>/images/photo1.jpg</Photo>
 </Record_0>
 <Record_1>
  <Code>BLABLA2</Code>
  <Designation>BLABLAXXX</Designation>
  <Photo>/images/photo2.jpg</Photo>
 </Record_1>
        ....
</ARTICLE>
 
pour éditer mon champ </photo> par XSLT j'aurais besoin qu'il soit au format : <IMAGE source="images/photo1.jpg"/> ou utiliser une formule qui lise le contenu du champ <Photo> pour l'interpréter comme image.
 
comment donc obtenir cette transformation si possible sans devoir programmer autrement qu'avec XSLT ou au pire avec JavaScript.
 
D'avance merci de l'aide que vous apporterez à un pauvre néophite qui se fait sa formation au jour le jour, "sur le tas" ...
 
Bien cordialement à vous

mood
Publicité
Posté le 11-04-2005 à 13:53:11  profilanswer
 

n°1042941
FlorentG
Unité de Masse
Posté le 11-04-2005 à 14:00:05  profilanswer
 

J'viens de faire ça ce matin [:dawa] :

<img src="{Photo}">

n°1042942
FlorentG
Unité de Masse
Posté le 11-04-2005 à 14:00:14  profilanswer
 

Dans une boucle for-each, bien-sûr ;)

n°1043066
lino@
Posté le 11-04-2005 à 15:19:47  profilanswer
 

merci pour la réponse rapide.
je viens de me triturer un peu les méninges pour essayer de voir comment intégrer <img src="{Photo}"> par rapport <IMAGE source="images/photo1.jpg"/> (ce qu' attend mon .xsl actuel pour qu'il marche).
ou est ce que tu as voulu m'expliquer que c'est une formule à utiliser en javaScript ? auquel cas,  je connais pas !
peux tu me donner de plus amples explications ?  
sympa!...merci.

n°1043095
FlorentG
Unité de Masse
Posté le 11-04-2005 à 15:38:46  profilanswer
 

C'est de l'XSLT, hein ;) En devinant ta structure, je ferais :

<xsl:for-each select="ARTICLE/Record">
  <IMAGE source="{Photo}" />
</xsl:for-each>


Et il te génèrera :

<IMAGE source="images/photo1.jpg" />

n°1043471
lino@
Posté le 11-04-2005 à 21:41:19  profilanswer
 

J'ai pu essayer ce soir mais je n'ai pas réussi :
En fait mon .xsl ne bloque plus mais je n'affiche pas les images. Pourtant le chemin est bon. et j'ai testé en réduisant au maxi la mise en page tables, bordures etc...
Je joins ci-après mon schéma de XSL correspondant à l'exemple XML donné précédemment :
où est donc l'erreur ? :
"
<?xml version="1.0"?>  
<xsl:stylesheet version="1.0"  
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >  
<xsl:template match="/">
<html>
<head>
</head>
<body>
<xsl:for-each select="ARTICLE/Record_0">
<IMAGE source="{Photo}" />  
</xsl:for-each>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
 
"
de plus si je vise seulement :
<xsl:for-each select="ARTICLE/Record"> alors j'ai plus d'affichage du tout ???
 
merci pour toute idée ...

n°1043792
FlorentG
Unité de Masse
Posté le 12-04-2005 à 10:11:16  profilanswer
 

.......................... Le mec....
[:enzan]
[:delarue]
 
Il écrit :

<IMAGE source="{Photo}" />


 
Alors moi je pensais qu'il convertissait vers un autre format XML propriétaire bien à lui, avec une balise IMAGE (notez les majuscules :heink:), avec un bel attribut source.  
 
Mais nan.
 
Il veut bien afficher de l'XHTML.
 
Et il invente une balise IMAGE (notez les majuscules toujours), avec un attribut source.
 
Apparemment, il a jamais fait d'HTML de sa vie.
 
Alors il s'invente un élément IMAGE (en majuscules), avec un attribut source, en pensant que ça fonctionnera...
 
 
Bon aller je suis sympa, je met le code comme je l'avais mis au tout début, avec corrections, et tout et tout :
 

<?xml version="1.0" encoding="utf-8" ?>  
<xsl:transform version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:output method="xml"
    doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN"
    doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"/>
  <xsl:template match="/">
    <html xmlns="http://www.w3.org/1999/xhtml">
      <head>
        <title>Test images</title>
        <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" />
      </head>
      <body>
        <xsl:for-each select="ARTICLE/Record_0">
          <img src="{Photo}" alt="" />  
        </xsl:for-each>
      </body>
    </html>
  </xsl:template>
</xsl:transform >

n°1044239
lino@
Posté le 12-04-2005 à 14:34:29  profilanswer
 

Bien vu !  merci  
Bon Ok, je reconnais, j'ai jusqu'ici utilisé la balise <IMAGE source="xxxx/xxxx.jpg"/> comme conseillé dans mon livre de leçon mais j'apprends avec bonheur le {}...  
Bon OK ! "pourquoi faire simple quand on peut faire compliqué !!!" mais on ne va pas aller devant Delarue pour çà ! ou alors, avec des lunettes ou mieux, avec ... un masque !
 
NB. quand tu dis :"Alors moi je pensais qu'il convertissait vers un autre format XML propriétaire bien à lui " çà m'intéresse parceque ce qui m'embête quand j'exporte mon fichier articles c'est que j'obtiens (voir là haut) chaque fiche séparée par un parasite <Record_0>, <Record_1> ...etc.
alors que mes articles sont déjà numérotés par leur code !
(on ne peut pas intervenir sur mode d'exportation du logiciel de gestion)
vois-tu un moyen pour restructurer facilement mon fichier en un autre fichier XML mieux formé ?  
En tout cas :
encore merci!
 
 
 
 
 
 
 
 

n°1047015
avander
Posté le 14-04-2005 à 10:04:16  profilanswer
 

Le {photo} comme tu dis est simplement la notation raccourcie d'un <xsl:value-of select="photo" />

n°1047056
FlorentG
Unité de Masse
Posté le 14-04-2005 à 10:37:16  profilanswer
 

Et sachant que le value-of peut pas être inclus dans le truc comme ça, sinon ça pose des problèmes de validation etc etc

mood
Publicité
Posté le 14-04-2005 à 10:37:16  profilanswer
 

n°1050119
avander
Posté le 17-04-2005 à 14:15:22  profilanswer
 

On peut utiliser le xsl:value-of à condition de générer la balise image à l'aide de xsl:element et xsl:attribut, mais je te l'accorde dans ce cas ça n'apporte pas grand chose et c'est plus long à écrire, faut juste savoir que ça existe...


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  XML/XSL

  Comment gérer des champs photos exportés de BDD avec XSLT ?

 

Sujets relatifs
Remplir une Bdd en console (script .sh) (Mandrake)[PHP] - Gérer les entrées dupliquées My SQL & Remplir un <SELECT>??
Importer des champs indépendamment de la table completeUSERFORM- Comment gérer les valeurs de plusieurs Cbx_List.
Javascript : galerie de photosChamps SELECT et survol par un DIV, dans IE
[résolu] gérer l'évènement click et plusieurs TIWGridCharger BDD dans mySQL (Windows)
recuperer noms des champs d'une requete[Word] Fusion et libération des champs
Plus de sujets relatifs à : Comment gérer des champs photos exportés de BDD avec XSLT ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR