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:
org.eclipse.rdf4j.common.io.CharSink,org.eclipse.rdf4j.common.io.Sink,RDFHandler,RDFWriter
- Direct Known Subclasses:
RDFXMLPrettyWriter
public class RDFXMLWriter extends AbstractRDFWriter implements org.eclipse.rdf4j.common.io.CharSink
An implementation of the RDFWriter interface that writes RDF documents in XML-serialized RDF format.
-
-
Field Summary
Fields Modifier and Type Field Description protected org.eclipse.rdf4j.common.net.ParsedIRIbaseIRIprotected StringdefaultNamespaceprotected booleanentityQuoteprotected booleanheaderWrittenprotected org.eclipse.rdf4j.model.ResourcelastWrittenSubjectprotected charquoteprotected Writerwriter-
Fields inherited from class org.eclipse.rdf4j.rio.helpers.AbstractRDFWriter
namespaceTable, statementConsumer
-
-
Constructor Summary
Constructors Constructor Description RDFXMLWriter(OutputStream out)Creates a new RDFXMLWriter that will write to the supplied OutputStream.RDFXMLWriter(OutputStream out, org.eclipse.rdf4j.common.net.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, org.eclipse.rdf4j.common.net.ParsedIRI baseIRI)Creates a new RDFXMLWriter that will write to the supplied Writer.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidconsumeStatement(org.eclipse.rdf4j.model.Statement st)voidendRDF()protected voidflushPendingStatements()RDFFormatgetRDFFormat()Collection<RioSetting<?>>getSupportedSettings()protected StringgetValidNodeId(org.eclipse.rdf4j.model.BNode bNode)Create a syntactically valid node id from the supplied blank node id.WritergetWriter()voidhandleComment(String comment)voidhandleNamespace(String prefix, String name)protected voidsetNamespace(String prefix, String name)protected voidwriteAttribute(String attName, String value)protected voidwriteAttribute(String namespace, String attName, String value)protected voidwriteCharacterData(String chars)Replace special characters in text with entities.protected voidwriteEndOfEmptyTag()Write > or />protected voidwriteEndOfStartTag()Write >protected voidwriteEndTag(String namespace, String localName)protected voidwriteHeader()protected voidwriteIndent()Write tabprotected voidwriteNewLine()Write newline characterprotected voidwriteQuotedAttribute(String attName, String value)Write quoted attributeprotected voidwriteStartOfStartTag(String namespace, String localName)-
Methods inherited from class org.eclipse.rdf4j.rio.helpers.AbstractRDFWriter
checkWritingStarted, getFileFormat, getWriterConfig, handleStatement, isWritingStarted, set, setWriterConfig, startRDF
-
-
-
-
Field Detail
-
baseIRI
protected final org.eclipse.rdf4j.common.net.ParsedIRI baseIRI
-
writer
protected final Writer writer
-
defaultNamespace
protected String defaultNamespace
-
headerWritten
protected boolean headerWritten
-
lastWrittenSubject
protected org.eclipse.rdf4j.model.Resource lastWrittenSubject
-
quote
protected char quote
-
entityQuote
protected boolean entityQuote
-
-
Constructor Detail
-
RDFXMLWriter
public RDFXMLWriter(OutputStream out)
Creates a new RDFXMLWriter that will write to the supplied OutputStream.- Parameters:
out- The OutputStream to write the RDF/XML document to.
-
RDFXMLWriter
public RDFXMLWriter(OutputStream out, org.eclipse.rdf4j.common.net.ParsedIRI baseIRI)
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
public RDFXMLWriter(Writer writer)
Creates a new RDFXMLWriter that will write to the supplied Writer.- Parameters:
writer- The Writer to write the RDF/XML document to.
-
RDFXMLWriter
public RDFXMLWriter(Writer writer, org.eclipse.rdf4j.common.net.ParsedIRI baseIRI)
Creates a new RDFXMLWriter that will write to the supplied Writer.- Parameters:
writer- The Writer to write the RDF/XML document to.baseIRI- base URI
-
-
Method Detail
-
getRDFFormat
public RDFFormat getRDFFormat()
- Specified by:
getRDFFormatin interfaceRDFWriter
-
getWriter
public Writer getWriter()
- Specified by:
getWriterin interfaceorg.eclipse.rdf4j.common.io.CharSink
-
getSupportedSettings
public Collection<RioSetting<?>> getSupportedSettings()
- Specified by:
getSupportedSettingsin interfaceRDFWriter- Overrides:
getSupportedSettingsin classAbstractRDFWriter
-
writeHeader
protected void writeHeader() throws IOException- Throws:
IOException
-
endRDF
public void endRDF() throws RDFHandlerException- Specified by:
endRDFin interfaceRDFHandler- Throws:
RDFHandlerException
-
handleNamespace
public void handleNamespace(String prefix, String name)
- Specified by:
handleNamespacein interfaceRDFHandler- Overrides:
handleNamespacein classAbstractRDFWriter
-
consumeStatement
protected void consumeStatement(org.eclipse.rdf4j.model.Statement st)
- Overrides:
consumeStatementin classAbstractRDFWriter
-
handleComment
public void handleComment(String comment) throws RDFHandlerException
- Specified by:
handleCommentin interfaceRDFHandler- Throws:
RDFHandlerException
-
flushPendingStatements
protected void flushPendingStatements() throws IOException, RDFHandlerException- Throws:
IOExceptionRDFHandlerException
-
writeStartOfStartTag
protected void writeStartOfStartTag(String namespace, String localName) throws IOException
- Throws:
IOException
-
writeAttribute
protected void writeAttribute(String attName, String value) throws IOException
- Throws:
IOException
-
writeAttribute
protected void writeAttribute(String namespace, String attName, String value) throws IOException, RDFHandlerException
- Throws:
IOExceptionRDFHandlerException
-
writeQuotedAttribute
protected void writeQuotedAttribute(String attName, String value) throws IOException
Write quoted attribute- Parameters:
attName- attribute namevalue- string value- Throws:
IOException
-
writeEndOfStartTag
protected void writeEndOfStartTag() throws IOExceptionWrite >- Throws:
IOException
-
writeEndOfEmptyTag
protected void writeEndOfEmptyTag() throws IOExceptionWrite > or />- Throws:
IOException
-
writeEndTag
protected void writeEndTag(String namespace, String localName) throws IOException
- Throws:
IOException
-
writeCharacterData
protected void writeCharacterData(String chars) throws IOException
Replace special characters in text with entities.- Parameters:
chars- text- Throws:
IOException
-
writeIndent
protected void writeIndent() throws IOExceptionWrite tab- Throws:
IOException
-
writeNewLine
protected void writeNewLine() throws IOExceptionWrite newline character- Throws:
IOException
-
getValidNodeId
protected String getValidNodeId(org.eclipse.rdf4j.model.BNode bNode) throws IOException
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:
- section 7.2.34 of the RDF/XML Syntax specification
-
-