filters/XsltFilter.php
Applies XSL stylesheet to incoming text.
Uses PHP XSLT support (libxslt).
- Author
- Hans Lellelid
- Author
- Yannick Lecaillez
- Author
- Andreas Aderhold
- Package
- phing.filters
- See
- \FilterReader
- Version
- $Id: 057af49d450e4c137127acc0f5331368e7a76183 $
\XSLTParam
Class that holds an XSLT parameter.
Properties
Methods

getExpression(
)
:
stringReturns expression value -- performs lookup if expr is registerslot.
| Type | Description |
|---|---|
| string |

getValue(
)
:
voidGets expression value (alias to the getExpression()) method.
- See
- \getExpression()

setExpression(
string $expr
)
:
voidSets expression value.
| Name | Type | Description |
|---|---|---|
| $expr | string |

setListeningExpression(
\RegisterSlot $expr
)
:
voidSets expression to dynamic register slot.
| Name | Type | Description |
|---|---|---|
| $expr | \RegisterSlot |
\XsltFilter
Applies XSL stylesheet to incoming text.
Uses PHP XSLT support (libxslt).
- Parent(s)
- \BaseParamFilterReader < \BaseFilterReader < \FilterReader < \Reader
- See
- \FilterReader
- Author
- Hans Lellelid
- Author
- Yannick Lecaillez
- Author
- Andreas Aderhold
- Copyright
- � 2003 seasonfive. All rights reserved
- Version
- $Id: 057af49d450e4c137127acc0f5331368e7a76183 $
Properties

$_parameters= 'array()'
array()Details- Type
- n/a
- Inherited_from
- \BaseParamFilterReader::$$_parameters

$html= 'false'
Whether to use loadHTML() to parse the input XML file.
falseDetails- Type
- n/a

\Reader
$in= ''
- Type
- \Reader
- Inherited_from
- \FilterReader::$$in
- Inherited_from
- \BaseFilterReader::$$in
- Inherited_from
- \BaseParamFilterReader::$$in

$initialized= 'false'
Have the parameters passed been interpreted?
Inherited from: \BaseFilterReader::$$initialized\BaseParamFilterReader::$$initializedfalseDetails- Type
- n/a
- Inherited_from
- \BaseFilterReader::$$initialized
- Inherited_from
- \BaseParamFilterReader::$$initialized

boolean
$processed= 'false'
Whether XML file has been transformed.
falseDetails- Type
- boolean

$project= 'null'
The Phing project this filter is part of.
Inherited from: \BaseFilterReader::$$project\BaseParamFilterReader::$$projectnullDetails- Type
- n/a
- Inherited_from
- \BaseFilterReader::$$project
- Inherited_from
- \BaseParamFilterReader::$$project

