mirror of
https://gitlab.gnome.org/GNOME/libxslt
synced 2025-11-08 11:02:18 +03:00
very early steps, Daniel.
This commit is contained in:
@@ -1,3 +1,8 @@
|
||||
Sun Jan 7 16:11:42 CET 2001 Daniel Veillard <Daniel.Veillard@imag.fr>
|
||||
|
||||
* libxslt/xslt.[ch] libxslt/xsltInternals.h libxslt/xsltproc.c:
|
||||
very early coding
|
||||
|
||||
Sun Jan 7 15:10:54 CET 2001 Daniel Veillard <Daniel.Veillard@imag.fr>
|
||||
|
||||
* configure.in Makefile.am AUTHORS NEWS autogen.sh config.h.in
|
||||
|
||||
@@ -16,7 +16,7 @@ libxslt_la_SOURCES = \
|
||||
noinst_PROGRAMS = xsltproc
|
||||
|
||||
DEPS = $(top_builddir)/libxslt/libxslt.la
|
||||
LDADDS = $(top_builddir)/libxslt/libxslt.la $(LIBXML_LIBS)
|
||||
LDADDS = -L. $(top_builddir)/libxslt/libxslt.la $(LIBXML_LIBS)
|
||||
|
||||
xsltproc_SOURCES = xsltproc.c
|
||||
xsltproc_LDFLAGS =
|
||||
|
||||
@@ -9,17 +9,48 @@
|
||||
* Daniel.Veillard@imag.fr
|
||||
*/
|
||||
|
||||
#include <string.h>
|
||||
|
||||
#include <libxml/xmlmemory.h>
|
||||
#include <libxml/parser.h>
|
||||
#include <libxml/tree.h>
|
||||
#include <libxml/xmlerror.h>
|
||||
#include <libxslt/xslt.h>
|
||||
#include <libxslt/xsltInternals.h>
|
||||
|
||||
/*
|
||||
* There is no XSLT specific error reporting module yet
|
||||
*/
|
||||
#define xsltGenericError xmlGenericError
|
||||
#define xsltGenericErrorContext xmlGenericErrorContext
|
||||
|
||||
/************************************************************************
|
||||
* *
|
||||
* Routines to handle XSLT data structures *
|
||||
* *
|
||||
************************************************************************/
|
||||
|
||||
/**
|
||||
* xsltNewStylesheet:
|
||||
*
|
||||
* Create a new XSLT Stylesheet
|
||||
*
|
||||
* Returns the newly allocated xsltStylesheetPtr or NULL in case of error
|
||||
*/
|
||||
xsltStylesheetPtr
|
||||
xsltNewStylesheet(void) {
|
||||
xsltStylesheetPtr cur;
|
||||
|
||||
cur = (xsltStylesheetPtr) xmlMalloc(sizeof(xsltStylesheet));
|
||||
if (cur == NULL) {
|
||||
xsltGenericError(xsltGenericErrorContext,
|
||||
"xsltNewStylesheet : malloc failed\n");
|
||||
return(NULL);
|
||||
}
|
||||
memset(cur, 0, sizeof(xsltStylesheet));
|
||||
return(cur);
|
||||
}
|
||||
|
||||
/**
|
||||
* xsltFreeStylesheet:
|
||||
* @sheet: an XSLT stylesheet
|
||||
@@ -28,6 +59,12 @@
|
||||
*/
|
||||
void
|
||||
xsltFreeStylesheet(xsltStylesheetPtr sheet) {
|
||||
if (sheet == NULL)
|
||||
return;
|
||||
if (sheet->doc != NULL)
|
||||
xmlFreeDoc(sheet->doc);
|
||||
memset(sheet, -1, sizeof(xsltStylesheet));
|
||||
xmlFree(sheet);
|
||||
}
|
||||
|
||||
/************************************************************************
|
||||
@@ -48,6 +85,24 @@ xsltFreeStylesheet(xsltStylesheetPtr sheet) {
|
||||
xsltStylesheetPtr
|
||||
xsltParseStylesheetFile(const xmlChar* filename) {
|
||||
xsltStylesheetPtr ret;
|
||||
xmlDocPtr doc;
|
||||
|
||||
if (filename == NULL)
|
||||
return(NULL);
|
||||
|
||||
doc = xmlParseFile(filename);
|
||||
if (doc == NULL) {
|
||||
xsltGenericError(xsltGenericErrorContext,
|
||||
"xsltParseStylesheetFile : cannot parse %s\n", filename);
|
||||
return(NULL);
|
||||
}
|
||||
ret = xsltNewStylesheet();
|
||||
if (ret == NULL) {
|
||||
xmlFreeDoc(doc);
|
||||
return(NULL);
|
||||
}
|
||||
|
||||
ret->doc = doc;
|
||||
|
||||
return(ret);
|
||||
}
|
||||
|
||||
@@ -21,12 +21,14 @@ extern "C" {
|
||||
typedef struct _xsltStylesheet xsltStylesheet;
|
||||
typedef xsltStylesheet *xsltStylesheetPtr;
|
||||
struct _xsltStylesheet {
|
||||
xmlDocPtr doc; /* the parsed XML stylesheet */
|
||||
};
|
||||
|
||||
/*
|
||||
* Functions associated to the internal types
|
||||
*/
|
||||
xsltStylesheetPtr xsltParseStylesheetFile (const xmlChar* filename);
|
||||
void xsltFreeStylesheet (xsltStylesheetPtr sheet);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
||||
@@ -6,6 +6,8 @@
|
||||
* Daniel.Veillard@imag.fr
|
||||
*/
|
||||
|
||||
#include <string.h>
|
||||
#include <libxml/xmlmemory.h>
|
||||
#include <libxslt/xslt.h>
|
||||
#include <libxslt/xsltInternals.h>
|
||||
|
||||
@@ -13,8 +15,7 @@ static int debug = 0;
|
||||
|
||||
int
|
||||
main(int argc, char **argv) {
|
||||
int i, count;
|
||||
int files = 0;
|
||||
int i;
|
||||
xsltStylesheetPtr cur;
|
||||
|
||||
LIBXML_TEST_VERSION
|
||||
|
||||
Reference in New Issue
Block a user