XSLT (PHP 4) 函数
在线手册:中文 英文
PHP手册

xslt_set_base

(PHP 4 >= 4.0.5)

xslt_set_baseSet the base URI for all XSLT transformations

说明

void xslt_set_base ( resource $xh , string $uri )

Sets the base URI for all XSLT transformations, the base URI is used with Xpath instructions to resolve document() and other commands which access external resources. It is also used to resolve URIs for the <xsl:include> and <xsl:import> elements.

参数

xh

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

uri

The base URI to be used.

返回值

没有返回值。

更新日志

版本 说明
4.3.0 As of PHP 4.3.0, the default base URI is the directory of the executing script. In effect, it is the directory name value of the __FILE__ constant. The default base URI is less predictable with older versions.

注释

Note:

请注意: 在使用 Windows 时,路径必须由 file:// 开头。


XSLT (PHP 4) 函数
在线手册:中文 英文
PHP手册
PHP手册 - N: Set the base URI for all XSLT transformations

用户评论:

h0bby1 at yahoo dot com (27-Feb-2008 01:20)

i use xslt and page can be generated in two mode, one using <? xml-stylesheet href='page.xsl' >, one other using the php sablotron lib, the first one use path relative to the xsl file for includes , but the second with sablotron consider all the includes as relative to the set base path, is there any way to get sablotron to resolve include as relative to xslt file instead of the set_base for all files ?

edmon at oohaa dot net (04-Oct-2004 12:09)

$filebase = 'file://' . getcwd () . '/xsl/';
   xslt_set_base($xsltproc, $filebase);

file:// is needed for linux too.
php 4.3.8

Kelvin Cheng (10-Mar-2004 10:44)

It works great on my windows platform as below.

<?php
$xh
= xslt_create();
$fileBase = 'file://' . getcwd () . '/';
xslt_set_base ( $xh, $fileBase );

...

?>

Actually, it make use of the getcwd() to get the current directory. Hope it can help.