Руководство по PHP
Пред. |  | След.

# CLXXIX. XSL functions

# Введение

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

# Требования

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

# Установка

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.

# Предопределенные классы

## XSLTProcessor

### Конструктор

- XSLTProcessor->__construct() - construct a new XSLTProcessor object

### Методы

- XSLTProcessor->getParameter() - Get value of a parameter

- XSLTProcessor->hasExsltSupport() - Determine if PHP has EXSLT support

- XSLTProcessor->importStylesheet() - Import stylesheet

- XSLTProcessor->registerPHPFunctions() - Enables the ability to use PHP functions as XSLT functions

- XSLTProcessor->removeParameter() - Remove parameter

- XSLTProcessor->setParameter() - Set value for a parameter

- XSLTProcessor->transformToDoc() - Transform to DOMDocument

- XSLTProcessor->transformToURI() - Transform to URI

- XSLTProcessor->transformToXML() - Transform to XML

# Примеры

Many examples in this reference require both an XML and an XSL file. We will use `collection.xml` and `collection.xsl` that contains the following:

Пример 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>

Пример 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>

# Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение подгружается во время выполнения.

`XSL_CLONE_AUTO` (integer)

`XSL_CLONE_NEVER` (integer)

`XSL_CLONE_ALWAYS` (integer)

Пред. | Начало | След.
XMLWriter->writeRaw() | Уровень выше | XSLTProcessor->__construct()