21#include <osl/diagnose.h>
22#include <rtl/ustrbuf.hxx>
25#include <com/sun/star/uno/Sequence.hxx>
32typedef ::cppu::WeakComponentImplHelper<
52 virtual void SAL_CALL
startElement(
const OUString& aName,
const uno::Reference< xml::sax::XAttributeList >& xAttribs )
override;
53 virtual void SAL_CALL
endElement(
const OUString& aName )
override;
54 virtual void SAL_CALL
characters(
const OUString& aChars )
override;
56 virtual void SAL_CALL
processingInstruction(
const OUString& aTarget,
const OUString& aData )
override;
57 virtual void SAL_CALL
setDocumentLocator(
const uno::Reference< xml::sax::XLocator >& xLocator )
override;
67 OSL_PRECOND(
m_xOutStream.is(),
"ODFSerializer(): invalid output stream");
69 OUStringBuffer aElement;
70 aElement.append(
"<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
78 const uno::Reference< xml::sax::XAttributeList >& xAttribs )
80 OUStringBuffer aElement(
"<" +
aName +
" ");
82 const sal_Int16 nLen=xAttribs->getLength();
83 for( sal_Int16
i=0;
i<nLen; ++
i )
84 aElement.append(xAttribs->getNameByIndex(
i) +
"=\"" +
85 xAttribs->getValueByIndex(
i) +
"\" ");
87 characters(aElement.makeStringAndClear() +
">");
98 const sal_Int32 nLen(
aStr.getLength() );
100 const char* pStr =
aStr.getStr();
101 std::copy(pStr,pStr+nLen,
m_aBuf.getArray());
121uno::Reference< xml::sax::XDocumentHandler>
createSerializer(
const uno::Reference<io::XOutputStream>& xOut )
123 return uno::Reference<xml::sax::XDocumentHandler>(
new ODFSerializer(xOut));
mutable::osl::Mutex m_aMutex
virtual void SAL_CALL endElement(const OUString &aName) override
uno::Reference< io::XOutputStream > m_xOutStream
uno::Sequence< sal_Int8 > m_aLineFeed
virtual void SAL_CALL setDocumentLocator(const uno::Reference< xml::sax::XLocator > &xLocator) override
virtual void SAL_CALL startElement(const OUString &aName, const uno::Reference< xml::sax::XAttributeList > &xAttribs) override
virtual void SAL_CALL startDocument() override
virtual void SAL_CALL ignorableWhitespace(const OUString &aWhitespaces) override
uno::Sequence< sal_Int8 > m_aBuf
ODFSerializer & operator=(const ODFSerializer &)=delete
virtual void SAL_CALL processingInstruction(const OUString &aTarget, const OUString &aData) override
virtual void SAL_CALL characters(const OUString &aChars) override
virtual void SAL_CALL endDocument() override
ODFSerializer(const uno::Reference< io::XOutputStream > &xOut)
ODFSerializer(const ODFSerializer &)=delete
Shape IDs per cluster in DGG atom.
OString OUStringToOString(std::u16string_view str, ConnectionSettings const *settings)
::cppu::WeakComponentImplHelper< css::xml::sax::XDocumentHandler > ODFSerializerBase
uno::Reference< xml::sax::XDocumentHandler > createSerializer(const uno::Reference< io::XOutputStream > &xOut)