Forum und email
XSL functions

CLXXXII. XSL functions

Úvod

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

Požadavky

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

Instalace

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.

Předdefinované třídy

XSLTProcessor

Konstruktory

Metody

Příklady

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:

Příklad 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>

Příklad 2. collection.xsl

<xsl:stylesheet version="1.0" xmlns:xsl="https://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>

Předdefinované konstanty

Tyto konstanty jsou definovány tímto rozšířením a budou k dispozici pouze tehdy, bylo-li rozšíření zkompilováno společně s PHP nebo dynamicky zavedeno za běhu.

XSL_CLONE_AUTO (integer)

XSL_CLONE_NEVER (integer)

XSL_CLONE_ALWAYS (integer)

LIBXSLT_VERSION (integer)

libxslt version like 10117. Available as of PHP 5.1.2.

LIBXSLT_DOTTED_VERSION (string)

libxslt version like 1.1.17. Available as of PHP 5.1.2.

LIBEXSLT_VERSION (integer)

libexslt version like 813. Available as of PHP 5.1.2.

LIBEXSLT_DOTTED_VERSION (string)

libexslt version like 1.1.17. Available as of PHP 5.1.2.

Obsah
XSLTProcessor::__construct -- Creates 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 a DOMDocument
XSLTProcessor::transformToURI -- Transform to URI
XSLTProcessor::transformToXML -- Transform to XML