/xmlbench/trunk

To get this branch, use:
bzr branch http://darksoft.org/webbzr/xmlbench/trunk

« back to all changes in this revision

Viewing changes to xsl/libxml.c

  • Committer: Suren A. Chilingaryan
  • Date: 2009-02-16 09:27:17 UTC
  • Revision ID: csa@dside.dyndns.org-20090216092717-wipyvaaw2srxhgns
Initial import

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#include <stdio.h>
 
2
#include <stdarg.h>
 
3
#include <sys/time.h>
 
4
 
 
5
#include <libxml/xmlmemory.h>
 
6
#include <libxml/parser.h>
 
7
#include <libxml/xmlschemas.h>
 
8
#include <xslt.h>
 
9
#include <xsltInternals.h>
 
10
#include <transform.h>
 
11
#include <xsltutils.h>
 
12
 
 
13
#include "tools.h"
 
14
 
 
15
xmlDocPtr doc=0;
 
16
xmlDocPtr xsldoc=0;
 
17
xsltStylesheetPtr xsl=0;
 
18
 
 
19
 
 
20
void initXML(struct TestData *td) {
 
21
    xmlInitParser();
 
22
}
 
23
 
 
24
void releaseXML(struct TestData *td) {
 
25
    xsltFreeStylesheet(xsl);
 
26
//    xmlFreeDoc(xsldoc);
 
27
    xmlFreeDoc(doc);    
 
28
    xmlCleanupParser();
 
29
}
 
30
 
 
31
void initXML_Transformation(struct TestData *td) {
 
32
    xsldoc=xmlParseMemory(td->xsl,td->xsllen);
 
33
    xsl=xsltParseStylesheetDoc(xsldoc);
 
34
}
 
35
 
 
36
 
 
37
void parseXML(struct TestData *td, unsigned long iter) {
 
38
    if (doc) {
 
39
        xmlFreeDoc(doc);    
 
40
    }
 
41
    doc=xmlParseMemory(td->xml,td->xmllen);
 
42
    if (!doc) {
 
43
        printf("Error parsing document!\n");
 
44
        exit(0);
 
45
    }
 
46
}
 
47
 
 
48
void transformXML(struct TestData *td, unsigned long iter) {
 
49
    xmlChar *mem;
 
50
    int memsize;
 
51
    xmlDocPtr res=0;
 
52
    const char * params[1] = { NULL };
 
53
 
 
54
    res=xsltApplyStylesheet(xsl,doc,params);
 
55
 
 
56
/*
 
57
    if (iter==td->iterations) {
 
58
        xmlDocDumpMemory(res,&mem,&memsize);
 
59
        puts(mem);
 
60
        free(mem);
 
61
    }
 
62
*/
 
63
    xmlFreeDoc(res);
 
64
}
 
65
 
 
66
int main(int argc, char *argv[]) {
 
67
    return Test(argc,argv);
 
68
}