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

XML/XSL et SOAP Discussion :

neophyte en xml


Sujet :

XML/XSL et SOAP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    ZZs
    ZZs est déconnecté
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 6
    Par défaut neophyte en xml
    bonsoir
    je me suis mis au xml et je voulais savoir si ma façon d'une base de données myslq vers un xml était la bonne???

    j'ai développé un "ensemble d'albums photos" s'appuyant sur une BD.
    depuis cette base je génère un fichier .xml à partir d'un script php.

    à partir du xml

    j'utilise un fichier .xsl lui aussi générer dynamiquement depuis le php puisqu'à fois que je le recréer je change une variable recupérée dans l'url permettant d'afficher l'album choisi.

    tout marche bien, je voulais savoir si c'est une méthode louable ou est-ce-que je suis complétement à la rue avec mes rues de génération d'XML et XSL?

  2. #2
    Membre Expert
    Avatar de elitost
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Septembre 2003
    Messages
    1 985
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2003
    Messages : 1 985
    Par défaut
    Tu pourrais avoir aussi une page PHP qui irait juste chercher dans ta base l'album en fonction d'un identifiant reçu....

    C'est un peu complexe ton truc :

    SGBD --> XML
    PHP --> XSL + XML --> ta page HTML

    Autre solutions
    PHP --> Interrogation SGBD + mise en forme --> ta page HTML

    En même temps , il faudrait voire un peu ton code car j'ai déjà vu ce genre de mise en page ( comme la tienne avec XML, XSL ) dans des pages JSP et c'était très propre, en utilisant le parseur DOM du browser internet.

  3. #3
    ZZs
    ZZs est déconnecté
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 6
    Par défaut
    je montre les deux scripts pour générer mon xml et mon xsl:

    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
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    <?
    function litrdir($photo) {
    $rep=opendir("./photos/");
    if (is_dir("./photos/") )
    	{	
    	while ($encours=readdir($rep))
    		{	
    		if ($encours!= "." && $encours!= ".." ) 
    			{
    			$sousrep=opendir("./photos/".$encours."/");	
    			while ($encourss=readdir($sousrep))
    				{
    				if ($encourss==$photo) return $encours;
    				}
    			}
    		}
    	}
    }	
    $Fnm = "photo.xml"; 
    $fp = fopen($Fnm,"w"); 
    mysql_connect("localhost", "photo.zzs", ""); //connection a la base avec les valeur par défaut
    mysql_select_db("photo_zzs"); //selection de la base de donnée nommée php
    $contenu="<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>
    <!DOCTYPE librairie SYSTEM \"dom.dtd\">
    <?xml-stylesheet type=\"text/xsl\" href=\"style.xsl\"?>
    	<albums>";
    	$rep=opendir("./photos/");
    	if (is_dir("./photos/") )
    		{	
    		while ($encours=readdir($rep))
    			{	
    			if ($encours!= "." && $encours!= ".." ) 
    				{
    				$sousrep=opendir("./photos/".$encours."/");
    				$contenu.="<album><albumtitre>".$encours."</albumtitre>\n";
    				while ($encourss=readdir($sousrep))
    					{
    					if ($encourss!= "." && $encourss!= ".." ) 
    						{
    						$rimage=mysql_query("select * from image where image_nom='".$encourss."' limit 0,1") or die("select * from image where image_nom='".$encours."' limit 0,1");
    						while ($rw=mysql_fetch_array($rimage))
    							{
    							$chemin="./photos/".litrdir($rw['image_nom'])."/mini".$rw['image_nom'];
    							$foto="./photos/".litrdir($rw['image_nom'])."/".$rw['image_nom'];
    							$contenu.="<image><photo>".$foto."</photo>\n<nom>".$chemin."</nom><commentaire>".$rw['image_commentaire']."</commentaire>\n<auteur>".$rw['image_auteur']."</auteur>\n</image>\n";
    							}
    						}
    					}	
    					$contenu.="</album>\n";
    				}		
     
    			}
    		}			
    $contenu.="</albums>\n";
    //echo $contenu;
    fputs($fp,$contenu);
    fclose($fp);
    header("location:photo.xml");
    exit();
    ?>

    pour le XSL

    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
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    <?
    unlink("style.xsl");
    $Fnm = "style.xsl"; 
    $fp = fopen($Fnm,"w"); 
    $contenu="<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>
    <xsl:stylesheet version=\"1.0\" xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\">
    <xsl:template match=\"/\">
    	<HTML>
            <HEAD>
              <TITLE>teste</TITLE>
    <link href=\"style.css\" rel=\"stylesheet\" type=\"text/css\"/></HEAD>
            <BODY>
    		<TABLE><TR valign=\"top\"><TD class=\"right\"><TABLE><TR><TD class=\"menu_title\">menu</TD></TR><TR><TD class=\"submenu\">
     
    <xsl:for-each select=\"albums/album\">
    <a>
    	<xsl:attribute name=\"HREF\">
    				<xsl:text>generateur-xsl.php?album=</xsl:text>
    				<xsl:value-of select=\"albumtitre\"/>
    			</xsl:attribute>
    	<xsl:value-of select=\"albumtitre\"/>
    	</a><br/>
    </xsl:for-each>
    </TD></TR></TABLE>
    </TD><TD class=\"middle\"><TABLE><TR><TD class=\"page_title\">[".$_GET['album']."]</TD></TR><TR><TD>
     
    <xsl:for-each select=\"albums/album\">
    	<xsl:if test=\"albumtitre='".$_GET['album']."'\">
    		<xsl:for-each select=\"image\">
    		<SPAN style=\"submenu\"><A>
    			<xsl:attribute name=\"HREF\">
    				<xsl:value-of select=\"photo\"/>
    			</xsl:attribute>
    				<IMG style=\"border:0px\" hspace=\"10\" vspace=\"10\">
    					<xsl:attribute name=\"SRC\">
    						<xsl:value-of select=\"nom\" />
    					</xsl:attribute>
    				</IMG>
    		</A></SPAN>
    		</xsl:for-each>
    		</xsl:if>
    </xsl:for-each>
    </TD>
    </TR>
    </TABLE>
    </TD>
    </TR>
    </TABLE>
    </BODY>
    </HTML>
    </xsl:template>
     
    </xsl:stylesheet>";
    fputs($fp,$contenu);
    fclose($fp);
    header("location:redirect.php");
    exit();
    ?>
    <script language="JavaScript">
    document.location.href="redirect.php";
    </script>

    resultat sur la page:
    http://photo.zzs.free.fr

  4. #4
    Membre Expert
    Avatar de elitost
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Septembre 2003
    Messages
    1 985
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2003
    Messages : 1 985
    Par défaut
    Finalement, c'est très bien comme implémentation.

  5. #5
    ZZs
    ZZs est déconnecté
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 6
    Par défaut
    QCM:
    A tu pense ce que tu dis?
    B c'est pour me faire plaisir?
    C t'as la flème de lire le code ^^


  6. #6
    Membre Expert
    Avatar de elitost
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Septembre 2003
    Messages
    1 985
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2003
    Messages : 1 985
    Par défaut
    QCM:
    A tu pense ce que tu dis?
    B c'est pour me faire plaisir?
    C t'as la flème de lire le code ^^
    Réponse A

  7. #7
    Expert confirmé
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 55

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

    je me rangerais plutôt du premier avis donné par Elitost : générer directement directement du HTML. Ou alors te débrouiller pour avoir une feuille de style XSLT "statique", cela doit être possible.
    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

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 8
    Par défaut
    Citation Envoyé par elitost
    ...le parseur DOM du browser internet.
    Peux tu m'en dire plus (langage, ou trouver la lib, ...) ?

Discussions similaires

  1. xml -> xsl -> xml
    Par virgile04 dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 10/10/2002, 16h53
  2. Balises HTML dans un fichier XML
    Par Bastet79 dans le forum XML/XSL et SOAP
    Réponses: 12
    Dernier message: 04/09/2002, 15h29
  3. delphi XML / HTML caractéres speciaux !
    Par adem dans le forum EDI
    Réponses: 2
    Dernier message: 29/08/2002, 17h48
  4. Débutant XML
    Par viny dans le forum XML/XSL et SOAP
    Réponses: 8
    Dernier message: 25/07/2002, 12h07
  5. Pas de casse dans les XML
    Par :GREG: dans le forum Composants VCL
    Réponses: 4
    Dernier message: 17/07/2002, 13h51

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