<!-- Fichier : fichier.xml --> <?xml version="1.0" encoding="iso-8859-1"?> <liste> <logiciel categorie="HTML"> <nom langue="US" systeme_exploitation="Win"> HomeSite 4.5 MAJ </nom> <commentaire> Mise à jour depuis v 4.0 Un éditeur HTML Professionnel. </commentaire> <editeur lien="http://www.allaire.com/products/"> Allaire </editeur> <prix monnaie="FRF">285,00</prix> </logiciel> <logiciel categorie="HTML"> <nom langue="FR" systeme_exploitation="Win"> HTML Transit </nom> <commentaire> Uniquement sur devis : nous appeler. </commentaire> <editeur lien="http://www.intranetsolutions.com/">HTML Transit</editeur> <prix monnaie="FRF">31 900,00</prix> </logiciel> <logiciel categorie="HTML"> <nom langue="FR" systeme_exploitation="Win"> NetObjects Fusion 5.0 </nom> <commentaire> Le logiciel le plus complet de création de site. </commentaire> <editeur lien="http://www.netobjects.com/"> Microsoft </editeur> <prix monnaie="FRF">1 239,00</prix> </logiciel> <logiciel categorie="XML"> <nom langue="US" systeme_exploitation="Win"> Cooktop 2.200 </nom> <commentaire> Un editeur XML, XSLT, XPath et DTD puissant et totalement gratuit. </commentaire> <editeur adresse="http://xmleverywhere.com/cooktop/"> XML Everywhere </editeur> <prix monnaie="$US">00.00</prix> </logiciel> <logiciel categorie="XML"> <nom langue="US" systeme_exploitation="Win"> XML Spy 4.1 </nom> <commentaire> Un editeur XML desormais mature. </commentaire> <editeur adresse="http://www.xmlspy.com/default.html"> Altova Inc. </editeur> <prix monnaie="$US">199,00</prix> </logiciel> <logiciel categorie="XML"> <nom langue="US" systeme_exploitation="Win"> XML Spy 4.1 B2B Server </nom> <commentaire> La version 4 en version Business to business. </commentaire> <editeur adresse="http://www.xmlspy.com/default.html"> Altova Inc. </editeur> <prix monnaie="$US">1 999,00</prix> </logiciel> <logiciel categorie="XML"> <nom langue="US" systeme_exploitation="Win"> XMLwriter v1.21 </nom> <commentaire> Permet de creer des documents XML. </commentaire> <editeur adresse="http://xmlwriter.net/"> Wattle Software </editeur> <prix monnaie="$US">75,00</prix> </logiciel> </liste> <!-- Fichier : fichier.xsl --> <?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" media-type="text/html; charset=ISO-8859-1"/> <xsl:param name="categorie"/> <xsl:template match="/"> <html> <head> <title> La logithèque : la catégorie <xsl:value-of select="$categorie"/> </title> </head> <body> <xsl:for-each select="/liste/logiciel[@categorie=$categorie]"> <xsl:variable name="url" select="editeur/@adresse"/> <h3> <xsl:value-of select="nom"/> (<xsl:value-of select="nom/@langue"/>) </h3> <p><xsl:value-of select="commentaire"/></p> <h4> <a href="{$url}"><xsl:value-of select="editeur"/></a> </h4> <u>Prix : </u><br/> <p> <xsl:value-of select="prix"/> <xsl:value-of select="prix/@monnaie"/> </p> </xsl:for-each> </body> </html> </xsl:template> </xsl:stylesheet> <!-- Fichier : transformation.php --> <?php $fxml = "fichier.xml"; $fxsl = "fichier.xsl"; $id_xml = fopen($fxml, "rb"); $id_xsl = fopen($fxsl, "rb"); $xml = fread($id_xml, filesize ($fxml)); $xsl = fread($id_xsl, filesize ($fxsl)); $param = array("valeur"=>"XML"); $arg = array('/_xml' => $xml, '/_xsl' => $xsl); $analyseur_xslt = xslt_create(); $resultat = xslt_process($analyseur_xslt, 'arg:/_xml', 'arg:/_xsl', NULL, $arg, $param); if ($resultat != false) { print($resultat); } else { echo "<u>Une erreur est suvenue :</u>" . "Code : " . xslt_errno($analyseur_xslt) . "Message : " . xslt_error($analyseur_xslt); } xslt_free($analyseur_xslt); ?> |