annotate servlet/src/digilib/io/XMLMetaLoader.java @ 152:f4a5cfe37469

Servlet version 1.16a1 - cleanup of DigilibConfig class - now uses new Parameter and ParameterMap classes - new parameter default-quality
author robcast
date Wed, 03 Sep 2003 00:54:38 +0200
parents bc8df0133c04
children afe7ff98bb71
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
130
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
1 /* XMLMetaLoader -- Load an XML format metadata into a Hashtable
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
2
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
3 Digital Image Library servlet components
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
4
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
5 Copyright (C) 2003 Robert Casties (robcast@mail.berlios.de)
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
6
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
7 This program is free software; you can redistribute it and/or modify it
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
8 under the terms of the GNU General Public License as published by the
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
9 Free Software Foundation; either version 2 of the License, or (at your
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
10 option) any later version.
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
11
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
12 Please read license.txt for the full details. A copy of the GPL
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
13 may be found at http://www.gnu.org/copyleft/lgpl.html
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
14
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
15 You should have received a copy of the GNU General Public License
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
16 along with this program; if not, write to the Free Software
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
17 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
18
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
19 */
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
20
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
21 package digilib.io;
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
22
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
23 import java.io.IOException;
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
24 import java.util.HashMap;
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
25 import java.util.LinkedList;
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
26
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
27 import javax.xml.parsers.ParserConfigurationException;
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
28 import javax.xml.parsers.SAXParser;
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
29 import javax.xml.parsers.SAXParserFactory;
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
30
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
31 import org.xml.sax.Attributes;
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
32 import org.xml.sax.SAXException;
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
33 import org.xml.sax.helpers.DefaultHandler;
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
34
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
35 public class XMLMetaLoader {
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
36
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
37 private String outerTag = "resource";
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
38 private String metaTag = "meta";
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
39 private String fileTag = "file";
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
40 private String fileNameTag = "name";
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
41 private String filePathTag = "path";
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
42 private String infoTag = "img";
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
43
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
44 public XMLMetaLoader() {
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
45 }
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
46
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
47 /**
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
48 * inner class XMLMetaParser to be called by the parser
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
49 */
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
50 private class XMLMetaParser extends DefaultHandler {
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
51
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
52 private LinkedList tags;
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
53 private HashMap files;
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
54 private HashMap meta;
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
55 private StringBuffer content;
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
56 private String fileName;
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
57 private String filePath;
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
58
139
11cfe4c89fdc Servlet version 1.11b1 with improved original-size.
robcast
parents: 130
diff changeset
59 /**
11cfe4c89fdc Servlet version 1.11b1 with improved original-size.
robcast
parents: 130
diff changeset
60 * extracts the elements name from either localName ln or qName qn.
11cfe4c89fdc Servlet version 1.11b1 with improved original-size.
robcast
parents: 130
diff changeset
61 *
11cfe4c89fdc Servlet version 1.11b1 with improved original-size.
robcast
parents: 130
diff changeset
62 * @param ln localName
11cfe4c89fdc Servlet version 1.11b1 with improved original-size.
robcast
parents: 130
diff changeset
63 * @param qn qName
11cfe4c89fdc Servlet version 1.11b1 with improved original-size.
robcast
parents: 130
diff changeset
64 * @return element name
11cfe4c89fdc Servlet version 1.11b1 with improved original-size.
robcast
parents: 130
diff changeset
65 */
11cfe4c89fdc Servlet version 1.11b1 with improved original-size.
robcast
parents: 130
diff changeset
66 private String getName(String ln, String qn) {
11cfe4c89fdc Servlet version 1.11b1 with improved original-size.
robcast
parents: 130
diff changeset
67 if (ln != null) {
11cfe4c89fdc Servlet version 1.11b1 with improved original-size.
robcast
parents: 130
diff changeset
68 if (ln.length() > 0) {
11cfe4c89fdc Servlet version 1.11b1 with improved original-size.
robcast
parents: 130
diff changeset
69 return ln;
11cfe4c89fdc Servlet version 1.11b1 with improved original-size.
robcast
parents: 130
diff changeset
70 }
11cfe4c89fdc Servlet version 1.11b1 with improved original-size.
robcast
parents: 130
diff changeset
71 }
11cfe4c89fdc Servlet version 1.11b1 with improved original-size.
robcast
parents: 130
diff changeset
72 // else it's qName (or nothing)
11cfe4c89fdc Servlet version 1.11b1 with improved original-size.
robcast
parents: 130
diff changeset
73 return qn;
11cfe4c89fdc Servlet version 1.11b1 with improved original-size.
robcast
parents: 130
diff changeset
74 }
130
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
75
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
76 // Parser calls this once at the beginning of a document
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
77 public void startDocument() throws SAXException {
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
78 tags = new LinkedList();
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
79 files = new HashMap();
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
80 }
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
81
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
82 // Parser calls this for each element in a document
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
83 public void startElement(
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
84 String namespaceURI,
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
85 String localName,
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
86 String qName,
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
87 Attributes atts)
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
88 throws SAXException {
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
89
139
11cfe4c89fdc Servlet version 1.11b1 with improved original-size.
robcast
parents: 130
diff changeset
90 String name = getName(localName, qName);
130
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
91 // open a new tag
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
92 tags.addLast(name);
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
93 // start new content (no nesting of tags and content)
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
94 content = new StringBuffer();
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
95
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
96 if (name.equals(metaTag)) {
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
97 // new meta tag
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
98 meta = new HashMap();
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
99 } else if (name.equals(fileTag)) {
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
100 // new file tag
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
101 fileName = null;
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
102 filePath = null;
139
11cfe4c89fdc Servlet version 1.11b1 with improved original-size.
robcast
parents: 130
diff changeset
103 meta = new HashMap();
130
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
104 }
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
105 }
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
106
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
107 // parser calls this for all tag content (possibly more than once)
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
108 public void characters(char[] ch, int start, int length)
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
109 throws SAXException {
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
110 // append data to current string buffer
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
111 content.append(ch, start, length);
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
112 }
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
113
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
114 // parser calls this at the end of each element
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
115 public void endElement(
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
116 String namespaceURI,
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
117 String localName,
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
118 String qName)
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
119 throws SAXException {
151
bc8df0133c04 Servlet version 1.15b1
robcast
parents: 139
diff changeset
120
139
11cfe4c89fdc Servlet version 1.11b1 with improved original-size.
robcast
parents: 130
diff changeset
121 String name = getName(localName, qName);
130
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
122 // exit the tag
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
123 tags.removeLast();
151
bc8df0133c04 Servlet version 1.15b1
robcast
parents: 139
diff changeset
124
bc8df0133c04 Servlet version 1.15b1
robcast
parents: 139
diff changeset
125 // was it a file/name tag?
130
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
126 if (name.equals(fileNameTag) && tags.contains(fileTag)) {
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
127 // save name as filename
151
bc8df0133c04 Servlet version 1.15b1
robcast
parents: 139
diff changeset
128 if ((content != null) && (content.length() > 0)) {
bc8df0133c04 Servlet version 1.15b1
robcast
parents: 139
diff changeset
129 fileName = content.toString().trim();
130
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
130 }
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
131 return;
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
132 }
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
133
151
bc8df0133c04 Servlet version 1.15b1
robcast
parents: 139
diff changeset
134 // was it a file/path tag?
130
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
135 if (name.equals(filePathTag) && tags.contains(fileTag)) {
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
136 // save path as filepath
151
bc8df0133c04 Servlet version 1.15b1
robcast
parents: 139
diff changeset
137 if ((content != null) && (content.length() > 0)) {
bc8df0133c04 Servlet version 1.15b1
robcast
parents: 139
diff changeset
138 filePath = content.toString().trim();
130
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
139 }
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
140 return;
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
141 }
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
142
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
143 // was it a file tag?
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
144 if (name.equals(fileTag)) {
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
145 // is there meta to save?
151
bc8df0133c04 Servlet version 1.15b1
robcast
parents: 139
diff changeset
146 if ((meta != null) && (meta.size() > 0)) {
bc8df0133c04 Servlet version 1.15b1
robcast
parents: 139
diff changeset
147 // file name is (optional file/path) / file/name
130
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
148 String fn = null;
151
bc8df0133c04 Servlet version 1.15b1
robcast
parents: 139
diff changeset
149
bc8df0133c04 Servlet version 1.15b1
robcast
parents: 139
diff changeset
150 if (fileName != null) {
bc8df0133c04 Servlet version 1.15b1
robcast
parents: 139
diff changeset
151 if (filePath != null) {
bc8df0133c04 Servlet version 1.15b1
robcast
parents: 139
diff changeset
152 fn = filePath + "/" + fileName;
bc8df0133c04 Servlet version 1.15b1
robcast
parents: 139
diff changeset
153 } else {
bc8df0133c04 Servlet version 1.15b1
robcast
parents: 139
diff changeset
154 fn = fileName;
bc8df0133c04 Servlet version 1.15b1
robcast
parents: 139
diff changeset
155 }
130
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
156 } else {
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
157 // no file name, no file
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
158 return;
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
159 }
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
160 // save meta in file list
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
161 files.put(fn, meta);
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
162 }
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
163 return;
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
164 }
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
165
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
166 // was it a meta tag outside a file tag?
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
167 if (name.equals(metaTag) && !tags.contains(fileTag)) {
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
168 // save meta as dir meta
151
bc8df0133c04 Servlet version 1.15b1
robcast
parents: 139
diff changeset
169 if ((meta != null) && (meta.size() > 0)) {
130
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
170 files.put("", meta);
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
171 }
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
172 return;
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
173 }
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
174
151
bc8df0133c04 Servlet version 1.15b1
robcast
parents: 139
diff changeset
175 // is this inside an info (=img) tag?
130
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
176 if (tags.contains(infoTag)) {
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
177 // then add whatever this is
151
bc8df0133c04 Servlet version 1.15b1
robcast
parents: 139
diff changeset
178 if ((content != null) && (content.length() > 0)) {
bc8df0133c04 Servlet version 1.15b1
robcast
parents: 139
diff changeset
179 meta.put(name, content.toString().trim());
130
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
180 }
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
181 }
151
bc8df0133c04 Servlet version 1.15b1
robcast
parents: 139
diff changeset
182
130
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
183 }
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
184
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
185 }
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
186
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
187 /**
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
188 * load and parse a file (as URL)
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
189 * returns HashMap with list data
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
190 */
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
191 public HashMap loadURL(String path) throws SAXException, IOException {
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
192 //System.out.println("loadurl ("+path+")");
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
193 // Create a JAXP SAXParserFactory and configure it
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
194 SAXParserFactory spf = SAXParserFactory.newInstance();
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
195 spf.setNamespaceAware(true);
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
196
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
197 SAXParser parser = null;
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
198 try {
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
199 // Create a JAXP SAXParser
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
200 parser = spf.newSAXParser();
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
201
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
202 } catch (ParserConfigurationException e) {
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
203 throw new SAXException(e);
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
204 }
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
205
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
206 // create a list parser (keeps the data!)
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
207 XMLMetaParser listParser = new XMLMetaParser();
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
208
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
209 // Tell the SAXParser to parse the XML document
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
210 parser.parse(path, listParser);
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
211
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
212 return listParser.files;
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
213 }
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
214
c36944be0b58 Servlet Version 1.11a1with original size(!)
robcast
parents:
diff changeset
215 }