📄 libxslt.php
字号:
<?php// {{{ license// +----------------------------------------------------------------------+// | PHP version 4.0 |// +----------------------------------------------------------------------+// | Copyright (c) 1997-2002 The PHP Group |// +----------------------------------------------------------------------+// | This source file is subject to version 2.0 of the PHP license, |// | that is bundled with this package in the file LICENSE, and is |// | available at through the world-wide-web at |// | http://www.php.net/license/2_02.txt. |// | If you did not receive a copy of the PHP license and are unable to |// | obtain it through the world-wide-web, please send a note to |// | license@php.net so we can mail you a copy immediately. |// +----------------------------------------------------------------------+// | Authors: Dan Allen <dan@mojavelinux.com> |// +----------------------------------------------------------------------+// $Id: libxslt.php,v 1.2 2002/05/20 22:08:09 dallen Exp $// }}}// {{{ description// XML_CSSML is a CSSML to CSS xslt parser// }}}// {{{ class XML_CSSML_domxml/** * The XML_CSSML_domxml is a container class which * provides the libxslt xsl functions to parse a CSSML * document into a stylesheet with the ability to output * to a file or return * * @author Dan Allen <dan@mojavelinux.com> * @version Revision: 0.1 * @access public * @package XML_CSSML */// }}}class XML_CSSML_libxslt extends XML_CSSML { // {{{ constructor function XML_CSSML_libxslt($in_CSSML = null, $in_type = 'string', $in_params = null) { $this->loaded = false; if (!is_null($in_CSSML)) { $this->load($in_CSSML, $in_type); } if (!is_null($in_params)) { $this->setParams($in_params); } $this->stylesheetDoc = domxml_xslt_stylesheet_file(dirname(__FILE__) . '/libxslt.xsl'); } // }}} // {{{ process() function process() { if (parent::isError($process = parent::process())) { return $process; } // Prepare the params for passing to the stylesheet $params = array( 'filter' => $this->filter, 'browser' => $this->browser, 'comment' => $this->comment, 'output' => $this->output, ); // Run the transformation and return the result (empty if stream is file) $result = $this->stylesheetDoc->process($this->CSSMLDoc, $params); // If stream is STDOUT then create string and return if ($this->output == 'STDOUT') { $resultData = $result->document_element(); $output = $resultData->get_content(); } return isset($output) ? $output : true; } // }}} // {{{ load() function load($in_CSSML, $in_type = 'string') { if (parent::isError($load = parent::load())) { return $load; } // If the CSSML data is already a DOM object (can tell by checking for root) if ($in_type == 'object' && get_class($in_CSSML) == 'DomDocument') { $this->CSSMLDoc = $in_CSSML; } // If this is a data file, then make it an DOM object with the file function elseif ($in_type == 'file' && @file_exists($in_CSSML)) { $this->CSSMLDoc = domxml_open_file($in_CSSML); } // If we were given a string, then make it a DOM object with the string function elseif ($in_type == 'string' && is_string($in_CSSML)) { $this->CSSMLDoc = domxml_open_mem($in_CSSML); } // We need to die here because we have no data or it cannot be xml else { return PEAR::raiseError(null, XML_CSSML_INVALID_DATA, null, E_USER_WARNING, "Request data: $in_CSSML", 'XML_CSSML_Error', true); } if (get_class($this->CSSMLDoc) != 'DomDocument') { return PEAR::raiseError(null, XML_CSSML_INVALID_DOCUMENT, null, E_USER_WARNING, "Request data: $in_CSSML", 'XML_CSSML_Error', true); } $this->loaded = true; } // }}}}?>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -