public class RDFXMLParser extends XMLReaderBasedParser implements ErrorHandler
org.xml.sax.driver
property. This parser is not thread-safe, therefore it's public methods are
synchronized.
To parse a document using this parser:
// Use the SAX2-compliant Xerces parser: System.setProperty("org.xml.sax.driver", "org.apache.xerces.parsers.SAXParser"); RDFParser parser = new RDFXMLParser(); parser.setRDFHandler(myRDFHandler); parser.setParseErrorListener(myParseErrorListener); parser.setVerifyData(true); parser.stopAtFirstError(false); // Parse the data from inputStream, resolving any // relative URIs against http://foo/bar: parser.parse(inputStream, "http://foo/bar");Note that JAXP entity expansion limits may apply. Check the documentation on limits and using the jaxp.properties file if you get one of the following errors:
JAXP00010001: The parser has encountered more than "64000" entity expansions in this document JAXP00010004: The accumulated size of entities is ... that exceeded the "50,000,000" limitAs a work-around, try passing
-Djdk.xml.totalEntitySizeLimit=0 -DentityExpansionLimit=0
to the JVM.ValueFactory
,
RDFHandler
,
ParseErrorListener
,
ParseLocationListener
RDFParser.DatatypeHandling
rdfHandler, valueFactory
Constructor and Description |
---|
RDFXMLParser()
Creates a new RDFXMLParser that will use a
SimpleValueFactory to create RDF model objects. |
RDFXMLParser(ValueFactory valueFactory)
Creates a new RDFXMLParser that will use the supplied ValueFactory to create RDF model objects.
|
Modifier and Type | Method and Description |
---|---|
protected Literal |
createLiteral(String label,
String lang,
IRI datatype)
Creates a
Literal object with the supplied parameters. |
protected Resource |
createNode(String nodeID)
|
void |
error(SAXParseException exception)
Implementation of SAX ErrorHandler.error
|
void |
fatalError(SAXParseException exception)
Implementation of SAX ErrorHandler.fatalError
|
boolean |
getParseStandAloneDocuments()
Returns whether the parser is currently in a mode to parse stand-alone RDF documents.
|
RDFFormat |
getRDFFormat()
Gets the RDF format that this parser can parse.
|
SAXResult |
getSAXResult(String baseURI) |
Collection<RioSetting<?>> |
getSupportedSettings() |
void |
parse(InputStream in,
String baseURI)
Parses the data from the supplied InputStream, using the supplied baseURI to resolve any relative URI references.
|
void |
parse(Reader reader,
String baseURI)
Parses the data from the supplied Reader, using the supplied baseURI to resolve any relative URI references.
|
protected void |
reportError(Exception e,
RioSetting<Boolean> setting)
Overrides
AbstractRDFParser.reportError(String, RioSetting) , adding line- and column number information
to the error. |
protected void |
reportError(String msg,
RioSetting<Boolean> setting)
Overrides
AbstractRDFParser.reportError(String, RioSetting) , adding line- and column number information
to the error. |
protected void |
reportFatalError(Exception e)
Overrides
AbstractRDFParser.reportFatalError(Exception) , adding line- and column number information to
the error. |
protected void |
reportFatalError(String msg)
Overrides
AbstractRDFParser.reportFatalError(String) , adding line- and column number information to the
error. |
protected void |
reportWarning(String msg)
Overrides
AbstractRDFParser.reportWarning(String) , adding line- and column number information to the
error. |
protected void |
setBaseURI(ParsedIRI baseURI)
Sets the base URI for resolving relative URIs.
|
protected void |
setBaseURI(String baseURI)
Parses the supplied URI-string and sets it as the base URI for resolving relative URIs.
|
void |
setParseStandAloneDocuments(boolean standAloneDocs)
Sets the parser in a mode to parse stand-alone RDF documents.
|
void |
warning(SAXParseException exception)
Implementation of SAX ErrorHandler.warning
|
getCompulsoryXmlFeatureSettings, getCompulsoryXmlPropertySettings, getOptionalXmlFeatureSettings, getOptionalXmlPropertySettings, getXMLReader
clear, clearBNodeIDMap, createBNode, createBNode, createLiteral, createNode, createStatement, createStatement, createURI, datatypeHandling, getNamespace, getParseErrorListener, getParseLocationListener, getParserConfig, getRDFHandler, initializeNamespaceTableFromConfiguration, preserveBNodeIDs, reportError, reportError, reportError, reportFatalError, reportFatalError, reportFatalError, reportLocation, reportWarning, resolveURI, set, setDatatypeHandling, setNamespace, setParseErrorListener, setParseLocationListener, setParserConfig, setPreserveBNodeIDs, setRDFHandler, setStopAtFirstError, setValueFactory, setVerifyData, stopAtFirstError, verifyData
public RDFXMLParser()
SimpleValueFactory
to create RDF model objects.public RDFXMLParser(ValueFactory valueFactory)
valueFactory
- A ValueFactory.public final RDFFormat getRDFFormat()
RDFParser
getRDFFormat
in interface RDFParser
public void setParseStandAloneDocuments(boolean standAloneDocs)
public boolean getParseStandAloneDocuments()
setParseStandAloneDocuments(boolean)
public void parse(InputStream in, String baseURI) throws IOException, RDFParseException, RDFHandlerException
parse
in interface RDFParser
in
- The InputStream from which to read the data, must not be null.baseURI
- The URI associated with the data in the InputStream, must not be null.IOException
- If an I/O error occurred while data was read from the InputStream.RDFParseException
- If the parser has found an unrecoverable parse error.RDFHandlerException
- If the configured statement handler encountered an unrecoverable error.IllegalArgumentException
- If the supplied input stream or base URI is null.public void parse(Reader reader, String baseURI) throws IOException, RDFParseException, RDFHandlerException
parse
in interface RDFParser
reader
- The Reader from which to read the data, must not be null.baseURI
- The URI associated with the data in the InputStream, must not be null.IOException
- If an I/O error occurred while data was read from the InputStream.RDFParseException
- If the parser has found an unrecoverable parse error.RDFHandlerException
- If the configured statement handler has encountered an unrecoverable error.IllegalArgumentException
- If the supplied reader or base URI is null.public Collection<RioSetting<?>> getSupportedSettings()
getSupportedSettings
in interface RDFParser
getSupportedSettings
in class AbstractRDFParser
RioSetting
s that are supported by this RDFParser.protected void setBaseURI(ParsedIRI baseURI)
AbstractRDFParser
setBaseURI
in class AbstractRDFParser
protected void setBaseURI(String baseURI)
AbstractRDFParser
setBaseURI
in class AbstractRDFParser
protected Resource createNode(String nodeID) throws RDFParseException
AbstractRDFParser
createNode
in class AbstractRDFParser
RDFParseException
protected Literal createLiteral(String label, String lang, IRI datatype) throws RDFParseException
AbstractRDFParser
Literal
object with the supplied parameters.createLiteral
in class AbstractRDFParser
RDFParseException
protected void reportWarning(String msg)
AbstractRDFParser.reportWarning(String)
, adding line- and column number information to the
error.reportWarning
in class AbstractRDFParser
protected void reportError(String msg, RioSetting<Boolean> setting) throws RDFParseException
AbstractRDFParser.reportError(String, RioSetting)
, adding line- and column number information
to the error.reportError
in class AbstractRDFParser
msg
- The message to use for ParseErrorListener.error(String, long, long)
and for
RDFParseException.RDFParseException(String, long, long)
.setting
- The boolean setting that will be checked to determine if this is an issue that we need to
look at at all. If this setting is true, then the error listener will receive the error,
and if ParserConfig.isNonFatalError(RioSetting)
returns true an exception will be
thrown.RDFParseException
- If RioConfig.get(RioSetting)
returns true, and
ParserConfig.isNonFatalError(RioSetting)
returns true for the given setting.protected void reportError(Exception e, RioSetting<Boolean> setting) throws RDFParseException
AbstractRDFParser.reportError(String, RioSetting)
, adding line- and column number information
to the error.reportError
in class AbstractRDFParser
e
- The exception whose message will be used for
ParseErrorListener.error(String, long, long)
and for
RDFParseException.RDFParseException(String, long, long)
.setting
- The boolean setting that will be checked to determine if this is an issue that we need to
look at at all. If this setting is true, then the error listener will receive the error,
and if ParserConfig.isNonFatalError(RioSetting)
returns true an exception will be
thrown.RDFParseException
- If RioConfig.get(RioSetting)
returns true, and
ParserConfig.isNonFatalError(RioSetting)
returns true for the given setting.protected void reportFatalError(String msg) throws RDFParseException
AbstractRDFParser.reportFatalError(String)
, adding line- and column number information to the
error.reportFatalError
in class AbstractRDFParser
RDFParseException
protected void reportFatalError(Exception e) throws RDFParseException
AbstractRDFParser.reportFatalError(Exception)
, adding line- and column number information to
the error.reportFatalError
in class AbstractRDFParser
RDFParseException
public void warning(SAXParseException exception) throws SAXException
warning
in interface ErrorHandler
SAXException
public void error(SAXParseException exception) throws SAXException
error
in interface ErrorHandler
SAXException
public void fatalError(SAXParseException exception) throws SAXException
fatalError
in interface ErrorHandler
SAXException
Copyright © 2015-2020 Eclipse Foundation. All Rights Reserved.