01: /**
02: * LibreSource
03: * Copyright (C) 2004-2008 Artenum SARL / INRIA
04: * http://www.libresource.org - contact@artenum.com
05: *
06: * This file is part of the LibreSource software,
07: * which can be used and distributed under license conditions.
08: * The license conditions are provided in the LICENSE.TXT file
09: * at the root path of the packaging that enclose this file.
10: * More information can be found at
11: * - http://dev.libresource.org/home/license
12: *
13: * Initial authors :
14: *
15: * Guillaume Bort / INRIA
16: * Francois Charoy / Universite Nancy 2
17: * Julien Forest / Artenum
18: * Claude Godart / Universite Henry Poincare
19: * Florent Jouille / INRIA
20: * Sebastien Jourdain / INRIA / Artenum
21: * Yves Lerumeur / Artenum
22: * Pascal Molli / Universite Henry Poincare
23: * Gerald Oster / INRIA
24: * Mariarosa Penzi / Artenum
25: * Gerard Sookahet / Artenum
26: * Raphael Tani / INRIA
27: *
28: * Contributors :
29: *
30: * Stephane Bagnier / Artenum
31: * Amadou Dia / Artenum-IUP Blois
32: * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
33: */package org.libresource.files.parsers;
34:
35: import org.libresource.core.FileData;
36:
37: import org.xml.sax.EntityResolver;
38: import org.xml.sax.InputSource;
39: import org.xml.sax.XMLReader;
40:
41: import javax.xml.parsers.SAXParser;
42: import javax.xml.parsers.SAXParserFactory;
43:
44: public class XMLContentParser implements FileContentParser {
45: protected static final String DEFAULT_PARSER_NAME = "org.apache.xerces.parsers.SAXParser";
46:
47: public String parse(FileData fileData) throws Exception {
48: XMLContentHandler handler = new XMLContentHandler();
49: SAXParserFactory saxParserFactory = SAXParserFactory
50: .newInstance();
51: EntityResolver entityResolver = new EmptyDtdEntityResolver();
52:
53: try {
54: SAXParser saxParser = saxParserFactory.newSAXParser();
55: XMLReader xmlReader = saxParser.getXMLReader();
56: xmlReader.setEntityResolver(entityResolver);
57: xmlReader.setContentHandler(handler);
58: xmlReader.parse(new InputSource(fileData.getInputStream()));
59:
60: return handler.getBuffer();
61: } catch (Exception e) {
62: return null;
63: }
64: }
65: }
|