[ Index ]

PHP Cross Reference of Unnamed Project v0.00

title

Body

[close]

/ -> XSLT.phl (source)

   1  <?php
   2  require_once "jp/ne/hi_ho/pat/dimension/Object.phl";
   3  require_once "jp/ne/hi_ho/pat/dimension/xml/xslt/XSLTProcessorFactory.phl";
   4  require_once "jp/ne/hi_ho/pat/dimension/xml/xslt/XSLTLogHandlerFactory.phl";
   5  define("CLASSPATH_XSLT", "jp/ne/hi_ho/pat/dimension/xml/xslt/");
   6  ?>
   7  <?php
   8  /**
   9   * XSLTクラス
  10   *
  11   * PHP4.0.x系・4.1.x系に対応していますが、両者でかなりAPIの違いが
  12   * ありますので、基本的なメソッドしか用意していません。が、徐々に
  13   * 増やしていってます(^-^;
  14   *
  15   * @package jp.ne.hi_ho.pat.dimension.xml.xslt
  16   * @access    public
  17   * @author    Hideyuki Shimooka <dimension@pat.hi-ho.ne.jp>
  18   * @create    2002/01/28
  19   * @version    $Id: XSLT.phl,v 1.6 2002/02/08 18:35:35 shimooka Exp $
  20   **/
  21  class XSLT extends Object
  22  {
  23      var $xsltHandler_;
  24      var $xsltProcessor_;
  25      var $xsltLogHandler_;
  26  
  27      /**
  28       * コンストラクタ
  29       *
  30       * PHPのバージョンによってXSLTハンドラとログハンドラの作成を行います
  31       *
  32       * @access    public
  33       */
  34  	function XSLT()
  35      {
  36          $this->xsltHandler_ = xslt_create();
  37  
  38          $pf = new XSLTProcessorFactory();
  39          $this->xsltProcessor_ = $pf->create();
  40  
  41          $lf = new XSLTLogHandlerFactory();
  42          $this->xsltLogHandler_ = $lf->create();
  43      }
  44  
  45      /**
  46       * XML/XSLデータから、変換結果を返します
  47       * @access    public
  48       * @param    String    $xml    XMLデータ
  49       * @param    String    $xsl    XSLTデータ
  50       * @return    String    変換結果
  51       */
  52  	function process($xml, $xsl)
  53      {
  54          return $this->xsltProcessor_->process($this->xsltHandler_, $xml, $xsl);
  55      }
  56  
  57      /**
  58       * XML/XSLファイルを読み込み、変換結果を返します
  59       * @access    public
  60       * @param    String    $xml    XMLファイル名
  61       * @param    String    $xsl    XSLTファイル名
  62       * @return    String    変換結果
  63       */
  64  	function processFile($xml, $xsl)
  65      {
  66          return $this->xsltProcessor_->processFile($this->xsltHandler_, $xml, $xsl);
  67  
  68      }
  69  
  70      /**
  71       * XMLドキュメントをパースするエンコーディングを設定します
  72       * @access    public
  73       * @param    String    $encoding    エンコーディング
  74       */
  75  	function setEncoding($encoding)
  76      {
  77          xslt_set_encoding($this->xsltHandler_, $encoding);
  78      }
  79  
  80      /**
  81       * デバッグ用のログファイルを指定する
  82       * @access    public
  83       * @param    String    $fileName    ファイル名
  84       */
  85  	function startLog($fileName)
  86      {
  87          $this->xsltLogHandler_->startLog($this->xsltHandler_, $fileName);
  88      }
  89  
  90      /**
  91       * デバッグ用のログファイルを指定を解除する
  92       * @access    public
  93       * @param    String    $fileName    ファイル名
  94       */
  95  	function endLog()
  96      {
  97          $this->xsltLogHandler_->endLog($this->xsltHandler_);
  98      }
  99  
 100      /**
 101       * カレントのエラーメッセージを返します
 102       * @access    public
 103       * @return    String    エラーメッセージ
 104       */
 105  	function getErrorMessage()
 106      {
 107          return xslt_error($this->xsltHandler_);
 108      }
 109  
 110      /**
 111       * カレントのエラー番号を返します
 112       * @access    public
 113       * @return    String    エラー番号
 114       */
 115  	function getErrorNo()
 116      {
 117          return xslt_errno($this->xsltHandler_);
 118      }
 119  
 120      /**
 121       * リソースを解放します
 122       * @access    public
 123       */
 124  	function close()
 125      {
 126          xslt_free($this->xsltHandler_);
 127          unset($this->xsltProcessor_);
 128          unset($this->xsltLogHandler_);
 129          unset($this->xsltHandler_);
 130      }
 131  }
 132  ?>


Generated: Wed May 25 00:22:31 2005 Cross-referenced by PHPXref 0.6