if (obj instanceof Resource) {
Resource objRes = (Resource)obj;
if (objRes instanceof URI) {
URI uri = (URI)objRes;
writeAttribute(RDF.NAMESPACE, "resource", relativize(uri.stringValue()));
}
else {
BNode bNode = (BNode)objRes;
writeAttribute(RDF.NAMESPACE, "nodeID", bNode.getID());
}
writeEndOfEmptyTag();
}
else if (obj instanceof Literal) {
Literal objLit = (Literal)obj;
// language attribute
if (objLit.getLanguage() != null) {
writeAttribute("xml:lang", objLit.getLanguage());
}
// datatype attribute
boolean isXmlLiteral = false;
URI datatype = objLit.getDatatype();
if (datatype != null) {
// Check if datatype is rdf:XMLLiteral
isXmlLiteral = datatype.equals(RDF.XMLLITERAL);
if (isXmlLiteral) {
writeAttribute(RDF.NAMESPACE, "parseType", "Literal");
}
else {
writeAttribute(RDF.NAMESPACE, "datatype", datatype.toString());
}
}
writeEndOfStartTag();