PHP.mk документација
XSLTProcessor::registerPHPFunctionNS
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
Патека
xsltprocessor.registerphpfunctionns.php
Локална патека за оваа страница.
Извор
php.net/manual/en
Оригиналниот HTML се реупотребува и локално се стилизира.
Режим
Прокси + превод во позадина
Кодовите, табелите и белешките остануваат читливи во истиот тек.
Референца
xsltprocessor.registerphpfunctionns.php
XSLTProcessor::registerPHPFunctionNS
Референца за `xsltprocessor.registerphpfunctionns.php` со подобрена типографија и навигација.
XSLTProcessor::registerPHPFunctionNS
(PHP >= 8.4.0)
XSLTProcessor::registerPHPFunctionNS — Регистрирајте PHP функција како XSLT функција во именски простор
= NULL
public XSLTProcessor::registerPHPFunctionNS(string
$namespaceURI, string $name, callable $callable): voidОвој метод овозможува користење на PHP функција како XSLT функција во именски простор во XSL стилови.
Параметри
namespaceURI- URI на именскиот простор.
name- Локално име на функцијата во именскиот простор.
callable- PHP функцијата што ќе се повика кога XSL функцијата ќе се повика во стилот. Кога листа од јазли се поминува како параметар на повикот, аргументот станува низа што ги содржи соодветните DOM јазли.
Errors/Exceptions
- Фрла ValueError ако името на повикот не е валидно.
-
Фрла ValueError if
optionsсодржи невалидна опција. -
Фрла ValueError if
overrideEncodingе непознато кодирање. - Фрла TypeError ако даден повик не може да се повика.
Вратени вредности
Не се враќа вредност.
Примери
Пример #1 Едноставен повик на PHP функција од стилска табела
<?php
$xml = <<<EOB
<allusers>
<user>
<uid>bob</uid>
</user>
<user>
<uid>joe</uid>
</user>
</allusers>
EOB;
$xsl = <<<EOB
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:my="urn:my.ns">
<xsl:output method="html" encoding="utf-8" indent="yes"/>
<xsl:template match="allusers">
<html><body>
<h2><xsl:value-of select="my:count(user/uid)" /> users</h2>
<table>
<xsl:for-each select="user">
<tr>
<td>
<xsl:value-of select="my:uppercase(string(uid))"/>
</td>
</tr>
</xsl:for-each>
</table>
</body></html>
</xsl:template>
</xsl:stylesheet>
EOB;
$xmldoc = new DOMDocument();
$xmldoc->loadXML($xml);
$xsldoc = new DOMDocument();
$xsldoc->loadXML($xsl);
$proc = new XSLTProcessor();
$proc->registerPHPFunctionNS('urn:my.ns', 'uppercase', strtoupper(...));
$proc->registerPHPFunctionNS('urn:my.ns', 'count', fn (array $arg1) => count($arg1));
$proc->importStyleSheet($xsldoc);
echo $proc->transformToXML($xmldoc);
?>Види Исто така
- DOMXPath::registerPhpFunctionNS() - Регистрирајте PHP функции како XPath функции во именски простор
- Пример #1 book.xml - Регистрирајте PHP функции како XPath функции
- XSLTProcessor::registerPhpFunctions() - Овозможува користење на PHP функции како XSLT функции
Белешки од корисници
Нема белешки од корисници за оваа страница.