diff options
-rw-r--r-- | sw/inc/ndtxt.hxx | 2 | ||||
-rw-r--r-- | sw/source/core/docnode/nodedump.cxx | 44 | ||||
-rw-r--r-- | sw/source/core/txtnode/ndtxt.cxx | 42 |
3 files changed, 43 insertions, 45 deletions
diff --git a/sw/inc/ndtxt.hxx b/sw/inc/ndtxt.hxx index 77c93c9dacf8..45e31071fadc 100644 --- a/sw/inc/ndtxt.hxx +++ b/sw/inc/ndtxt.hxx @@ -792,7 +792,7 @@ public: bool IsCollapse() const; - virtual void dumpAsXml( xmlTextWriterPtr writer = NULL ) const SAL_OVERRIDE; + virtual void dumpAsXml(struct _xmlTextWriter* pWriter) const SAL_OVERRIDE; sal_uInt32 GetRsid( sal_Int32 nStt, sal_Int32 nEnd ) const; sal_uInt32 GetParRsid() const; diff --git a/sw/source/core/docnode/nodedump.cxx b/sw/source/core/docnode/nodedump.cxx index 57b483515f03..64b630c053f0 100644 --- a/sw/source/core/docnode/nodedump.cxx +++ b/sw/source/core/docnode/nodedump.cxx @@ -221,48 +221,4 @@ void SwStartNode::dumpAsXml( xmlTextWriterPtr w ) const // writer.endElement(); - it is a start node, so don't end, will make xml better nested } -void SwTxtNode::dumpAsXml( xmlTextWriterPtr w ) const -{ - WriterHelper writer( w ); - writer.startElement( "text" ); - writer.writeFormatAttribute( "ptr", "%p", this ); - writer.writeFormatAttribute( "index", TMP_FORMAT, GetIndex() ); - OUString txt = GetTxt(); - for( int i = 0; i < 32; ++i ) - txt = txt.replace( i, '*' ); - OString txt8 = OUStringToOString( txt, RTL_TEXTENCODING_UTF8 ); - writer.startElement("inner_text"); - xmlTextWriterWriteString( writer, BAD_CAST( txt8.getStr())); - writer.endElement( ); - - if (GetFmtColl()) - { - SwTxtFmtColl* pColl = static_cast<SwTxtFmtColl*>(GetFmtColl()); - writer.startElement("swtxtfmtcoll"); - OString aName = OUStringToOString(pColl->GetName(), RTL_TEXTENCODING_UTF8); - writer.writeFormatAttribute("name", "%s", BAD_CAST(aName.getStr())); - writer.endElement(); - } - - if (HasSwAttrSet()) - { - writer.startElement("attrset"); - GetSwAttrSet().dumpAsXml(writer); - writer.endElement(); - } - - if (HasHints()) - { - writer.startElement("hints"); - const SwpHints& rHints = GetSwpHints(); - for (size_t i = 0; i < rHints.Count(); ++i) - rHints.GetTextHint(i)->dumpAsXml(w); - writer.endElement(); - } - if (GetNumRule()) - GetNumRule()->dumpAsXml(w); - - writer.endElement(); -} - /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sw/source/core/txtnode/ndtxt.cxx b/sw/source/core/txtnode/ndtxt.cxx index e157578f911d..9a360fdc2983 100644 --- a/sw/source/core/txtnode/ndtxt.cxx +++ b/sw/source/core/txtnode/ndtxt.cxx @@ -4969,6 +4969,48 @@ sal_uInt16 SwTxtNode::ResetAllAttr() return nRet; } +void SwTxtNode::dumpAsXml(xmlTextWriterPtr pWriter) const +{ + xmlTextWriterStartElement(pWriter, BAD_CAST("swTxtNode")); + xmlTextWriterWriteFormatAttribute(pWriter, BAD_CAST("ptr"), "%p", this); + xmlTextWriterWriteAttribute(pWriter, BAD_CAST("index"), BAD_CAST(OString::number(GetIndex()).getStr())); + + OUString sText = GetTxt(); + for (int i = 0; i < 32; ++i) + sText = sText.replace(i, '*'); + xmlTextWriterStartElement(pWriter, BAD_CAST("m_Text")); + xmlTextWriterWriteString(pWriter, BAD_CAST(sText.toUtf8().getStr())); + xmlTextWriterEndElement(pWriter); + + if (GetFmtColl()) + { + xmlTextWriterStartElement(pWriter, BAD_CAST("swTxtFmtColl")); + xmlTextWriterWriteAttribute(pWriter, BAD_CAST("name"), BAD_CAST(GetFmtColl()->GetName().toUtf8().getStr())); + xmlTextWriterEndElement(pWriter); + } + + if (HasSwAttrSet()) + { + xmlTextWriterStartElement(pWriter, BAD_CAST("swAttrSet")); + GetSwAttrSet().dumpAsXml(pWriter); + xmlTextWriterEndElement(pWriter); + } + + if (HasHints()) + { + xmlTextWriterStartElement(pWriter, BAD_CAST("swpHints")); + const SwpHints& rHints = GetSwpHints(); + for (size_t i = 0; i < rHints.Count(); ++i) + rHints.GetTextHint(i)->dumpAsXml(pWriter); + xmlTextWriterEndElement(pWriter); + } + + if (GetNumRule()) + GetNumRule()->dumpAsXml(pWriter); + + xmlTextWriterEndElement(pWriter); +} + sal_uInt32 SwTxtNode::GetRsid( sal_Int32 nStt, sal_Int32 nEnd ) const { SfxItemSet aSet( (SfxItemPool&) (GetDoc()->GetAttrPool()), RES_CHRATR_RSID, RES_CHRATR_RSID ); |