WeberDev.com PHP and MySQL Code

LOG IN
BEGINNER GUIDES  |  PHP CLASSES  |  CODE SEARCH  |  ARTICLES SEARCH  |  PHP FORUMS  |  PHP MANUAL  |  PHP FUNCTIONS LIST  |  WEB SITE TEMPLATES
Start typing to search for PHP and MySQL Code Snippets and Articles Search
Submit a code Example / Snippet Submit Your Code
Search Engine Optimization Monitor SEO Monitor
Web Site UpTime Monitor UpTime Monitor
WeberDev's Monthly code contest PHP Code Contest
Your Personal Examples List My Favorite Examples
Your Personal Articles List My Favorite Articles
Edit Account Info Update Your Profile
PHP Code Search
Web Development Forums
Learn MySQL Playing Trivia
PHPBB2 Templates
Web Development Index
PHP Web Logs (BLogs)
Web Development Resources
Web Development Content
PHPClasses
PHP Editor
PHP Jobs
Vision.To Design
Ajax Tutorials
PHP Programming Help
PHP/MySQL Programming
Webmaster Resources
Webmaster Forum
XML meta language
website builder
Forex Trading Online forex trading platform
Set the scheme handlers for the XSLT processor

xslt_set_scheme_handlers

(PHP 4 >= 4.0.6)

xslt_set_scheme_handlersSet the scheme handlers for the XSLT processor

Description

void xslt_set_scheme_handlers ( resource $xh , array $handlers )

Registers the scheme handlers (XPath handlers) for the document.

Parameters

xh

The XSLT processor link identifier, created with xslt_create().

handlers

An array with the following keys: "get_all", "open", "get", "put", and "close".

Every entry must be a function name or an array in the following format: array($obj, "method").

Note that the given array does not need to contain all of the different scheme handler elements (although it can), but it only needs to conform to the "handler" => "function" format described above.

Each of the individual scheme handler functions called are in the formats below:

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

For example, here is an implementation of the "file_exists()" PHP function.

<?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;

?>

Then, inside the stylesheet, you can test whether a certain file exists with:

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