Webhosting and cheap domain registration services
  

 Home

PHP Manual
PrevNext

CXXIV. XSL functions

Introduction

Warning

This extension is EXPERIMENTAL. The behaviour of this extension -- including the names of its functions and anything else documented about this extension -- may change without notice in a future release of PHP. Use this extension at your own risk.

The XSL extension implements the XSL standard, performing XSLT transformations using the libxslt library

Requirements

This extension uses libxslt which can be found at http://xmlsoft.org/XSLT/. libxslt version 1.0.18 or greater is required.

Installation

PHP 5 includes the XSL extension by default and can be enabled by adding the argument --with-xsl[=DIR] to your configure line. DIR is the libxslt installation directory.

Examples

In this small tutorial we will learn how to transform an XML document into HTML.

Example 1. A simple XSL tree

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 <xsl:output method="html" encoding="iso-8859-1" indent="no"/>
 <xsl:template match="collection">
  Hey! Welcome to my 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"/></h2>
  <h3> - <xsl:value-of select="year"/></h3>
 </xsl:template>
</xsl:stylesheet>

Example 2. Corresponding XML tree

<collection>
 <cd>
  <title>PHP Rock</title>
  <artist>Joe Coder</artist>
  <year>2003</year>
 </cd>
 <cd>
  <title>Squashing Typos on a Winter's Eve</title>
  <artist>kennyt</artist>
  <year>2004</year>
 </cd>
</collection>

Example 3. Making XML into HTML

The following PHP code uses the XML and XSL extensions to transform XML into presentable HTML.

<?php
/* Load the two XML sources */
$xml = new DomDocument; // from /ext/dom
$xml->load('example.xml');

$xsl = new DomDocument;
$xsl->load('example.xsl');

/* Configure the transformer */
$proc = new xsltprocessor;
$proc->importStyleSheet($xsl); // attach the xsl rules
echo $proc->transformToXML($xml); // actual transformation
?>

This should produce an HTML fragment similar to the following:

Hey! Welcome to my sweet CD collection!

<h1>PHP Rock</h1>
<h2>by Joe Coder</h2>
<h3> - 2003</h3>

<h1>Squashing Typos on a Winter's Eve</h1>
<h2> by kennyt</h2>
<h3> - 2004</h3>

Predefined Constants

The constants below are defined by this extension, and will only be available when the extension has either been compiled into PHP or dynamically loaded at runtime.

XSL_CLONE_AUTO (integer)

XSL_CLONE_NEVER (integer)

XSL_CLONE_ALWAYS (integer)


PrevHomeNext
xdiff_string_patchUpxsl_xsltprocessor_get_parameter

 

  

 

 

 Network sites:

Cheap domain registration & cheap domain name transfer
Active-Domain.com : Domain register and domain search services
 

Disclaimer: This documentation is provided only for the benefits of our hosting customers.
For authoritative source of the documentation, please refer to http://www.php.net/docs.php