Forum und email

XSLT

Introduction

Cette extension PHP fourni une API indépendante pour les transformations XSLT. Actuellement, seul Sablotron est supporté. Le support d'autres bibliothèques comme Xalan ou libxslt est prévu.

XSLT (Extensible Stylesheet Language (XSL) Transformations) est un langage de transformation des documents XML en d'autres documents XML. C'est un standard défini par le consortium World Wide Web (W3C). Les informations sur le XLST et ses technologies sont disponibles à » https://www.w3.org/TR/xslt.

Note: Cette extension est différente de l'extension sablotron qui était distribuée dans les versions de PHP avant la 4.1.0. Actuellement, seule la nouvelle extension XSLT est supportée. Si vous souhaitez un support pour les anciennes extensions, posez vos questions sur les listes de diffusion PHP.

Note: Cette extension a été déplacée dans le module » PECL et ne sera plus intégrée dans PHP à partir de PHP 5.0.0.

Note: Si vous avez besoin du support xslt avec PHP 5, vous pouvez utiliser l'extension XSL.

Pré-requis

Cette extension utilise Sablotron et expat, qui sont toutes les deux disponibles à » https://www.gingerall.org/sablotron.html. Les sources comme les exécutables sont proposés.

Installation

Sous UNIX, lancez configure avec l'option --with-sablot ou --with-xslt-sablot. La bibliothèque Sablotron doit être installée là où le compilateur peut la trouver.

Assurez-vous d'avoir la même bibliothèque, compilée avec Sablotron que celle qui est fournie avec PHP. Les options de configuration : --with-expat-dir=DIR --with-iconv-dir=DIR sont disponibles pour vous aider à les spécifier correctement. Lorsque vous demandez de l'aide, mentionnez toujours ces directives, ainsi que si vous avez d'autres bibliothèques installées sur votre système. Naturellement, fournissez les numéros de version.

Caution

Assurez-vous que votre bibliothèque Sablotron soit correctement reliée à -lstdc++. Dans le cas contraire, votre configuration échouera ou bien PHP refusera de fonctionner ou de se charger.

Note: Support de JavaScript E-XSLT Si vous compilez Sablotron avec le support JavaScript, vous devez spécifier cette option : --with-sablot-js.

Note: Note aux utilisateurs Win32 Afin de faire fonctionner cette extension, quelques bibliothèques DLL doivent être disponibles via le PATH du système Windows. Lisez la FAQ intitulée "Comment ajouter mon dossier PHP à mon PATH WIndows" pour plus d'informations. Le fait de copier les bibliothèques DLL depuis le dossier PHP dans le dossier système Windows fonctionne également (car le dossier système est par défaut dans le PATH système), mais cette méthode n'est pas recommandée. Cette extension nécessite que les fichiers suivants se trouvent dans le PATH : sablot.dll, expat.dll, et iconv.dll.
En PHP <= 4.2.0, le fichier iconv.dll n'est pas nécessaire.

Configuration à l'exécution

Cette extension ne définit aucune directive de configuration.

Types de ressources

Cette extension définit une ressource XSLT processor, retourné par la fonction xslt_create().

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.

XSLT_OPT_SILENT (entier)
Ignore tous les rapports d'erreurs. C'est une option générique pour toutes les interfaces qui seront ajoutées plus tard.
XSLT_SABOPT_PARSE_PUBLIC_ENTITIES (entier)

Commande à Sablotron de faire l'analyse des entités publiques. Par défaut, cette option est désactivée.

XSLT_SABOPT_DISABLE_ADDING_META (entier)

Ne pas ajouter le méta-tag "Content-Type" pour les générations HTML. La valeur par défaut est choisie lors de la compilation de Sablotron.

XSLT_SABOPT_DISABLE_STRIPPING (entier)
Arrête la suppression des espaces (pour les fichiers de données uniquement).
XSLT_SABOPT_IGNORE_DOC_NOT_FOUND (entier)
Considère les documents non résolus (la fonction document()) comme non-bloquant.
XSLT_SABOPT_FILES_TO_HANDLER (entier)
XSLT_ERR_UNSUPPORTED_SCHEME (entier)
Renvoie un code d'erreur pour les erreurs de gestionnaire de Scheme.

Table of Contents