cvs: php4 /ext/domxml php_domxml.c php_domxml.h
| From: | Christian Stocker | Date: | Thu, 22 Aug 2002 15:54:25 +0000 |
| Subject: | cvs: php4 /ext/domxml php_domxml.c php_domxml.h | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-13572@lists.php.net to get a copy of this message | ||
chregu Thu Aug 22 11:54:25 2002 EDT
Modified files:
/php4/ext/domxml php_domxml.c php_domxml.h
Log:
@- Added XsltObject->dump_file($result,$filename[,$compression]) for dumping
@ xslt-result directly into a file. (chregu)
Index: php4/ext/domxml/php_domxml.c
diff -u php4/ext/domxml/php_domxml.c:1.200 php4/ext/domxml/php_domxml.c:1.201
--- php4/ext/domxml/php_domxml.c:1.200 Thu Aug 22 11:02:41 2002
+++ php4/ext/domxml/php_domxml.c Thu Aug 22 11:54:22 2002
@@ -16,7 +16,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: php_domxml.c,v 1.200 2002/08/22 15:02:41 chregu Exp $ */
+/* $Id: php_domxml.c,v 1.201 2002/08/22 15:54:22 chregu Exp $ */
/* TODO
* - Support Notation Nodes
@@ -282,7 +282,8 @@
PHP_FE(domxml_xslt_stylesheet_doc, NULL)
PHP_FE(domxml_xslt_stylesheet_file, NULL)
PHP_FE(domxml_xslt_process, NULL)
- PHP_FE(domxml_xslt_dump_mem, NULL)
+ PHP_FE(domxml_xslt_dump_mem, NULL)
+ PHP_FE(domxml_xslt_dump_file, NULL)
#endif
PHP_FALIAS(domxml_add_root, domxml_doc_add_root, NULL)
@@ -523,6 +524,7 @@
/* TODO: maybe some more methods? */
PHP_FALIAS(process, domxml_xslt_process, NULL)
PHP_FALIAS(dump_mem, domxml_xslt_dump_mem, NULL)
+ PHP_FALIAS(dump_file, domxml_xslt_dump_file, NULL)
{NULL, NULL, NULL}
};
#endif
@@ -4208,6 +4210,44 @@
}
RETURN_STRINGL(doc_txt_ptr, doc_txt_len, 1);
+}
+/* }}} */
+
+/* {{{ proto int domxml_xslt_dump_file(object xslstylesheet, object xmldoc, string filename[, int
compression])
+ output XSLT result to File */
+PHP_FUNCTION(domxml_xslt_dump_file)
+{
+ zval *rv, *idxsl, *idxml;
+ xsltStylesheetPtr xsltstp;
+ xmlDocPtr xmldocp;
+ xmlDocPtr docp;
+ xmlChar *doc_txt_ptr;
+ char *filename;
+ int doc_txt_len, filename_len;
+ int ret, compression = 0;
+
+ DOMXML_GET_THIS(idxsl);
+
+ xsltstp = php_xsltstylesheet_get_object(idxsl, le_domxsltstylesheetp, 0 TSRMLS_CC);
+ if (!xsltstp) {
+ php_error(E_WARNING, "%s(): underlying object missing",
+ get_active_function_name(TSRMLS_C));
+ RETURN_FALSE;
+ }
+
+ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "os|l", &idxml, &filename,
&filename_len, &compression) == FAILURE) {
+ RETURN_FALSE;
+ }
+
+ DOMXML_GET_OBJ(xmldocp, idxml, le_domxmldocp);
+
+ ret = xsltSaveResultToFilename(filename, xmldocp, xsltstp, compression);
+
+ if (ret) {
+ RETURN_FALSE;
+ }
+
+ RETURN_LONG(ret);
}
/* }}} */
Index: php4/ext/domxml/php_domxml.h
diff -u php4/ext/domxml/php_domxml.h:1.70 php4/ext/domxml/php_domxml.h:1.71
--- php4/ext/domxml/php_domxml.h:1.70 Thu Aug 22 11:02:41 2002
+++ php4/ext/domxml/php_domxml.h Thu Aug 22 11:54:23 2002
@@ -16,7 +16,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: php_domxml.h,v 1.70 2002/08/22 15:02:41 chregu Exp $ */
+/* $Id: php_domxml.h,v 1.71 2002/08/22 15:54:23 chregu Exp $ */
#ifndef PHP_DOMXML_H
#define PHP_DOMXML_H
@@ -230,6 +230,7 @@
PHP_FUNCTION(domxml_xslt_stylesheet_file);
PHP_FUNCTION(domxml_xslt_process);
PHP_FUNCTION(domxml_xslt_dump_mem);
+PHP_FUNCTION(domxml_xslt_dump_file);
PHP_FUNCTION(domxml_xslt_version);
#endif
typedef struct {