cvs: php4 /ext/domxml php_domxml.c php_domxml.h

From: 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 {

« previous php.cvs (#13572) next »