On Thu, 22 Nov 2001 22:17:18 +0100 [EMAIL PROTECTED] wrote: > I've written a PHP-2-XML converter which is sitting directly on the > Zend-parser. This gives us more speed and more accuracy.
Difficult to do better in fact ... ;) > It has been written because Ulf Wendel convinced me to do it by > delivering a few pizzas. :)) > If someone wants to test it, download it from http://weigon.dyndns.org/ Yeap it works fine :) Some minor bugfixes i've find tonight (diff -u at bottom) > It is a php-extension which requires some patches to the Zend engine. If > someone tests it, don't give up to early. The ext has been written for > 4.0.4pl1 or the like and won't compile with the latest php as the Zend > core has changed. At least it still work with 4.0.6 > Currently missing is the PHPDoc part (the php code) which can handle > XML. What to you thing about a double output for this code : - on a side can generate standart HTML output like 'classical' phpdoc - on the other a docbook output. It could be a good way to obtain more easily pear's enduser doc. Even if the docbook output surely need corrections it could be anyway a nice starting point... --- old_phpdoc.c Fri Nov 23 08:58:31 2001 +++ phpdoc.c Fri Nov 23 08:47:44 2001 @@ -17,6 +17,7 @@ +----------------------------------------------------------------------+ */ + #include "php.h" #include "php_ini.h" #include "php_phpdoc.h" @@ -488,6 +489,14 @@ PHPDOC_STRCAT(new_string, "/>"); st.pos--; break; + case T_INCLUDE: + case T_INCLUDE_ONCE: + case T_REQUIRE: + case T_REQUIRE_ONCE: + zend_sprintf(buffer, "\"/>\n"); + PHPDOC_STRCAT(new_string, buffer); + st.pos--; + break; } break; case '=': @@ -530,6 +539,14 @@ } break; case ',': + switch (find_something(st.stack, st.pos)) { + case T_FUNCTION_PARAM: + zend_sprintf(buffer, "/>"); + PHPDOC_STRCAT(new_string, buffer); + st.pos--; + break; + } + case T_ARRAY: switch (find_something(st.stack, st.pos)) { case T_FUNCTION_PARAM: zend_sprintf(buffer, "/>"); -- Olivier Courtin -- PHP Development Mailing List <http://www.php.net/> To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] To contact the list administrators, e-mail: [EMAIL PROTECTED]