summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMiklos Vajna <vmiklos@collabora.com>2021-03-01 09:25:04 +0100
committerMiklos Vajna <vmiklos@collabora.com>2021-03-01 11:06:37 +0100
commite08eb980c9f376195ee31dd7e5429bf32d847772 (patch)
tree97ad78e9009a5ec897ade1354cb60c559afb881b
parent3ab99045e22f82ad8b5d9c862860e4a8a93a52d6 (diff)
sw doc model xml dump: show SwAuthEntry
To see the author/title/etc of bibliography fields. Change-Id: Ia466c96d3d17b52b94a85070edd023a0579e970a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111732 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
-rw-r--r--sw/inc/authfld.hxx1
-rw-r--r--sw/source/core/fields/authfld.cxx19
2 files changed, 20 insertions, 0 deletions
diff --git a/sw/inc/authfld.hxx b/sw/inc/authfld.hxx
index 55c095596845..cdfcf7f9f55a 100644
--- a/sw/inc/authfld.hxx
+++ b/sw/inc/authfld.hxx
@@ -44,6 +44,7 @@ public:
inline OUString const & GetAuthorField(ToxAuthorityField ePos) const;
inline void SetAuthorField(ToxAuthorityField ePos,
const OUString& rField);
+ void dumpAsXml(xmlTextWriterPtr pWriter) const;
};
struct SwTOXSortKey
diff --git a/sw/source/core/fields/authfld.cxx b/sw/source/core/fields/authfld.cxx
index 8399ca3dc681..ad60d02db173 100644
--- a/sw/source/core/fields/authfld.cxx
+++ b/sw/source/core/fields/authfld.cxx
@@ -612,6 +612,10 @@ void SwAuthorityField::dumpAsXml(xmlTextWriterPtr pWriter) const
xmlTextWriterStartElement(pWriter, BAD_CAST("m_xAuthEntry"));
xmlTextWriterWriteFormatAttribute(pWriter, BAD_CAST("ptr"), "%p", m_xAuthEntry.get());
+ if (m_xAuthEntry.is())
+ {
+ m_xAuthEntry->dumpAsXml(pWriter);
+ }
xmlTextWriterEndElement(pWriter);
xmlTextWriterStartElement(pWriter, BAD_CAST("m_nTempSequencePos"));
xmlTextWriterWriteAttribute(pWriter, BAD_CAST("value"),
@@ -660,6 +664,21 @@ const char* const aFieldNames[] =
"ISBN"
};
+void SwAuthEntry::dumpAsXml(xmlTextWriterPtr pWriter) const
+{
+ xmlTextWriterStartElement(pWriter, BAD_CAST("SwAuthEntry"));
+
+ for (int i = 0; i < AUTH_FIELD_END; ++i)
+ {
+ xmlTextWriterStartElement(pWriter, BAD_CAST("m_aAuthField"));
+ xmlTextWriterWriteAttribute(pWriter, BAD_CAST("key"), BAD_CAST(aFieldNames[i]));
+ xmlTextWriterWriteAttribute(pWriter, BAD_CAST("value"), BAD_CAST(m_aAuthFields[i].toUtf8().getStr()));
+ xmlTextWriterEndElement(pWriter);
+ }
+
+ xmlTextWriterEndElement(pWriter);
+}
+
bool SwAuthorityField::QueryValue( Any& rAny, sal_uInt16 /*nWhichId*/ ) const
{
if(!GetTyp())