XSLT
Application d' une feuille de style XSLT à un document XML.
Cette classe permet d' appliquer une feuille de style XSLT à un document XML. La transformation peut être effectuée de différentes manières : soit en utilisant les extensions que PHP fournit : php-XSLT ou php-DOMXML-XSLT, soit en ligne de commande avec SABLOTRON, XALAN ou XSLTPROC. L' implementation de ces processeurs n' étant pas forcement la meme, certains exemples peuvent poser problème selon votre version de SABLOTRON ou de XALAN, notemment les exemples 3 et 4 qui utilisent des espaces de noms apparemment pas encore supportés sur mes versions de TEST (SABLOTRON 0.98).
Les Méthodes
- XSLT - Nouvelle Instance
- Load_XML_from_file - Charger un fichier XML à partir d' un fichier
- Load_XML_from_str - Charger un fichier XML à partir d' une chaine
- Load_XSL_from_file - Charger la template XSLT à partir d' un fichier
- Load_XSL_from_str - Charger la template XSLT à partir d' une chaine
- Set_encoding - Définir l' encodage
- Add_XSL_parameter - Passer un parametre à la template XSLT
- Output - Affichage du résultat
- XSLTPROC_shell_transform - Transformation avec XSLTPROC en ligne de commande
- SABLOTRON_shell_transform - Transformation avec SABLOTRON en ligne de commande
- XALAN_shell_transform - Transformation avec XALAN en ligne de commande
Exemples
- Fichier XML de référence
- Exemple 1-1 Affichage simple (code PHP)
- Exemple 1-2 Affichage simple (feuille XSLT)
- Exemple 2-1 Ajout de quelques variables + TRI par date (code PHP)
- Exemple 2-2 Ajout de quelques variables + TRI par date (Feuille XSLT)
- Exemple 3-1 Formatage de la date - Affichage Jours,Mois en toutes lettres (code PHP)
- Exemple 3-2 Formatage de la date - Affichage Jours,Mois en toutes lettres (Feuille XSLT 1)
- Exemple 3-3 Formatage de la date - Affichage Jours,Mois en toutes lettres (Feuille XSLT 2)
- Exemple 4-1 Alternance des couleurs dans la liste (code PHP)
- Exemple 4-2 Alternance des couleurs dans la liste (feuille XSLT)
Exemple 2-1 Ajout de quelques variables + TRI par date (code PHP)
<?php
##########################################################################
# Meme exemple que le precedent (1-1)
# +++
# Utilisation d' une variable pour créer un lien sur le titre et une por la langue
# Récupération du parametre date du tag <item>
# TRI par les dates ASC
##########################################################################
// Inclusion de la source de la classe
include 'index.php';
// L' extension que vous souhaitez utiliser
$ext = 'domxml';
//$ext = 'xslt';
// Nouvelle Instance
$xs = new xslt($ext);
// On charge le fichier XML et la template XSLT
$xs -> Load_XML_from_file('ex.XSLT.1.php.src');
$xs -> Load_XSL_from_file('ex.XSLT.5.php.src');
// On ajoute un parametre $limit pour limiter l' affichage a 5 resultats
// On le recuperera dans la template XSLT avec <xsl:param name="limit"/>
$xs -> Add_XSL_parameter('limit', 5);
// Affichage des resultats
echo $xs -> Output();
?>
##########################################################################
# Meme exemple que le precedent (1-1)
# +++
# Utilisation d' une variable pour créer un lien sur le titre et une por la langue
# Récupération du parametre date du tag <item>
# TRI par les dates ASC
##########################################################################
// Inclusion de la source de la classe
include 'index.php';
// L' extension que vous souhaitez utiliser
$ext = 'domxml';
//$ext = 'xslt';
// Nouvelle Instance
$xs = new xslt($ext);
// On charge le fichier XML et la template XSLT
$xs -> Load_XML_from_file('ex.XSLT.1.php.src');
$xs -> Load_XSL_from_file('ex.XSLT.5.php.src');
// On ajoute un parametre $limit pour limiter l' affichage a 5 resultats
// On le recuperera dans la template XSLT avec <xsl:param name="limit"/>
$xs -> Add_XSL_parameter('limit', 5);
// Affichage des resultats
echo $xs -> Output();
?>