// #i112473# SvXMLExport::GetRelativeReference() not right for RDF on SaveAs // because the URIs in the repository are not rewritten on SaveAs, the // URI of the loaded document has to be used, not the URI of the target doc. static OUString
getRelativeReference(SvXMLExport const& rExport, OUString const& rURI)
{
uno::Reference< rdf::XURI > const xModelURI(
rExport.GetModel(), uno::UNO_QUERY_THROW );
OUString const baseURI( xModelURI->getStringValue() );
if (!rStatements.hasElements())
{ return; // no RDFa
}
// all stmts have the same subject, so we only handle first one const uno::Reference<rdf::XURI> xSubjectURI(rStatements[0].Subject,
uno::UNO_QUERY); const uno::Reference<rdf::XBlankNode> xSubjectBNode(
rStatements[0].Subject, uno::UNO_QUERY); if (!xSubjectURI.is() && !xSubjectBNode.is())
{ throw uno::RuntimeException();
} const OUString about( xSubjectURI.is()
? getRelativeReference(m_rExport, xSubjectURI->getStringValue())
: "[" + LookupBlankNode(xSubjectBNode) + "]"
);
const uno::Reference<rdf::XLiteral> xContent(
rStatements[0].Object, uno::UNO_QUERY_THROW ); const uno::Reference<rdf::XURI> xDatatype(xContent->getDatatype()); if (xDatatype.is())
{ const OUString datatype(
makeCURIE(&m_rExport, xDatatype) );
m_rExport.AddAttribute(XML_NAMESPACE_XHTML,
token::XML_DATATYPE, datatype);
} if (RDFaResult.Second) // there is xhtml:content
{
m_rExport.AddAttribute(XML_NAMESPACE_XHTML, token::XML_CONTENT,
xContent->getValue());
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.