Aller au contenu

chanceux.. vous voulez apprendre le xsl/xml ?


Anonymus

Sujets conseillés

Pc Expert de ce mois ci vous propose 5 pages pour vous expliquer le comment du pourquoi du XML couplé avec le XSL. Comme Pc Expert n'est pas livré avec un CD Rom, vous aurez à taper les quelques lignes de l'exemple.

Pour vous simplifier la vie, les voici ci-dessous. A noter qu'une erreur s'était glissée (malencontreusement) dans leur code. Une '/' manquante. A défaut de recopier le code à partir du magasine, vous pouvez toujours vous faire pardonner en tentant de retrouver cette erreur :D

fichier test.xml

(attention, pas de 'ligne blanche' avant la première ligne de code !)

<?xml version="1.0" encoding="iso-8859-1"?>
<?xml-stylesheet type="text/xsl" href="test.xsl"?>
<poeme>
<auteur>Victor Hugo</auteur>
<titre>L'âme en fleur</titre>
<date>1856</date>

<strophe>
<ver>Mon bras pressait ta taille frêle</ver>
<ver>Et souple comme le roseau;</ver>
<ver>Ton sein palpitait comme l'aile</ver>
<ver>D'un jeune oiseau.</ver>
</strophe>

<strophe>
<ver>Longtemps muets, nous comptemplâmes</ver>
<ver>Le ciel où s'éteignait le jour.</ver>
<ver>Que se passait il dans nos âmes ?</ver>
<ver>Amour ! , Amour ! ..</ver>
</strophe>

</poeme>

fichier test.xsl

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="poeme">
<html>
<head>
<title><xsl:value-of select="title" /></title>
</head>
<body>
<xsl:apply-templates select="titre" />
<xsl:apply-templates select="auteur" />
<xsl:apply-templates select="date" />
<xsl:apply-templates select="strophe" />
</body>
</html>
</xsl:template>

<xsl:template match="titre">
<div align="center"><h1><xsl:value-of select="." /></h1></div>
</xsl:template>

<xsl:template match="auteur">
<div align="center"><p><i><h2><xsl:value-of select="." /></h2></i></p></div>
</xsl:template>

<xsl:template match="date">
<div align="center"><h2><xsl:value-of select="." /></h2></div>
</xsl:template>

<xsl:template match="strophe">
<ul><xsl:apply-templates select="ver" /></ul>
</xsl:template>

<xsl:template match="ver">
<xsl:if test="position() mod 2=0"></xsl:if>
<xsl:value-of select="." /><br />
</xsl:template>

</xsl:stylesheet>

Lien vers le commentaire
Partager sur d’autres sites

  • 3 semaines plus tard...
  • 2 semaines plus tard...

Autre exercice :

J'ai un fichier XML... je veux créer un parser pour affichier ce fichier sur un site.

Comment creer le parser PHP simplement... sans rien connaître à ce langage :whistling:

<?xml version="1.0" encoding="UTF-8" ?> 
- <products>
- <product>
 <TDProductId>1871204</TDProductId>
 <name>Canon EOS D60</name>
 <description>Mémoire flash : N/A, Capacité de stockage : N/A, Type de viseur : Optique, Zoom optique : N/A, Résolution du capteur : 6.3 mégapixel</description>
 <imageUrl>http://img.kelkoo.com/pdb/19101/small/27/79/277956.jpg</imageUrl>
 <productUrl>http://pdt.tradedoubler.com/click?a=78026&p=17928∏=1871204</productUrl>
 <price>1400.00</price>
 <currency>EUR</currency>
- <TDCategories>
- <TDCategory>
 <id>44</id>
 <name>Cameras</name>
 <merchantName>Hifi, Photo & Vidéo/Appareil photo numérique</merchantName>
 </TDCategory>
 </TDCategories>
 <fields />
 </product>

Lien vers le commentaire
Partager sur d’autres sites

Avec uniquement un fichier XML, tu n'iras pas loin.

Pour la mise en forme il fau une feuille de style XSL.

Ensuite un moteur XSLT - par exemple en PHP - pour combiner le tout.

XSLT(XML, XSL) => HTML (ou PDF ou DOC ou CSV ou n'importe quel format de sortie)

IL existe de nombreux tutoriels tres bien documentes. Je me souviens aussi avoir realise plusieurs exemples sur mon blog. Par exemple ici :

http://www.atelierphp5.com/xslt-cote-serve...ote-client.html

:)

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...