



|
Manuel PHP
|
|
Table : .xslt backend info.xslt backend name .xslt backend version .xslt create .xslt errno .xslt error .xslt free .xslt getopt .xslt process .xslt set base .xslt set encoding .xslt set error handler .xslt set log .xslt set object .xslt set sax handler .xslt set sax handlers .xslt set scheme handler .xslt set scheme handlers .xslt setopt |
xslt_processxslt_processDescriptionmixed xslt_process ( resource xh, string xmlcontainer, string xslcontainer [, string resultcontainer [, array arguments [, array parameters]]] )xslt_process() fait partie de la nouvelle vague de fonctions XSLT. Elle vous permet de réaliser des transformations XSLT en utilisant n'importe quelle type de source : des conteneurs. Cela se fait grâce à l'utilisation de buffers d'arguments : un concept issu de Sablotron (actuellement, c'est le seul processeur XSLT qui le supporte). Les conteneurs sont, par défaut, des fichiers qui contiennent le document à traiter. Le conteneur de résultat est, par défaut, un fichier qui recevra le document traité. Si le conteneur de résultat n'est pas fourni (l'argument vaut alors NULL), le résultat sera retourné par la fonction.
Les conteneurs peuvent aussi être modifiés via
le tableau Le type le plus simple de transformation réalisable avec xslt_process() est la transformation d'un fichier XML avec un fichier XSLT, en plaçant le résultat dans un troisième fichier. Faire cela avec Sablotron est très facile... Même si cette fonctionnalité est très pratique, il arrive souvent qu'en environnement web, vous vouliez être capable d'afficher directement votre résultat. Par conséquent, si vous omettez le troisième argument de xslt_process(), ou que vous fournissez la valeur NULL à la place, la fonction va automatiquement retourner le résultat de la transformation XSLT, au lieu de l'écrire dans un fichier.
Les deux cas de transformations XSLT ci-dessus sont les cas les plus simples, quand on parle de transformation XSLT, et ce sont les cas les plus courants, mais il existe des situations où vous obtenez vos données XML et XSLT de sources externes comme des sockets ou des bases de données. Dans ces cas, vous avez déjà les données dans une variable et, en mode de production, écrire ces données dans des fichiers serait trop inefficace. C'est là où la syntaxe de buffers d'arguments de XSLT prend la relève. Au lieu de fichiers en termes d'arguments XML et XSLT, vous pouvez passer des buffers d'arguments, qui sont alors substitués en valeur au cinquième argument de la fonction xslt_process(). L'exemple suivant vous montre comment traiter du XML et du XSLT issus de variables, et de retrouver le résultat dans une troisième variable.
Finalement, le dernier argument de xslt_process() représente un tableau de tous les paramètres que vous souhaitez passer au document XSLT. Ces paramètres sont accessibles depuis le fichier XSL en utilisant l'instruction <xsl:param name="parameter_name">. Les paramètres doivent être encodés au format UTF-8 et leur valeur sera interprétée comme une chaîne de caractères par l'analyseur Sablotron. En d'autres termes, vous ne pouvez pas passer des groupes de noeuds (node-sets) comme paramètres au document XSLT.
|

