Applies XSL stylesheet to incoming text.

Uses PHP XSLT support (libxslt).

author Hans Lellelid
author Yannick Lecaillez
author Andreas Aderhold
version $Id: 24a5cb073e019de2d9ad786b7d8aeb60664f6f17 $
see \global\FilterReader
package phing.filters
copyright 2003 seasonfive. All rights reserved

 Methods

Constructor used by Phing's introspection mechanism.

__construct(\Reader $in) 
Inherited

The original filter reader is only used for chaining purposes, never for filtering purposes (and indeed it would be useless for filtering purposes, as it has no real data to filter). ChainedReaderHelper uses this placeholder instance to create a chain of real filters.

inherited_from \BaseFilterReader::__construct()
inherited_from \BaseParamFilterReader::__construct()

Parameters

$in

\Reader

Creates a new XsltFilter using the passed in Reader for instantiation.

chain(\Reader $reader) : \Reader

Parameters

$reader

\Reader

A Reader object providing the underlying stream. Must not be null.

Returns

\ReaderA new filter based on this configuration, but filtering the specified reader

Close stream.

close() 
Inherited
inherited_from \FilterReader::close()
inherited_from \BaseFilterReader::close()
inherited_from \BaseParamFilterReader::close()

Exceptions

\IOException if there is an error closing stream

Create new XSLT Param object, to handle the <param/> nested element.

createParam() : \XSLTParam

Returns

Returns whether the end of file has been reached with input stream.

eof() : boolean
Inherited
inherited_from \BaseFilterReader::eof()
inherited_from \BaseParamFilterReader::eof()

Returns

boolean

Whether to use HTML parser for the XML.

getHtml() : boolean

This is supported in libxml2 -- Yay!

Returns

boolean

Returns the initialized status.

getInitialized() : boolean
Inherited
inherited_from \BaseFilterReader::getInitialized()
inherited_from \BaseParamFilterReader::getInitialized()

Returns

booleanwhether or not the filter is initialized

getParameters()

getParameters() 
Inherited
inherited_from \BaseParamFilterReader::getParameters()

Returns the XSLT params set for this class.

getParams() : array

This is used to "clone" this class, in the chain() method.

Returns

array

Returns the project this filter is part of.

getProject() : object
Inherited
inherited_from \BaseFilterReader::getProject()
inherited_from \BaseParamFilterReader::getProject()

Returns

objectThe project this filter is part of

getResolveDocumentExternals()

getResolveDocumentExternals() : bool
since 2.4

Returns

bool

getResolveStylesheetExternals()

getResolveStylesheetExternals() : bool
since 2.4

Returns

bool

Returns the filename, url, etc.

getResource() : string
Inherited

that is being read from. This is critical for, e.g., ExpatParser's ability to know the filename that is throwing an ExpatParserException, etc.

inherited_from \FilterReader::getResource()
inherited_from \BaseFilterReader::getResource()
inherited_from \BaseParamFilterReader::getResource()

Returns

string

Get the path to XSLT stylesheet.

getStyle() : mixed

Returns

mixedXSLT stylesheet path.

Convenience method to support logging in filters.

log(string $msg, int $level) 
Inherited
inherited_from \BaseFilterReader::log()
inherited_from \BaseParamFilterReader::log()

Parameters

$msg

string

Message to log.

$level

int

Priority level.

If supported, places a "marker" (like a bookmark) at current stream position.

mark() 
Inherited

A subsequent call to reset() will move stream position back to last marker (if supported).

inherited_from \Reader::mark()
inherited_from \FilterReader::mark()
inherited_from \BaseFilterReader::mark()
inherited_from \BaseParamFilterReader::mark()

Whether marking is supported.

markSupported() : boolean
Inherited
inherited_from \Reader::markSupported()
inherited_from \FilterReader::markSupported()
inherited_from \BaseFilterReader::markSupported()
inherited_from \BaseParamFilterReader::markSupported()

Returns

boolean

Reads stream, applies XSLT and returns resulting stream.

