2001-04-26 00:13:26 +00:00
|
|
|
/*
|
|
|
|
+----------------------------------------------------------------------+
|
|
|
|
| PHP version 4.0 |
|
|
|
|
+----------------------------------------------------------------------+
|
|
|
|
| Copyright (c) 1997, 1998, 1999, 2000, 2001 The PHP Group |
|
|
|
|
+----------------------------------------------------------------------+
|
|
|
|
| This source file is subject to version 2.02 of the PHP license, |
|
|
|
|
| that is bundled with this package in the file LICENSE, and is |
|
|
|
|
| available at through the world-wide-web at |
|
|
|
|
| http://www.php.net/license/2_02.txt. |
|
|
|
|
| If you did not receive a copy of the PHP license and are unable to |
|
|
|
|
| obtain it through the world-wide-web, please send a note to |
|
|
|
|
| license@php.net so we can mail you a copy immediately. |
|
|
|
|
+----------------------------------------------------------------------+
|
|
|
|
| Authors: Sterling Hughes <sterling@php.net> |
|
|
|
|
+----------------------------------------------------------------------+
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef _PHP_XSLT_H
|
|
|
|
#define _PHP_XSLT_H
|
|
|
|
|
|
|
|
#include "php.h"
|
2001-06-11 14:53:31 +00:00
|
|
|
#include "ext/standard/php_filestat.h"
|
2001-04-26 00:13:26 +00:00
|
|
|
|
|
|
|
#ifdef HAVE_XSLT
|
|
|
|
|
|
|
|
#define XSLT_OBJ(__func) (&(__func)->obj)
|
|
|
|
#define XSLT_FUNC(__func) ((__func)->func)
|
|
|
|
|
2001-04-26 02:01:09 +00:00
|
|
|
#define XSLT_IS_FILE 0
|
|
|
|
#define XSLT_IS_DATA 1
|
|
|
|
|
2001-04-26 00:13:26 +00:00
|
|
|
struct xslt_function {
|
|
|
|
zval *obj;
|
|
|
|
zval *func;
|
|
|
|
};
|
|
|
|
|
2001-04-26 02:01:09 +00:00
|
|
|
struct _xslt_argument {
|
|
|
|
char *ptr;
|
|
|
|
int type;
|
|
|
|
};
|
|
|
|
|
|
|
|
typedef struct {
|
|
|
|
struct _xslt_argument xml;
|
|
|
|
struct _xslt_argument xsl;
|
|
|
|
struct _xslt_argument result;
|
|
|
|
} xslt_args;
|
|
|
|
|
2001-04-27 05:00:52 +00:00
|
|
|
extern xslt_args *xslt_parse_arguments(char *, char *, char *, char **);
|
|
|
|
extern void xslt_free_arguments(xslt_args *);
|
2001-04-26 00:13:26 +00:00
|
|
|
|
2001-04-27 05:00:52 +00:00
|
|
|
extern void xslt_assign_handler(struct xslt_function **, zval **);
|
|
|
|
extern void xslt_free_handler(struct xslt_function *);
|
2001-05-28 21:06:50 +00:00
|
|
|
extern void xslt_call_function(char *, zval *, int, zval **, zval **);
|
2001-04-26 00:13:26 +00:00
|
|
|
|
|
|
|
extern void xslt_debug(char *, char *, ...);
|
|
|
|
|
2001-08-07 19:24:21 +00:00
|
|
|
extern void xslt_make_array(zval **zarr, char ***carr);
|
|
|
|
extern void xslt_free_array(char **arr);
|
|
|
|
|
2001-04-26 00:13:26 +00:00
|
|
|
#endif
|
|
|
|
|
|
|
|
#endif
|