Manuel PHP
Précédent |  | Suivant

# CXXXVII. 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 http://xmlsoft.org/XSLT/. La bibliothèque libxslt version 1.0.18 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

- XSLTProcessor->__construct() - construit un nouvel objet XSLTProcessor

### Méthodes

- XSLTProcessor->getParameter() - Récupère la valeur d'un paramètre

- XSLTProcessor->hasExsltSupport() - Détermine si PHP a le support EXSLT

- XSLTProcessor->importStylesheet() - Importe une feuille de style

- XSLTProcessor->registerPHPFunctions() - Active la possibilité d'utiliser les fonctions PHP comme fonctions XSLT

- XSLTProcessor->removeParameter() - Efface un paramètre

- XSLTProcessor->setParameter() - Défini la valeur d'un paramètre

- XSLTProcessor->transformToDoc() - Transforme en un DOMDocument

- XSLTProcessor->transformToURI() - Transforme en une URI

- XSLTProcessor->transformToXML() - Transforme en du XML

# Exemples

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

Exemple 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>

Exemple 2. collection.xsl
    <xsl:stylesheet version="1.0" xmlns:xsl="http://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)

Précédent | Sommaire | Suivant
xmlrpc_set_type | Niveau supérieur | XSLTProcessor->__construct()