filters/XsltFilter.php
\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).
- Implements
- \ChainableReader
- 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: XsltFilter.php 557 2009-08-29 13:54:38Z mrook $
Properties

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

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

$initialized= 'false'
Have the parameters passed been interpreted?
Inherited from: \BaseFilterReader::$initialized
boolean
$processed= 'false'
Whether XML file has been transformed.
falseDetails- Type
- boolean

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()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.

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()| Type | Description |
|---|---|
| boolean |

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

getInitialized(
)
:
boolean
| 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()| 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()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
)
:
void
| 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()A subsequent call to reset() will move stream position back to last marker (if supported).

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()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 |

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

setInitialized(
boolean $initialized
)
:
void
| 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
)
:
void
| 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. |