public class SAX2RDF extends SAX2RDFImpl implements ARPConfig
Allows connecting an arbitrary source of SAX events with ARP.
For use with a DOM tree,
either use DOM2Model
or
see
The Java Developer's Almanac for a discussion of how to transform a DOM
into a source of SAX events.
The use pattern is to create and initialize one of these,
then set it as the content, lexical and error handler
for some source of SAX events (e.g. from a parser).
The parser must be configured to use namespaces, and namespace
prefixes. This initializing can be done for XMLReaders
using installHandlers(org.xml.sax.XMLReader, org.apache.jena.rdfxml.xmlinput.impl.XMLHandler)
.
To build a Jena model it is better to use SAX2Model
.
The documentation here, covers usage both using the subclass
SAX2Model
, and not.
This class does not support multithreaded SAX sources, nor IO interruption.
There is further documentation: here.
nullScopeHandler, nullStatementHandler
EM_ERROR, EM_FATAL, EM_IGNORE, EM_WARNING, ERR_ABOUTEACH_NOT_TOPLEVEL, ERR_BAD_RDF_ATTRIBUTE, ERR_BAD_RDF_ELEMENT, ERR_ENCODING_MISMATCH, ERR_GENERIC_IO, ERR_INTERNAL_ERROR, ERR_INTERRUPTED, ERR_LI_AS_TYPE, ERR_NOT_WHITESPACE, ERR_RESOLVING_AGAINST_MALFORMED_BASE, ERR_RESOLVING_AGAINST_RELATIVE_BASE, ERR_RESOLVING_URI_AGAINST_NULL_BASE, ERR_SAX_ERROR, ERR_SAX_FATAL_ERROR, ERR_STRING_NOT_NORMAL_FORM_C, ERR_SYNTAX_ERROR, ERR_UNABLE_TO_RECOVER, ERR_URI_NOT_NORMAL_FORM_C, ERR_UTF_ENCODING, IGN_NO_BASE_URI_SPECIFIED, IGN_PRIVATE_XMLLANG, IGN_XMLBASE_SIGNIFICANT, IGN_XMLBASE_USED, WARN_BAD_NAME, WARN_BAD_NAMESPACE_URI, WARN_BAD_RDF_NAMESPACE_URI, WARN_BAD_XML, WARN_BAD_XML_NAMESPACE_URI, WARN_BAD_XMLLANG, WARN_BIG_FILE, WARN_DEPRECATED_XMLLANG, WARN_ENCODING_MISMATCH, WARN_IN_STRICT_MODE, WARN_LEGAL_REUSE_OF_ID, WARN_MALFORMED_URI, WARN_MALFORMED_XMLLANG, WARN_MINOR_INTERNAL_ERROR, WARN_NON_IANA_ENCODING, WARN_NONCANONICAL_IANA_NAME, WARN_NOT_RDF_NAMESPACE, WARN_PROCESSING_INSTRUCTION_IN_RDF, WARN_QNAME_AS_ID, WARN_RDF_NN_AS_TYPE, WARN_REDEFINITION_OF_ID, WARN_RELATIVE_NAMESPACE_URI_DEPRECATED, WARN_RELATIVE_URI, WARN_RESOLVING_URI_AGAINST_EMPTY_BASE, WARN_SAX_WARNING, WARN_STRING_COMPOSING_CHAR, WARN_STRING_NOT_NORMAL_FORM_C, WARN_UNKNOWN_PARSETYPE, WARN_UNKNOWN_RDF_ATTRIBUTE, WARN_UNKNOWN_RDF_ELEMENT, WARN_UNKNOWN_XML_ATTRIBUTE, WARN_UNQUALIFIED_ATTRIBUTE, WARN_UNQUALIFIED_ELEMENT, WARN_UNQUALIFIED_RDF_ATTRIBUTE, WARN_UNSUPPORTED_ENCODING, WARN_URI_COMPOSING_CHAR, WARN_XMLBASE_MISSING
A_ABOUT, A_BADATTRS, A_BAGID, A_DATATYPE, A_DEPRECATED, A_ID, A_NODEID, A_PARSETYPE, A_RESOURCE, A_TYPE, A_XML_OTHER, A_XMLBASE, A_XMLLANG, A_XMLNS, CoreAndOldTerms, E_DESCRIPTION, E_LI, E_RDF, RDF_FIRST, RDF_NIL, RDF_OBJECT, RDF_PREDICATE, RDF_REST, RDF_STATEMENT, RDF_SUBJECT, RDF_TYPE, rdfns, xmlns, xmlnsns
Modifier and Type | Method and Description |
---|---|
static SAX2RDF |
create(String base)
Factory method to create a new SAX2RDF.
|
static SAX2RDF |
create(String base,
String lang)
Factory method to create a new SAX2RDF.
|
ARPHandlers |
getHandlers()
The handlers used for processing ARP events.
|
ARPOptions |
getOptions()
The options used during parsing.
|
static void |
installHandlers(XMLReader rdr,
XMLHandler sax2rdf)
Initializes an XMLReader to use the SAX2RDF object
as its handler for all events, and to use namespaces
and namespace prefixes.
|
void |
setHandlersWith(ARPHandlers handlers)
Copys handlers used for processing ARP events.
|
void |
setOptionsWith(ARPOptions opts)
Copies the options from the argument
to be used by this instance.
|
void |
startPrefixMapping(String prefix,
String uri)
Begin the scope of a prefix-URI Namespace mapping.
|
characters, comment, endCDATA, endDocument, endDTD, endElement, endEntity, endPrefixMapping, error, fatalError, ignorableWhitespace, processingInstruction, skippedEntity, startCDATA, startDocument, startDTD, startElement, startEntity, warning
allowRelativeURIs, endLocalScope, endRDF, getLocator, getSimpleName, initParse, isError, location, sameDocRef, setBadStatementHandler, setDocumentLocator, startRDF, triple, warning
notationDecl, resolveEntity, unparsedEntityDecl
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
setDocumentLocator
public static SAX2RDF create(String base) throws SAXParseException
getHandlers()
or setHandlersWith(org.apache.jena.rdfxml.xmlinput.ARPHandlers)
to provide
a StatementHandler
, and usually an ErrorHandler
base
- The retrieval URL, or the base URI to be
used while parsing.ParseException
SAXParseException
public static SAX2RDF create(String base, String lang) throws SAXParseException
startPrefixMapping(java.lang.String, java.lang.String)
.base
- The retrieval URL, or the base URI to be
used while parsing. Use
getHandlers()
or setHandlersWith(org.apache.jena.rdfxml.xmlinput.ARPHandlers)
to provide
a StatementHandler
, and usually an ErrorHandler
lang
- The current value of xml:lang when parsing starts, usually "".ParseException
- If base or lang is bad.SAXParseException
public void startPrefixMapping(String prefix, String uri) throws SAXParseException
This is passed to any NamespaceHandler
associated
with this parser.
It can be called before the initial
startElement
event, or other events associated
with the elements being processed.
When building a Jena Model, with SAX2Model
it is not required to match this
with corresponding endPrefixMapping
events.
Other NamespaceHandler
s may be fussier.
When building a Jena Model, the prefix bindings are
remembered with the Model, and may be used in some
output routines. It is permitted to not call this method
for prefixes declared in the outer context, in which case,
any output routine will need to use a gensym for such
namespaces.
startPrefixMapping
in interface ContentHandler
startPrefixMapping
in class XMLHandler
prefix
- The Namespace prefix being declared.uri
- The Namespace URI the prefix is mapped to.SAXParseException
public ARPHandlers getHandlers()
SAX2Model
.getHandlers
in interface ARPConfig
getHandlers
in class XMLHandler
ARPConfig.getHandlers()
public void setHandlersWith(ARPHandlers handlers)
SAX2Model
.setHandlersWith
in interface ARPConfig
setHandlersWith
in class XMLHandler
handlers
- The new values to use.ARPConfig.setHandlersWith(ARPHandlers)
public ARPOptions getOptions()
ARPConfig
set..
methods
in ARPOptions
.
The options can be copied onto another ARP instance
using the ARPConfig.setOptionsWith(org.apache.jena.rdfxml.xmlinput.ARPOptions)
method.getOptions
in interface ARPConfig
getOptions
in class XMLHandler
ARPOptions.setDefaultErrorMode()
,
ARPOptions.setLaxErrorMode()
,
ARPOptions.setStrictErrorMode()
,
ARPOptions.setStrictErrorMode(int)
,
ARPOptions.setEmbedding(boolean)
,
ARPOptions.setErrorMode(int, int)
,
ARPConfig.setOptionsWith(org.apache.jena.rdfxml.xmlinput.ARPOptions)
public void setOptionsWith(ARPOptions opts)
ARPConfig
ARPConfig.getOptions()
to retrieve this
instance's copy of the options.setOptionsWith
in interface ARPConfig
setOptionsWith
in class XMLHandler
opts
- The new values to use.public static void installHandlers(XMLReader rdr, XMLHandler sax2rdf) throws SAXException
rdr
- The XMLReader to initialize.sax2rdf
- The SAX2RDF instance to use.SAXException
Licenced under the Apache License, Version 2.0