21class XMLDcTitleContext :
public XMLImportContext
24 XMLDcTitleContext(XMLImport& rImport, XMLMetaDocumentContext& rMeta);
26 void SAL_CALL characters(
const OUString& rChars)
override;
33XMLDcTitleContext::XMLDcTitleContext(XMLImport& rImport, XMLMetaDocumentContext& rMeta)
34 : XMLImportContext(rImport)
39void XMLDcTitleContext::characters(
const OUString& rChars)
42 if (!
mrMeta.GetPropertyList()[
"dc:title"])
43 mrMeta.GetPropertyList().insert(
"dc:title", librevenge::RVNGString(sCharU8.getStr()));
49class XMLDcLanguageContext :
public XMLImportContext
52 XMLDcLanguageContext(XMLImport& rImport, XMLMetaDocumentContext& rMeta);
54 void SAL_CALL characters(
const OUString& rChars)
override;
57 XMLMetaDocumentContext&
mrMeta;
61XMLDcLanguageContext::XMLDcLanguageContext(XMLImport& rImport, XMLMetaDocumentContext& rMeta)
62 : XMLImportContext(rImport)
67void XMLDcLanguageContext::characters(
const OUString& rChars)
70 if (!
mrMeta.GetPropertyList()[
"dc:language"])
71 mrMeta.GetPropertyList().insert(
"dc:language", librevenge::RVNGString(sCharU8.getStr()));
77class XMLDcDateContext :
public XMLImportContext
80 XMLDcDateContext(XMLImport& rImport, XMLMetaDocumentContext& rMeta);
82 void SAL_CALL characters(
const OUString& rChars)
override;
85 XMLMetaDocumentContext&
mrMeta;
89XMLDcDateContext::XMLDcDateContext(XMLImport& rImport, XMLMetaDocumentContext& rMeta)
90 : XMLImportContext(rImport)
95void XMLDcDateContext::characters(
const OUString& rChars)
98 if (!
mrMeta.GetPropertyList()[
"dc:date"])
99 mrMeta.GetPropertyList().insert(
"dc:date", librevenge::RVNGString(sCharU8.getStr()));
105class XMLMetaGeneratorContext :
public XMLImportContext
108 XMLMetaGeneratorContext(XMLImport& rImport, XMLMetaDocumentContext& rMeta);
110 void SAL_CALL characters(
const OUString& rChars)
override;
113 XMLMetaDocumentContext&
mrMeta;
117XMLMetaGeneratorContext::XMLMetaGeneratorContext(XMLImport& rImport, XMLMetaDocumentContext& rMeta)
118 : XMLImportContext(rImport)
123void XMLMetaGeneratorContext::characters(
const OUString& rChars)
126 mrMeta.GetPropertyList().insert(
"meta:generator", librevenge::RVNGString(sCharU8.getStr()));
132class XMLMetaInitialCreatorContext :
public XMLImportContext
135 XMLMetaInitialCreatorContext(XMLImport& rImport, XMLMetaDocumentContext& rMeta);
137 void SAL_CALL characters(
const OUString& rChars)
override;
140 XMLMetaDocumentContext&
mrMeta;
144XMLMetaInitialCreatorContext::XMLMetaInitialCreatorContext(XMLImport& rImport,
145 XMLMetaDocumentContext& rMeta)
146 : XMLImportContext(rImport)
151void XMLMetaInitialCreatorContext::characters(
const OUString& rChars)
154 if (!
mrMeta.GetPropertyList()[
"meta:initial-creator"])
155 mrMeta.GetPropertyList().insert(
"meta:initial-creator",
156 librevenge::RVNGString(sCharU8.getStr()));
159XMLMetaDocumentContext::XMLMetaDocumentContext(
XMLImport& rImport)
162 librevenge::RVNGPropertyList::Iter it(
GetImport().GetMetaData());
163 for (it.rewind(); it.next();)
169 const OUString& rName,
const css::uno::Reference<css::xml::sax::XAttributeList>& )
171 if (rName ==
"dc:title")
172 return new XMLDcTitleContext(
GetImport(), *
this);
173 if (rName ==
"dc:language")
174 return new XMLDcLanguageContext(
GetImport(), *
this);
175 if (rName ==
"dc:date")
176 return new XMLDcDateContext(
GetImport(), *
this);
177 if (rName ==
"meta:generator")
178 return new XMLMetaGeneratorContext(
GetImport(), *
this);
179 if (rName ==
"meta:initial-creator")
180 return new XMLMetaInitialCreatorContext(
GetImport(), *
this);
190 : mrMetaData(rMetaData)
215 if (rName ==
"dc:identifier")
217 else if (rName ==
"dc:title")
219 else if (rName ==
"dc:creator")
221 else if (rName ==
"dc:language")
223 else if (rName ==
"dc:date")
225 else if (rName ==
"rdf:li")
240 if (rName ==
"dc:identifier")
242 else if (rName ==
"dc:title")
244 else if (rName ==
"dc:creator")
246 else if (rName ==
"dc:language")
248 else if (rName ==
"dc:date")
250 else if (rName ==
"rdf:li")
Base class for a handler of a single XML element during ODF -> librevenge conversion.
ODT export feeds this class to make librevenge calls.
librevenge::RVNGTextInterface & GetGenerator() const
void SAL_CALL endElement(const OUString &rName) override
librevenge::RVNGPropertyList m_aPropertyList
rtl::Reference< XMLImportContext > CreateChildContext(const OUString &rName, const css::uno::Reference< css::xml::sax::XAttributeList > &xAttribs) override
XMPParser(librevenge::RVNGPropertyList &rMetaData)
void SAL_CALL endElement(const OUString &rName) override
void SAL_CALL startDocument() override
void SAL_CALL startElement(const OUString &rName, const css::uno::Reference< css::xml::sax::XAttributeList > &xAttribs) override
librevenge::RVNGPropertyList & mrMetaData
void SAL_CALL endDocument() override
void SAL_CALL setDocumentLocator(const css::uno::Reference< css::xml::sax::XLocator > &xLocator) override
void SAL_CALL ignorableWhitespace(const OUString &aWhitespaces) override
void SAL_CALL characters(const OUString &rChars) override
void SAL_CALL processingInstruction(const OUString &aTarget, const OUString &aData) override
T * clone(T *const other)
OString OUStringToOString(std::u16string_view str, ConnectionSettings const *settings)