Package org.eclipse.rdf4j.rio.rdfxml
Class RDFXMLWriter
java.lang.Object
org.eclipse.rdf4j.rio.helpers.AbstractRDFWriter
org.eclipse.rdf4j.rio.rdfxml.RDFXMLWriter
- All Implemented Interfaces:
CharSink
,Sink
,RDFHandler
,RDFWriter
- Direct Known Subclasses:
RDFXMLPrettyWriter
An implementation of the RDFWriter interface that writes RDF documents in XML-serialized RDF format.
-
Field Summary
Modifier and TypeFieldDescriptionprotected final ParsedIRI
protected String
protected boolean
protected boolean
protected Resource
protected char
protected final Writer
Fields inherited from class org.eclipse.rdf4j.rio.helpers.AbstractRDFWriter
namespaceTable, statementConsumer
-
Constructor Summary
ConstructorDescriptionRDFXMLWriter
(OutputStream out) Creates a new RDFXMLWriter that will write to the supplied OutputStream.RDFXMLWriter
(OutputStream out, ParsedIRI baseIRI) Creates a new RDFXMLWriter that will write to the supplied OutputStream.RDFXMLWriter
(Writer writer) Creates a new RDFXMLWriter that will write to the supplied Writer.RDFXMLWriter
(Writer writer, ParsedIRI baseIRI) Creates a new RDFXMLWriter that will write to the supplied Writer. -
Method Summary
Modifier and TypeMethodDescriptionprotected void
Consume a statement.void
endRDF()
Signals the end of the RDF data.protected void
Gets the RDF format that this RDFWriter uses.Collection
<RioSetting<?>> protected String
getValidNodeId
(BNode bNode) Create a syntactically valid node id from the supplied blank node id.void
handleComment
(String comment) Handles a comment.void
handleNamespace
(String prefix, String name) Handles a namespace declaration/definition.protected void
setNamespace
(String prefix, String name) protected void
writeAttribute
(String attName, String value) protected void
writeAttribute
(String namespace, String attName, String value) protected void
writeCharacterData
(String chars) Replace special characters in text with entities.protected void
Write > or />protected void
Write >protected void
writeEndTag
(String namespace, String localName) protected void
protected void
Write tabprotected void
Write newline characterprotected void
writeQuotedAttribute
(String attName, String value) Write quoted attributeprotected void
writeStartOfStartTag
(String namespace, String localName) Methods inherited from class org.eclipse.rdf4j.rio.helpers.AbstractRDFWriter
checkWritingStarted, getFileFormat, getWriterConfig, handleStatement, isWritingStarted, set, setWriterConfig, startRDF
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.eclipse.rdf4j.common.io.Sink
acceptsFileFormat, getFileFormat
-
Field Details
-
baseIRI
-
writer
-
defaultNamespace
-
headerWritten
protected boolean headerWritten -
lastWrittenSubject
-
quote
protected char quote -
entityQuote
protected boolean entityQuote
-
-
Constructor Details
-
RDFXMLWriter
Creates a new RDFXMLWriter that will write to the supplied OutputStream.- Parameters:
out
- The OutputStream to write the RDF/XML document to.
-
RDFXMLWriter
Creates a new RDFXMLWriter that will write to the supplied OutputStream.- Parameters:
out
- The OutputStream to write the RDF/XML document to.baseIRI
- base URI
-
RDFXMLWriter
Creates a new RDFXMLWriter that will write to the supplied Writer.- Parameters:
writer
- The Writer to write the RDF/XML document to.
-
RDFXMLWriter
-
-
Method Details
-
getRDFFormat
Description copied from interface:RDFWriter
Gets the RDF format that this RDFWriter uses.- Specified by:
getRDFFormat
in interfaceRDFWriter
-
getWriter
-
getSupportedSettings
- Specified by:
getSupportedSettings
in interfaceRDFWriter
- Overrides:
getSupportedSettings
in classAbstractRDFWriter
- Returns:
- A collection of
RioSetting
s that are supported by this RDFWriter.
-
writeHeader
- Throws:
IOException
-
endRDF
Description copied from interface:RDFHandler
Signals the end of the RDF data. This method is called when all data has been reported.- Specified by:
endRDF
in interfaceRDFHandler
- Throws:
RDFHandlerException
- If the RDF handler has encountered an unrecoverable error.
-
handleNamespace
Description copied from interface:RDFHandler
Handles a namespace declaration/definition. A namespace declaration associates a (short) prefix string with the namespace's URI. The prefix for default namespaces, which do not have an associated prefix, are represented as empty strings.- Specified by:
handleNamespace
in interfaceRDFHandler
- Overrides:
handleNamespace
in classAbstractRDFWriter
- Parameters:
prefix
- The prefix for the namespace, or an empty string in case of a default namespace.name
- The URI that the prefix maps to.
-
setNamespace
-
consumeStatement
Description copied from class:AbstractRDFWriter
Consume a statement.Extending classes must override this method instead of overriding
AbstractRDFWriter.handleStatement(Statement)
in order to benefit from automatic handling of RDF-star conversion or encoding.- Overrides:
consumeStatement
in classAbstractRDFWriter
- Parameters:
st
- the statement to consume.
-
handleComment
Description copied from interface:RDFHandler
Handles a comment.- Specified by:
handleComment
in interfaceRDFHandler
- Parameters:
comment
- The comment.- Throws:
RDFHandlerException
- If the RDF handler has encountered an unrecoverable error.
-
flushPendingStatements
- Throws:
IOException
RDFHandlerException
-
writeStartOfStartTag
- Throws:
IOException
-
writeAttribute
- Throws:
IOException
-
writeAttribute
protected void writeAttribute(String namespace, String attName, String value) throws IOException, RDFHandlerException - Throws:
IOException
RDFHandlerException
-
writeQuotedAttribute
Write quoted attribute- Parameters:
attName
- attribute namevalue
- string value- Throws:
IOException
-
writeEndOfStartTag
-
writeEndOfEmptyTag
-
writeEndTag
- Throws:
IOException
-
writeCharacterData
Replace special characters in text with entities.- Parameters:
chars
- text- Throws:
IOException
-
writeIndent
-
writeNewLine
-
getValidNodeId
Create a syntactically valid node id from the supplied blank node id. This is necessary because RDF/XML syntax enforces the blank node id is a valid NCName.- Parameters:
bNode
- a blank node identifier- Returns:
- the blank node identifier converted to a form that is a valid NCName.
- Throws:
IOException
- See Also:
-