/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 validate/intel_dom2.java

  • Committer: Suren A. Chilingaryan
  • Date: 2009-09-23 17:13:04 UTC
  • Revision ID: csa@dside.dyndns.org-20090923171304-osvtr4zqb29h11kd
Intel, Tango, Phobos, and RapidXML parsers; Memory benchmark scripts

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
import java.io.*;
 
2
import java.util.*;
 
3
import java.text.*;
 
4
import javax.xml.parsers.DocumentBuilderFactory; 
 
5
import javax.xml.parsers.DocumentBuilder; 
 
6
 
 
7
import javax.xml.transform.Source;
 
8
import javax.xml.transform.stream.StreamSource;
 
9
import javax.xml.transform.dom.DOMSource;
 
10
import javax.xml.XMLConstants;
 
11
import javax.xml.validation.SchemaFactory;
 
12
import javax.xml.validation.Schema;
 
13
import javax.xml.validation.Validator;
 
14
 
 
15
import org.w3c.dom.Document;
 
16
 
 
17
public class intel_dom2 extends bench {
 
18
    SchemaFactory schemaFactory;
 
19
    Schema schema;
 
20
    Validator validator;
 
21
    
 
22
    DocumentBuilderFactory factory;
 
23
    DocumentBuilder parser;
 
24
    final String JAXP_SS="http://java.sun.com/xml/jaxp/properties/schemaSource";
 
25
    final String JAXP_SL="http://java.sun.com/xml/jaxp/properties/schemaLanguage";
 
26
    final String W3C_Schema="http://www.w3.org/2001/XMLSchema";
 
27
 
 
28
    
 
29
    public void InitXML(boolean large_data) {
 
30
            factory = DocumentBuilderFactory.newInstance();
 
31
            factory.setNamespaceAware(true);
 
32
            factory.setValidating(false);
 
33
 
 
34
            try {
 
35
                if (large_data) {
 
36
                    factory.setFeature("http://apache.org/xml/features/dom/defer-node-expansion", true);
 
37
                } else {
 
38
                    factory.setFeature("http://apache.org/xml/features/dom/defer-node-expansion", false);
 
39
                }
 
40
            } catch (Throwable err) {
 
41
                // ignoring missing option
 
42
            }
 
43
 
 
44
            try {
 
45
                parser = factory.newDocumentBuilder();
 
46
            }
 
47
            catch (Throwable err) {
 
48
                err.printStackTrace ();
 
49
                return;
 
50
            }
 
51
 
 
52
    }
 
53
    
 
54
    public void InitXML_Validation(String schema_file) {
 
55
            factory = DocumentBuilderFactory.newInstance();
 
56
            factory.setNamespaceAware(true);
 
57
            factory.setValidating(false);
 
58
 
 
59
            try {
 
60
                if (large_data) {
 
61
                    factory.setFeature("http://apache.org/xml/features/dom/defer-node-expansion", true);
 
62
                } else {
 
63
                    factory.setFeature("http://apache.org/xml/features/dom/defer-node-expansion", false);
 
64
                }
 
65
            } catch (Throwable err) {
 
66
                // ignoring missing option
 
67
            }
 
68
 
 
69
            Source schemaSource = new StreamSource(schema_file);
 
70
            schemaFactory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
 
71
 
 
72
            try {
 
73
                schema = schemaFactory.newSchema(schemaSource);
 
74
                validator = schema.newValidator();
 
75
            } catch (Throwable err) {
 
76
                err.printStackTrace ();
 
77
                return;
 
78
            }
 
79
 
 
80
            /* 
 
81
                Not working
 
82
                factory.setSchema(schema);
 
83
            */
 
84
            
 
85
            try {
 
86
                parser = factory.newDocumentBuilder();
 
87
            }
 
88
            catch (Throwable err) {
 
89
                err.printStackTrace ();
 
90
                return;
 
91
            }
 
92
 
 
93
    }
 
94
 
 
95
    
 
96
    public void ParseXML(FileInputStream is, int iters, int iter) {
 
97
        try {
 
98
            parser.parse(is);           
 
99
        }
 
100
        catch (Exception e)
 
101
        {
 
102
            System.out.println(e.toString());
 
103
        }
 
104
    }
 
105
 
 
106
    public void ValidateXML(FileInputStream is, int iters, int iter) {
 
107
        try {
 
108
            Document doc = parser.parse(is);            
 
109
            validator.validate(new DOMSource(doc));
 
110
        }
 
111
        catch (Exception e)
 
112
        {
 
113
            System.out.println(e.toString());
 
114
        }
 
115
    }
 
116
    
 
117
    static public void main(String argv[]) throws IOException {
 
118
        bench mybench = new intel_dom2();
 
119
        mybench.Bench(argv);
 
120
    }
 
121
}
 
 
b'\\ No newline at end of file'