read(\off $len) : string

FIXME: Clean up this function signature, as it a) params aren't being used and b) it doesn't make much sense.

Parameters

$len

\off

Offset at which to start storing characters.

Exceptions

\BuildException - if XSLT support missing, if error in xslt processing

Returns

stringtransformed buffer.

Reads a line of text ending with '\n' (or until the end of the stream).

readLine() : \the
Inherited

The returned String retains the '\n'.

inherited_from \BaseFilterReader::readLine()
inherited_from \BaseParamFilterReader::readLine()

Exceptions

\IOException if the underlying reader throws one during reading

Returns

\theline read, or null if the end of the stream has already been reached

Is stream ready for reading.

ready() : boolean
Inherited
inherited_from \Reader::ready()
inherited_from \FilterReader::ready()
inherited_from \BaseFilterReader::ready()
inherited_from \BaseParamFilterReader::ready()

Returns

boolean

Reset the current position in stream to beginning or last mark (if supported).

reset() 
Inherited
inherited_from \FilterReader::reset()
inherited_from \BaseFilterReader::reset()
inherited_from \BaseParamFilterReader::reset()

Whether to use HTML parser for XML.

setHtml(boolean $b) 

Parameters

$b

boolean

Sets the initialized status.

setInitialized(boolean $initialized) 
Inherited
inherited_from \BaseFilterReader::setInitialized()
inherited_from \BaseParamFilterReader::setInitialized()

Parameters

$initialized

boolean

Whether or not the filter is initialized.

setParameters()

setParameters($parameters) 
Inherited
inherited_from \BaseParamFilterReader::setParameters()

Parameters

$parameters

Sets the XSLT params for this class.

setParams(array $params) 

This is used to "clone" this class, in the chain() method.

Parameters

$params

array

Sets the project to work with.

setProject(\Project $project) 
Inherited
inherited_from \BaseFilterReader::setProject()
inherited_from \BaseParamFilterReader::setProject()

Parameters

$project

object

The project this filter is part of. Should not be null.

setReader()

setReader(\Reader $in) 
Inherited
inherited_from \FilterReader::setReader()
inherited_from \BaseFilterReader::setReader()
inherited_from \BaseParamFilterReader::setReader()

Parameters

$in

Whether to resolve entities in document.

setResolveDocumentExternals(bool $resolveExternals) 
since 2.4

Parameters

$resolveExternals

bool

Whether to resolve entities in stylesheet.

setResolveStylesheetExternals(bool $resolveExternals) 
since 2.4

Parameters

$resolveExternals

bool

Set the XSLT stylesheet.

setStyle(\PhingFile $file) 

Parameters

$file

mixed

PhingFile object or path.

Move stream position relative to current pos.

skip(int $n) 
Inherited
inherited_from \FilterReader::skip()
inherited_from \BaseFilterReader::skip()
inherited_from \BaseParamFilterReader::skip()

Parameters

$n

int

Try to process the XSLT transformation

process(string $xml, string $xsl) 

Parameters

$xml

string

XML to process.

$xsl

string

XSLT sheet to use for the processing.

Exceptions

\BuildException On XSLT errors

Parses the parameters to get stylesheet path.

_initialize() 

 Properties

 

$_parameters 
Inherited
inherited_from \BaseParamFilterReader::$$_parameters
 

$in : \Reader
Inherited
inherited_from \FilterReader::$$in
inherited_from \BaseFilterReader::$$in
inherited_from \BaseParamFilterReader::$$in
 

$initialized 
Inherited
inherited_from \BaseFilterReader::$$initialized
inherited_from \BaseParamFilterReader::$$initialized
 

$project 
Inherited
inherited_from \BaseFilterReader::$$project
inherited_from \BaseParamFilterReader::$$project
 

$html 
 

$processed : boolean
 

$resolveDocumentExternals : bool
since 2.4
 

$resolveStylesheetExternals : bool
since 2.4
 

$xslFile : string
 

$xsltParams : array