Forum und email

XSL

Introduction

L'extension XSL implémente le standard XSL, et fait des » transformations XSLT à l'aide de la » bibliothèque libxslt.

Pré-requis

Cette extension utilise la bibliothèque libxslt qui peut être trouvée sur » https://xmlsoft.org/XSLT/. La bibliothèque libxslt version 1.1.0 ou supérieure est requise.

Installation

PHP 5 inclut l'extension XSL par défaut et peut être activée en ajoutant l'argument --with-xsl[=DIR] à votre ligne de configuration. DIR est le dossier d'installation de la bibliothèque libxslt.

Classes pré-définies

XSLTProcessor

Constructeur

Méthodes

Exemples

Plusieurs exemples dans ce manuel requièrent un fichier XML ainsi qu'un fichier XSL. Nous utiliserons collection.xml et collection.xsl qui contiennent ceci :

Example#1 collection.xml

<collection>
 <cd>
  <title>Fight for your mind</title>
  <artist>Ben Harper</artist>
  <year>1995</year>
 </cd>
 <cd>
  <title>Electric Ladyland</title>
  <artist>Jimi Hendrix</artist>
  <year>1997</year>
 </cd>
</collection>

Example#2 collection.xsl

<xsl:stylesheet version="1.0" xmlns:xsl="https://www.w3.org/1999/XSL/Transform">
 <xsl:param name="owner" select="'Nicolas Eliaszewicz'"/>
 <xsl:output method="html" encoding="iso-8859-1" indent="no"/>
 <xsl:template match="collection">
  Hey! Welcome to <xsl:value-of select="$owner"/>'s sweet CD collection! 
  <xsl:apply-templates/>
 </xsl:template>
 <xsl:template match="cd">
  <h1><xsl:value-of select="title"/></h1>
  <h2>by <xsl:value-of select="artist"/> - <xsl:value-of select="year"/></h2>
  <hr />
 </xsl:template>
</xsl:stylesheet>

Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

XSL_CLONE_AUTO (entier)
XSL_CLONE_NEVER (entier)
XSL_CLONE_ALWAYS (entier)
LIBXSLT_VERSION (entier)
Version libxslt, par exemple : 10117. Disponible depuis PHP 5.1.2.
LIBXSLT_DOTTED_VERSION (chaîne de caractères)
Version libxslt, par exemple : 1.1.17. Disponible depuis PHP 5.1.2.
LIBEXSLT_VERSION (entier)
Version libxslt, par exemple : 813. Disponible depuis PHP 5.1.2.
LIBEXSLT_DOTTED_VERSION (chaîne de caractères)
Version libxslt, par exemple : 1.1.17. Disponible depuis PHP 5.1.2.

Table of Contents