Class SAX2Model
- java.lang.Object
-
- org.xml.sax.helpers.DefaultHandler
-
- org.apache.jena.rdfxml.xmlinput.impl.XMLHandler
-
- org.apache.jena.rdfxml.xmlinput.impl.SAX2RDFImpl
-
- org.apache.jena.rdfxml.xmlinput.SAX2RDF
-
- org.apache.jena.rdfxml.xmlinput.SAX2Model
-
- All Implemented Interfaces:
ARPConfig
,ARPErrorNumbers
,Names
,org.xml.sax.ContentHandler
,org.xml.sax.DTDHandler
,org.xml.sax.EntityResolver
,org.xml.sax.ErrorHandler
,org.xml.sax.ext.LexicalHandler
- Direct Known Subclasses:
DOM2Model
public class SAX2Model extends SAX2RDF
Use arbitrary SAX input to Jena. See ARP SAX documentation.
-
-
Field Summary
-
Fields inherited from class org.apache.jena.rdfxml.xmlinput.impl.XMLHandler
nullScopeHandler, nullStatementHandler
-
Fields inherited from interface org.apache.jena.rdfxml.xmlinput.ARPErrorNumbers
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
-
Fields inherited from interface org.apache.jena.rdfxml.xmlinput.impl.Names
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
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
close()
static SAX2Model
create(java.lang.String base, Model m)
Factory method to create a new SAX2Model.static SAX2Model
create(java.lang.String base, Model m, java.lang.String lang)
Factory method to create a new SAX2Model.RDFErrorHandler
setErrorHandler(RDFErrorHandler errHandler)
Change the error handler.java.lang.Object
setProperty(java.lang.String str, java.lang.Object value)
Change a property of the RDF or XML parser.void
startPrefixMapping(java.lang.String prefix, java.lang.String uri)
Begin the scope of a prefix-URI Namespace mapping.-
Methods inherited from class org.apache.jena.rdfxml.xmlinput.SAX2RDF
create, create, getHandlers, getOptions, installHandlers, setHandlersWith, setOptionsWith
-
Methods inherited from class org.apache.jena.rdfxml.xmlinput.impl.SAX2RDFImpl
characters, comment, endCDATA, endDocument, endDTD, endElement, endEntity, endPrefixMapping, error, fatalError, ignorableWhitespace, processingInstruction, skippedEntity, startCDATA, startDocument, startDTD, startElement, startEntity, warning
-
Methods inherited from class org.apache.jena.rdfxml.xmlinput.impl.XMLHandler
allowRelativeURIs, endLocalScope, endRDF, getLocator, getSimpleName, initParse, isError, location, sameDocRef, setBadStatementHandler, setDocumentLocator, startRDF, triple, warning
-
Methods inherited from class org.xml.sax.helpers.DefaultHandler
notationDecl, resolveEntity, unparsedEntityDecl
-
-
-
-
Method Detail
-
create
public static SAX2Model create(java.lang.String base, Model m) throws org.xml.sax.SAXParseException
Factory method to create a new SAX2Model.- Parameters:
base
- The retrieval URL, or the base URI to be used while parsing.m
- A Jena Model in which to put the triples, this can be null. If it is null, then useSAX2RDF.getHandlers()
orSAX2RDF.setHandlersWith(org.apache.jena.rdfxml.xmlinput.ARPHandlers)
to provide aStatementHandler
, and usually anErrorHandler
- Returns:
- A new SAX2Model
- Throws:
org.xml.sax.SAXParseException
- On a.error error during setup, maybe malformed base URI
-
create
public static SAX2Model create(java.lang.String base, Model m, java.lang.String lang) throws org.xml.sax.SAXParseException
Factory method to create a new SAX2Model. This is particularly intended for when parsing a non-root element within an XML document. In which case the application needs to find this value in the outer context. Optionally, namespace prefixes can be passed from the outer context usingstartPrefixMapping(java.lang.String, java.lang.String)
.- Parameters:
base
- The retrieval URL, or the base URI to be used while parsing.m
- A Jena Model in which to put the triples, this can be null. If it is null, then useSAX2RDF.getHandlers()
orSAX2RDF.setHandlersWith(org.apache.jena.rdfxml.xmlinput.ARPHandlers)
to provide aStatementHandler
, and usually anErrorHandler
lang
- The current value ofxml:lang
when parsing starts, usually "".- Returns:
- A new SAX2Model
- Throws:
org.xml.sax.SAXParseException
- On a.error error during setup, maybe malformed base URI
-
startPrefixMapping
public void startPrefixMapping(java.lang.String prefix, java.lang.String uri) throws org.xml.sax.SAXParseException
Begin the scope of a prefix-URI Namespace mapping.This is passed to any
NamespaceHandler
associated with this parser. It can be called before the initialstartElement
event, or other events associated with the elements being processed. When building a Jena Model, it is not required to match this with correspondingendPrefixMapping
events. OtherNamespaceHandler
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.- Specified by:
startPrefixMapping
in interfaceorg.xml.sax.ContentHandler
- Overrides:
startPrefixMapping
in classSAX2RDF
- Parameters:
prefix
- The Namespace prefix being declared.uri
- The Namespace URI the prefix is mapped to.- Throws:
org.xml.sax.SAXParseException
-
close
public void close()
-
setErrorHandler
public RDFErrorHandler setErrorHandler(RDFErrorHandler errHandler)
Change the error handler.Note that errors of class
ParseException
can be promoted using theParseException.promote()
method. See ARP documentation forErrorHandler
for the details of error promotion.- Parameters:
errHandler
- The new error handler.- Returns:
- The old error handler.
-
setProperty
public java.lang.Object setProperty(java.lang.String str, java.lang.Object value) throws JenaException
Change a property of the RDF or XML parser.I do not believe that many of the XML features or properties are in fact useful for ARP users. The ARP properties allow fine-grained control over error reporting.
This interface can be used to set and get:
- SAX2 features
- See Xerces features . Value should be given as a String "true" or "false" or a Boolean.
- SAX2 properties
- See Xerces properties .
- Xerces features
- See Xerces features . Value should be given as a String "true" or "false" or a Boolean.
- Xerces properties
- See Xerces properties .
- ARP properties
- These are referred to either by their property name, (see below) or
by an absolute URL of the form
http://jena.hpl.hp.com/arp/properties/<PropertyName>
. The value should be a String, an Integer or a Boolean depending on the property.
ARP property names and string values are case insensitive.
ARP Properties Property Name Description Value class Legal Values error-mode
ARPOptions.setDefaultErrorMode()
ARPOptions.setLaxErrorMode()
ARPOptions.setStrictErrorMode()
ARPOptions.setStrictErrorMode(int)
String default
lax
strict
strict-ignore
strict-warning
strict-error
strict.error
embedding
ARPOptions.setEmbedding(boolean)
String or Boolean true
orfalse
ERR_<XXX>
WARN_<XXX>
IGN_<XXX>
ARPErrorNumbers
Any of the error condition numbers listed.
ARPOptions.setErrorMode(int, int)
String or Integer EM_IGNORE
EM_WARNING
EM_ERROR
EM_FATAL
- Parameters:
str
- The property to set.value
- The new value; values of class String will be converted into appropriate classes. Values of class Boolean or Integer will be used for appropriate properties.- Returns:
- The old value, or null if none, or old value is inaccesible.
- Throws:
JenaException
- For bad values.- See Also:
SAX2RDF.getOptions()
,ARPOptions
-
-