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,
ParseLocationListenerRDFParser.DatatypeHandlingrdfHandler, 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, getXMLReaderclear, 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, verifyDatapublic RDFXMLParser()
SimpleValueFactory to create RDF model objects.public RDFXMLParser(ValueFactory valueFactory)
valueFactory - A ValueFactory.public final RDFFormat getRDFFormat()
RDFParsergetRDFFormat in interface RDFParserpublic void setParseStandAloneDocuments(boolean standAloneDocs)
public boolean getParseStandAloneDocuments()
setParseStandAloneDocuments(boolean)public void parse(InputStream in, String baseURI) throws IOException, RDFParseException, RDFHandlerException
RDFParserparse in interface RDFParserin - The InputStream from which to read the data.baseURI - The URI associated with the data in the InputStream. May be null. Parsers for syntax
formats that do not support relative URIs will ignore this argument.
Note that if the data contains an embedded base URI, that embedded base URI will overrule the value supplied here (see RFC 3986 section 5.1 for details).
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.public void parse(Reader reader, String baseURI) throws IOException, RDFParseException, RDFHandlerException
RDFParserparse in interface RDFParserreader - The Reader from which to read the data.baseURI - The URI associated with the data in the InputStream. May be null. Parsers for syntax
formats that do not support relative URIs will ignore this argument.
Note that if the data contains an embedded base URI, that embedded base URI will overrule the value supplied here (see RFC 3986 section 5.1 for details).
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.public Collection<RioSetting<?>> getSupportedSettings()
getSupportedSettings in interface RDFParsergetSupportedSettings in class AbstractRDFParserRioSettings that are supported by this RDFParser.protected void setBaseURI(ParsedIRI baseURI)
AbstractRDFParsersetBaseURI in class AbstractRDFParserprotected void setBaseURI(String baseURI)
AbstractRDFParsersetBaseURI in class AbstractRDFParserprotected Resource createNode(String nodeID) throws RDFParseException
AbstractRDFParsercreateNode in class AbstractRDFParsernodeID - node identifierRDFParseExceptionprotected Literal createLiteral(String label, String lang, IRI datatype) throws RDFParseException
AbstractRDFParserLiteral object with the supplied parameters.createLiteral in class AbstractRDFParserRDFParseExceptionprotected void reportWarning(String msg)
AbstractRDFParser.reportWarning(String), adding line- and column number information to the
error.reportWarning in class AbstractRDFParserprotected 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 AbstractRDFParsermsg - The message to use for ParseErrorListener.error(String, long, long) and for
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 AbstractRDFParsere - The exception whose message will be used for
ParseErrorListener.error(String, long, long) and for
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 AbstractRDFParserRDFParseExceptionprotected void reportFatalError(Exception e) throws RDFParseException
AbstractRDFParser.reportFatalError(Exception), adding line- and column number information to
the error.reportFatalError in class AbstractRDFParserRDFParseExceptionpublic void warning(SAXParseException exception) throws SAXException
warning in interface ErrorHandlerSAXExceptionpublic void error(SAXParseException exception) throws SAXException
error in interface ErrorHandlerSAXExceptionpublic void fatalError(SAXParseException exception) throws SAXException
fatalError in interface ErrorHandlerSAXExceptionCopyright © 2015-2022 Eclipse Foundation. All Rights Reserved.