<!-- 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);
?> |