портирование кода php4-domxml в php5-dom (simplexml)

cryo

Guest
портирование кода php4-domxml в php5-dom (simplexml)

Может есть у кого-нибудь опыт переноса проекта с php4 функций DOMXML на php5 функций дом? Неужели все ручками? А может изобрели какое-нибудь расширение - враппер чтобы старый код работал с новым модулем?
 

Gorath

Новичок
А нет ли обратной штуки - то есть чтобы функции PHP4 враппились на стандартные w3c dom имена обьектов, методов?
 

slach

Новичок
более или менее нормальных врапперов так и не сделали
были библиотеки
но с появлением php5 + libxml много проектов загнулось

-~{}~ 23.05.05 14:26:

ошибочка вышла

http://freshmeat.net/projects/phpmyxml/

вроде то что надо
 

Gorath

Новичок
Жалко, но это не враппер, а собственная реализация парсера.
Ну да и ладно - не так сложно написать враппер только с нужными операциями под две версии. Я написал.
 

slach

Новичок
написал??
выложи!

это именно php4 -> php5 compatible DOM Wrapper ???
полная реализация ?
 

Gorath

Новичок
Нет, я имел в виду два вот таких класса под разные версии пхп
PHP:
<?php

/**
 * SKIPPED
 **/
class gXML extends DomDocument
{
/**
 * SKIPPED
 **/

    /**
     * Constructor
     * @param    string   $input     Plain string XML data or filename to load XML data from.
     * @param    boolean  $fromFile  If true, XML data will be loaded from $input file.
     * @access protected
     */
    function __construct($input, $fromFile = false)
    {
/**
 * SKIPPED
 **/
    }

    /**
     * Returns whole XML document as a string.
     * @access public
     * @param  boolean  $asHTML  If true, XML data will be outputted as HTML, not XML.
     * @return string
     **/
    function out($asHTML = false)
    {
/**
 * SKIPPED
 **/
    }
    
    /**
     * Applies XSL template to document.
     * @access public
     * @param  string   $input     Plain string XML data or filename to load XML data from.
     * @param  boolean  $fromFile  If true, XML data will be loaded from $input file.
     **/
    function render($input, $fromFile = false)
    {
/**
 * SKIPPED
 **/
    }

    /**
     * Returns XPath result for query specified with $query parameter.
     * @access public
     * @param  string   $query    XPath query string
     * @param  boolean  $asArray  If true, result will be converted into simple array
     * @return object
     **/
    function query($query, $asArray = false)
    {
/**
 * SKIPPED
 **/
    }

    /**
     * Imports nodes and assigns them to other nodes.
     * @access public
     * @param  string   $destinationPath  XPath query string for destination nodes.
     * @param  gXML     $sourceXML        Source XML document
     * @param  string   $sourcePath       XPath query string for source nodes.
     **/
    function assign($destinationPath, $sourceXML, $sourcePath = "/root/*")
    {
/**
 * SKIPPED
 **/
    }

    /**
     * Sets the value of specified node.
     * @access public
     * @param  string   $path   Path to target node.
     * @param  string   $value  Text.
     **/
    function setNode($path, $value)
    {
/**
 * SKIPPED
 **/
    }

    /**
     * Sets the value of specified node using callback function.
     * @access public
     * @param  string  $path   Path to target nodes.
     * @param  string  $value  Callback function.
     **/
    function callbackNodes($path, $value)
    {
/**
 * SKIPPED
 **/
    }
    
    /**
     * Creates and appends node.
     * @access public
     * @param  string   $path   Path to target node.
     * @param  string   $name   Tag name.
     * @param  string   $value  Text.
     **/
    function appendNode($path, $name, $value)
    {
/**
 * SKIPPED
 **/
    }
}
?>
Если надо, выложу всю свою библиотеку классов..
 
Сверху