gnu.xml.libxmlj.sax
Class GnomeXMLReader
- XMLReader
A SAX2 parser that uses libxml2.
clone , equals , extends Object> getClass , finalize , hashCode , notify , notifyAll , toString , wait , wait , wait |
GnomeXMLReader
public GnomeXMLReader()
The basic constructor. Object is special, because it has no
superclass, so there is no call to super().
GnomeXMLReader
public GnomeXMLReader(boolean namespaces,
boolean validation)
getFeature
public boolean getFeature(String name)
throws SAXNotRecognizedException,
SAXNotSupportedException
Look up the value of a feature flag.
The feature name is any fully-qualified URI. It is
possible for an XMLReader to recognize a feature name but
temporarily be unable to return its value.
Some feature values may be available only in specific
contexts, such as before, during, or after a parse.
Also, some feature values may not be programmatically accessible.
(In the case of an adapter for SAX1
Parser
, there is no
implementation-independent way to expose whether the underlying
parser is performing validation, expanding external entities,
and so forth.)
All XMLReaders are required to recognize the
http://xml.org/sax/features/namespaces and the
http://xml.org/sax/features/namespace-prefixes feature names.
Typical usage is something like this:
XMLReader r = new MySAXDriver();
// try to activate validation
try {
r.setFeature("http://xml.org/sax/features/validation", true);
} catch (SAXException e) {
System.err.println("Cannot activate validation.");
}
// register event handlers
r.setContentHandler(new MyContentHandler());
r.setErrorHandler(new MyErrorHandler());
// parse the first document
try {
r.parse("http://www.foo.com/mydoc.xml");
} catch (IOException e) {
System.err.println("I/O exception reading XML document");
} catch (SAXException e) {
System.err.println("XML exception reading document.");
}
Implementors are free (and encouraged) to invent their own features,
using names built on their own URIs.
- getFeature in interface XMLReader
name
- The feature name, which is a fully-qualified URI.
- The current value of the feature (true or false).
getProperty
public Object getProperty(String name)
throws SAXNotRecognizedException,
SAXNotSupportedException
Look up the value of a property.
The property name is any fully-qualified URI. It is
possible for an XMLReader to recognize a property name but
temporarily be unable to return its value.
Some property values may be available only in specific
contexts, such as before, during, or after a parse.
XMLReaders are not required to recognize any specific
property names, though an initial core set is documented for
SAX2.
Implementors are free (and encouraged) to invent their own properties,
using names built on their own URIs.
- getProperty in interface XMLReader
name
- The property name, which is a fully-qualified URI.
- The current value of the property.
parse
public void parse(String systemId)
throws IOException,
SAXException
Parse an XML document from a system identifier (URI).
This method is a shortcut for the common case of reading a
document from a system identifier. It is the exact
equivalent of the following:
parse(new InputSource(systemId));
If the system identifier is a URL, it must be fully resolved
by the application before it is passed to the parser.
- parse in interface XMLReader
systemId
- The system identifier (URI).
SAXException
- Any SAX exception, possibly
wrapping another exception.IOException
- An IO exception from the parser,
possibly from a byte stream or character stream
supplied by the application.
parse
public void parse(InputSource input)
throws IOException,
SAXException
Parse an XML document.
The application can use this method to instruct the XML
reader to begin parsing an XML document from any valid input
source (a character stream, a byte stream, or a URI).
Applications may not invoke this method while a parse is in
progress (they should create a new XMLReader instead for each
nested XML document). Once a parse is complete, an
application may reuse the same XMLReader object, possibly with a
different input source.
Configuration of the XMLReader object (such as handler bindings and
values established for feature flags and properties) is unchanged
by completion of a parse, unless the definition of that aspect of
the configuration explicitly specifies other behavior.
(For example, feature flags or properties exposing
characteristics of the document being parsed.)
During the parse, the XMLReader will provide information
about the XML document through the registered event
handlers.
This method is synchronous: it will not return until parsing
has ended. If a client application wants to terminate
parsing early, it should throw an exception.
- parse in interface XMLReader
input
- The input source for the top-level of the
XML document.
SAXException
- Any SAX exception, possibly
wrapping another exception.IOException
- An IO exception from the parser,
possibly from a byte stream or character stream
supplied by the application.
setContentHandler
public void setContentHandler(ContentHandler handler)
Allow an application to register a content event handler.
If the application does not register a content handler, all
content events reported by the SAX parser will be silently
ignored.
Applications may register a new or different handler in the
middle of a parse, and the SAX parser must begin using the new
handler immediately.
- setContentHandler in interface XMLReader
handler
- The content handler.
setDTDHandler
public void setDTDHandler(DTDHandler handler)
Allow an application to register a DTD event handler.
If the application does not register a DTD handler, all DTD
events reported by the SAX parser will be silently ignored.
Applications may register a new or different handler in the
middle of a parse, and the SAX parser must begin using the new
handler immediately.
- setDTDHandler in interface XMLReader
handler
- The DTD handler.
setEntityResolver
public void setEntityResolver(EntityResolver resolver)
Allow an application to register an entity resolver.
If the application does not register an entity resolver,
the XMLReader will perform its own default resolution.
Applications may register a new or different resolver in the
middle of a parse, and the SAX parser must begin using the new
resolver immediately.
- setEntityResolver in interface XMLReader
resolver
- The entity resolver.
setErrorHandler
public void setErrorHandler(ErrorHandler handler)
Allow an application to register an error event handler.
If the application does not register an error handler, all
error events reported by the SAX parser will be silently
ignored; however, normal processing may not continue. It is
highly recommended that all SAX applications implement an
error handler to avoid unexpected bugs.
Applications may register a new or different handler in the
middle of a parse, and the SAX parser must begin using the new
handler immediately.
- setErrorHandler in interface XMLReader
handler
- The error handler.
setFeature
public void setFeature(String name,
boolean value)
throws SAXNotRecognizedException,
SAXNotSupportedException
Set the value of a feature flag.
The feature name is any fully-qualified URI. It is
possible for an XMLReader to expose a feature value but
to be unable to change the current value.
Some feature values may be immutable or mutable only
in specific contexts, such as before, during, or after
a parse.
All XMLReaders are required to support setting
http://xml.org/sax/features/namespaces to true and
http://xml.org/sax/features/namespace-prefixes to false.
- setFeature in interface XMLReader
name
- The feature name, which is a fully-qualified URI.value
- The requested value of the feature (true or false).
setProperty
public void setProperty(String name,
Object value)
throws SAXNotRecognizedException,
SAXNotSupportedException
Set the value of a property.
The property name is any fully-qualified URI. It is
possible for an XMLReader to recognize a property name but
to be unable to change the current value.
Some property values may be immutable or mutable only
in specific contexts, such as before, during, or after
a parse.
XMLReaders are not required to recognize setting
any specific property names, though a core set is defined by
SAX2.
This method is also the standard mechanism for setting
extended handlers.
- setProperty in interface XMLReader
name
- The property name, which is a fully-qualified URI.value
- The requested value for the property.
GnomeXMLReader.java -
Copyright (C) 2004 Free Software Foundation, Inc.
This file is part of GNU Classpath.
GNU Classpath is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
GNU Classpath is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
02110-1301 USA.
Linking this library statically or dynamically with other modules is
making a combined work based on this library. Thus, the terms and
conditions of the GNU General Public License cover the whole
combination.
As a special exception, the copyright holders of this library give you
permission to link this library with independent modules to produce an
executable, regardless of the license terms of these independent
modules, and to copy and distribute the resulting executable under
terms of your choice, provided that you also meet, for each linked
independent module, the terms and conditions of the license of that
module. An independent module is a module which is not derived from
or based on this library. If you modify this library, you may extend
this exception to your version of the library, but you are not
obligated to do so. If you do not wish to do so, delete this
exception statement from your version.