SunshinePHP Developer Conference 2015

xslt_set_scheme_handlers

(PHP 4 >= 4.0.6)

xslt_set_scheme_handlersتعیین کنترل‌کننده شما برای پردازش‌گر XSLT

Description

void xslt_set_scheme_handlers ( resource $xh , array $handlers )

ثبت کنترل‌کننده‌های شما (کنترل کننده XPath) برای سند.

Parameters

xh

شناساگر پیوند پردازش‌گر XSLT ساخته شده توسط xslt_create().

handlers

آرایه به همراه کلیدهای زیر: "get_all"، "open"، "get"، "put"، و "close".

هر ورودی باید نام تابع یا آرایه با قالب زیر باشد : array($obj, "method").

توجه کنید آرایه داده شده نیازمند تمام عناصر متفاوت کنترل‌کننده شما نیست (با وجود امکان پذیرش تمام آنها) اما تنها نیازمند تشکیل قالب "handler" => "fonction" توضیح داده شده در بالاست.

هر تابع کنترل‌کننده شما فراخوانی شده در قالب زیر هستند:

string   get_all(resource processor, string scheme, string rest)
resource open(resource processor, string scheme, string rest)
int      get(resource processor, resource fp, string &data)
int      put(resource processor, resource fp, string data)
void     close(resource processor, resource fp)

Return Values

No value is returned.

Examples

Example #1 مثال xslt_set_scheme_handlers()

به عنوان مثال اینجا پیاده‌سازیتابع "file_exists()" در PHP است.

<?php

// Definition of the handler
function mySchemeHandler($processor$scheme$rest)
{
    
$rest substr($rest,1);    // to remove the first / automatically added by the engine
    
if ($scheme == 'file_exists') {
        
// result is embedded in a small xml string
        
return '<?xml version="1.0" encoding="UTF-8"?><root>' . (file_exists($rest) ? 'true' 'false') . '</root>';
    }
}

$SchemeHandlerArray = array('get_all' => 'mySchemeHandler');

// Start the engine
$params = array();
$xh xslt_create();

xslt_set_scheme_handlers($xh$SchemeHandlerArray);

$result xslt_process($xh"myFile.xml""myFile.xsl"NULL, array(), $params);
xslt_free($xh);

echo 
$result;

?>

سپس در stylesheet شما می‌توانید وجود فایل را به صورت زیر آزمایش کنید:

<xsl:if test="document('file_exists:anotherXMLfile.xml')/root='true'">
 <!-- The file exist -->
</xsl:if>

See Also

add a note add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top