pajoye Fri Mar 31 23:20:58 2006 UTC
Modified files:
/php-src/ext/xmlreader php_xmlreader.c
Log:
- move setSchema to the 2.6.20 block, this method is only available from
this version
http://cvs.php.net/viewcvs.cgi/php-src/ext/xmlreader/php_xmlreader.c?r1=1.31&r2=1.32&diff_format=u
Index: php-src/ext/xmlreader/php_xmlreader.c
diff -u php-src/ext/xmlreader/php_xmlreader.c:1.31
php-src/ext/xmlreader/php_xmlreader.c:1.32
--- php-src/ext/xmlreader/php_xmlreader.c:1.31 Fri Mar 31 20:50:29 2006
+++ php-src/ext/xmlreader/php_xmlreader.c Fri Mar 31 23:20:58 2006
@@ -16,7 +16,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: php_xmlreader.c,v 1.31 2006/03/31 20:50:29 helly Exp $ */
+/* $Id: php_xmlreader.c,v 1.32 2006/03/31 23:20:58 pajoye Exp $ */
#ifdef HAVE_CONFIG_H
#include "config.h"
@@ -944,6 +944,47 @@
php_xmlreader_no_arg_string(INTERNAL_FUNCTION_PARAM_PASSTHRU,
xmlTextReaderReadString);
}
/* }}} */
+
+/* {{{ proto boolean XMLReader::setSchema(string filename)
+Use W3C XSD schema to validate the document as it is processed. Activation is
only possible before the first Read(). */
+PHP_METHOD(xmlreader, setSchema)
+{
+#ifdef LIBXML_SCHEMAS_ENABLED
+ zval *id;
+ int source_len = 0, retval = -1;
+ xmlreader_object *intern;
+ char *source;
+
+ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s!", &source,
&source_len) == FAILURE) {
+ return;
+ }
+
+ if (source != NULL && !source_len) {
+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "Schema data source
is required");
+ RETURN_FALSE;
+ }
+
+ id = getThis();
+
+ intern = (xmlreader_object *)zend_object_store_get_object(id TSRMLS_CC);
+ if (intern && intern->ptr) {
+ retval = xmlTextReaderSchemaValidate(intern->ptr, source);
+
+ if (retval == 0) {
+ RETURN_TRUE;
+ }
+ }
+
+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unable to set schema. This
must be set prior to reading or schema contains errors.");
+
+ RETURN_FALSE;
+#else
+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "No Schema support built
into libxml.");
+
+ RETURN_FALSE;
+#endif
+}
+/* }}} */
#endif
/* {{{ proto boolean XMLReader::setParserProperty(int property, boolean value)
@@ -992,46 +1033,6 @@
}
/* }}} */
-/* {{{ proto boolean XMLReader::setSchema(string filename)
-Use W3C XSD schema to validate the document as it is processed. Activation is
only possible before the first Read(). */
-PHP_METHOD(xmlreader, setSchema)
-{
-#ifdef LIBXML_SCHEMAS_ENABLED
- zval *id;
- int source_len = 0, retval = -1;
- xmlreader_object *intern;
- char *source;
-
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s!", &source,
&source_len) == FAILURE) {
- return;
- }
-
- if (source != NULL && !source_len) {
- php_error_docref(NULL TSRMLS_CC, E_WARNING, "Schema data source
is required");
- RETURN_FALSE;
- }
-
- id = getThis();
-
- intern = (xmlreader_object *)zend_object_store_get_object(id TSRMLS_CC);
- if (intern && intern->ptr) {
- retval = xmlTextReaderSchemaValidate(intern->ptr, source);
-
- if (retval == 0) {
- RETURN_TRUE;
- }
- }
-
- php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unable to set schema. This
must be set prior to reading or schema contains errors.");
-
- RETURN_FALSE;
-#else
- php_error_docref(NULL TSRMLS_CC, E_WARNING, "No Schema support built
into libxml.");
-
- RETURN_FALSE;
-#endif
-}
-
/* TODO
XMLPUBFUN int XMLCALL
xmlTextReaderSetSchema (xmlTextReaderPtr reader,
@@ -1167,6 +1168,7 @@
PHP_ME(xmlreader, readInnerXml, NULL, ZEND_ACC_PUBLIC)
PHP_ME(xmlreader, readOuterXml, NULL, ZEND_ACC_PUBLIC)
PHP_ME(xmlreader, readString, NULL, ZEND_ACC_PUBLIC)
+ PHP_ME(xmlreader, setSchema, NULL, ZEND_ACC_PUBLIC)
#endif
/* Not Yet Implemented though defined in libxml as of 2.6.9dev
PHP_ME(xmlreader, resetState, NULL, ZEND_ACC_PUBLIC)
@@ -1174,7 +1176,6 @@
PHP_ME(xmlreader, setParserProperty, NULL, ZEND_ACC_PUBLIC)
PHP_ME(xmlreader, setRelaxNGSchema, NULL, ZEND_ACC_PUBLIC)
PHP_ME(xmlreader, setRelaxNGSchemaSource, NULL, ZEND_ACC_PUBLIC)
- PHP_ME(xmlreader, setSchema, NULL, ZEND_ACC_PUBLIC)
PHP_ME(xmlreader, XML, NULL, ZEND_ACC_PUBLIC|ZEND_ACC_ALLOW_STATIC)
PHP_ME(xmlreader, expand, NULL, ZEND_ACC_PUBLIC)
{NULL, NULL, NULL}
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php