bool
$resolveDocumentExternals= 'false'
Whether to resolve entities in the XML document (see {@link http://www.php.net/manual/en/class.domdocument.php#domdocument.props.resolveexternals} for more details).
falseDetails- Type
- bool
- Since
- 2.4

bool
$resolveStylesheetExternals= 'false'
Whether to resolve entities in the stylesheet.
falseDetails- Type
- bool
- Since
- 2.4
Methods

__construct(
\Reader $in
=
null
)
:
voidConstructor used by Phing's introspection mechanism.
Inherited from: \BaseFilterReader::__construct()\BaseParamFilterReader::__construct()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.
| Name | Type | Description |
|---|---|---|
| $in | \Reader |

chain(
\Reader $reader
)
:
\ReaderCreates a new XsltFilter using the passed in Reader for instantiation.

close(
)
:
voidClose stream.
Inherited from: \FilterReader::close()\BaseFilterReader::close()\BaseParamFilterReader::close()| Exception | Description |
|---|---|
| \IOException | if there is an error closing stream |

createParam(
)
:
\XSLTParamCreate new XSLT Param object, to handle the nested element.
| Type | Description |
|---|---|
| \XSLTParam |

eof(
)
:
booleanReturns whether the end of file has been reached with input stream.
Inherited from: \BaseFilterReader::eof()\BaseParamFilterReader::eof()| Type | Description |
|---|---|
| boolean |

getHtml(
)
:
booleanWhether to use HTML parser for the XML.
This is supported in libxml2 -- Yay!
| Type | Description |
|---|---|
| boolean |

getInitialized(
)
:
booleanReturns the initialized status.
Inherited from: \BaseFilterReader::getInitialized()\BaseParamFilterReader::getInitialized()| Type | Description |
|---|---|
| boolean | whether or not the filter is initialized |

getParams(
)
:
arrayReturns the XSLT params set for this class.
This is used to "clone" this class, in the chain() method.
| Type | Description |
|---|---|
| array |

getProject(
)
:
objectReturns the project this filter is part of.
Inherited from: \BaseFilterReader::getProject()\BaseParamFilterReader::getProject()| Type | Description |
|---|---|
| object | The project this filter is part of |

getResource(
)
:
stringReturns the filename, url, etc. that is being read from.
Inherited from: \FilterReader::getResource()\BaseFilterReader::getResource()\BaseParamFilterReader::getResource()This is critical for, e.g., ExpatParser's ability to know the filename that is throwing an ExpatParserException, etc.
| Type | Description |
|---|---|
| string |

getStyle(
)
:
mixedGet the path to XSLT stylesheet.
| Type | Description |
|---|---|
| mixed | XSLT stylesheet path. |

log(
string $msg, int $level
=
Project::MSG_INFO
)
:
voidConvenience method to support logging in filters.
Inherited from: \BaseFilterReader::log()\BaseParamFilterReader::log()| Name | Type | Description |
|---|---|---|
| $msg | string | Message to log. |
| $level | int | Priority level. |

mark(
)
:
voidIf supported, places a "marker" (like a bookmark) at current stream position.
Inherited from: \Reader::mark()\FilterReader::mark()\BaseFilterReader::mark()\BaseParamFilterReader::mark()A subsequent call to reset() will move stream position back to last marker (if supported).

markSupported(
)
:
booleanWhether marking is supported.
Inherited from: \Reader::markSupported()\FilterReader::markSupported()\BaseFilterReader::markSupported()\BaseParamFilterReader::markSupported()| Type | Description |
|---|---|
| boolean |

process(
string $xml, string $xsl
)
:
voidTry to process the XSLT transformation
| Name | Type | Description |
|---|---|---|
| $xml | string | XML to process. |
| $xsl | string | XSLT sheet to use for the processing. |
| Exception | Description |
|---|---|
| \BuildException | On XSLT errors |

read(
\off $len
=
null
)
:
stringReads stream, applies XSLT and returns resulting stream.
FIXME: Clean up this function signature, as it a) params aren't being used and b) it doesn't make much sense.
| Name | Type | Description |
|---|---|---|
| $len | \off | Offset at which to start storing characters. |
| Type | Description |
|---|---|
| string | transformed buffer. |
| Exception | Description |
|---|---|
| \BuildException | - if XSLT support missing, if error in xslt processing |

readLine(
)
:
\theReads a line of text ending with '\n' (or until the end of the stream).
Inherited from: \BaseFilterReader::readLine()\BaseParamFilterReader::readLine()The returned String retains the '\n'.
| Type | Description |
|---|---|
| \the | line read, or <code>null</code> if the end of the stream has already been reached |
| Exception | Description |
|---|---|
| \IOException | if the underlying reader throws one during reading |

ready(
)
:
booleanIs stream ready for reading.
Inherited from: \Reader::ready()\FilterReader::ready()\BaseFilterReader::ready()\BaseParamFilterReader::ready()| Type | Description |
|---|---|
| boolean |

reset(
)
:
voidReset the current position in stream to beginning or last mark (if supported).
Inherited from: \FilterReader::reset()\BaseFilterReader::reset()\BaseParamFilterReader::reset()
setHtml(
boolean $b
)
:
voidWhether to use HTML parser for XML.
| Name | Type | Description |
|---|---|---|
| $b | boolean |

setInitialized(
boolean $initialized
)
:
voidSets the initialized status.
Inherited from: \BaseFilterReader::setInitialized()\BaseParamFilterReader::setInitialized()| Name | Type | Description |
|---|---|---|
| $initialized | boolean | Whether or not the filter is initialized. |

setParameters(
$parameters
)
:
void| Name | Type | Description |
|---|---|---|
| $parameters |

setParams(
array $params
)
:
voidSets the XSLT params for this class.
This is used to "clone" this class, in the chain() method.
| Name | Type | Description |
|---|---|---|
| $params | array |

setProject(
object $project
)
:
voidSets the project to work with.
Inherited from: \BaseFilterReader::setProject()\BaseParamFilterReader::setProject()| Name | Type | Description |
|---|---|---|
| $project | object | The project this filter is part of. Should not be |

setReader(
$in
)
:
void| Name | Type | Description |
|---|---|---|
| $in |

setResolveDocumentExternals(
bool $resolveExternals
)
:
voidWhether to resolve entities in document.
| Name | Type | Description |
|---|---|---|
| $resolveExternals | bool |
- Since
- 2.4

setResolveStylesheetExternals(
bool $resolveExternals
)
:
voidWhether to resolve entities in stylesheet.
| Name | Type | Description |
|---|---|---|
| $resolveExternals | bool |
- Since
- 2.4

setStyle(
mixed $file
)
:
voidSet the XSLT stylesheet.
| Name | Type | Description |
|---|---|---|
| $file | mixed | PhingFile object or path. |

skip(
int $n
)
:
voidMove stream position relative to current pos.
Inherited from: \FilterReader::skip()\BaseFilterReader::skip()\BaseParamFilterReader::skip()| Name | Type | Description |
|---|---|---|
| $n | int |