LibreOffice Module writerfilter (master) 1
OOXMLFastContextHandler.hxx
Go to the documentation of this file.
1/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2/*
3 * This file is part of the LibreOffice project.
4 *
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 *
9 * This file incorporates work covered by the following license notice:
10 *
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
18 */
19
20#pragma once
21
22#include <set>
24#include <com/sun/star/uno/XComponentContext.hpp>
25#include <com/sun/star/xml/sax/XFastContextHandler.hpp>
27#include <rtl/ref.hxx>
28#include "OOXMLParserState.hxx"
29#include "OOXMLPropertySet.hxx"
30
31namespace writerfilter::ooxml
32{
33class OOXMLDocumentImpl;
34
35class OOXMLFastContextHandler: public ::cppu::WeakImplHelper<css::xml::sax::XFastContextHandler>
36{
37public:
39
41
42 explicit OOXMLFastContextHandler(css::uno::Reference< css::uno::XComponentContext > const & context);
43
45
47
48 virtual ~OOXMLFastContextHandler() override;
49
50 // css::xml::sax::XFastContextHandler:
51 virtual void SAL_CALL startFastElement (sal_Int32 Element, const css::uno::Reference< css::xml::sax::XFastAttributeList >& Attribs) override final;
52
53 virtual void SAL_CALL startUnknownElement(const OUString & Namespace, const OUString & Name, const css::uno::Reference< css::xml::sax::XFastAttributeList > & Attribs) override;
54
55 virtual void SAL_CALL endFastElement(sal_Int32 Element) override;
56
57 virtual void SAL_CALL endUnknownElement(const OUString & Namespace, const OUString & Name) override;
58
59 virtual css::uno::Reference<css::xml::sax::XFastContextHandler> SAL_CALL createFastChildContext(sal_Int32 Element,
60 const css::uno::Reference<css::xml::sax::XFastAttributeList>& Attribs) override;
61
62 virtual css::uno::Reference< css::xml::sax::XFastContextHandler > SAL_CALL createUnknownChildContext(const OUString & Namespace, const OUString & Name,
63 const css::uno::Reference< css::xml::sax::XFastAttributeList > & Attribs) override;
64
65 virtual void SAL_CALL characters(const OUString & aChars) override;
66
67 // local
68
69 void setStream(Stream * pStream);
70
76 virtual OOXMLValue::Pointer_t getValue() const;
77
85 virtual std::string getType() const { return "??"; }
86
87 virtual ResourceEnum_t getResource() const { return STREAM; }
88
91 virtual void attributes(const css::uno::Reference< css::xml::sax::XFastAttributeList > & Attribs);
92
93 virtual void newProperty(Id aId, const OOXMLValue::Pointer_t& pVal);
94 virtual void setPropertySet(const OOXMLPropertySet::Pointer_t& pPropertySet);
96
97 virtual void setToken(Token_t nToken);
98 virtual Token_t getToken() const;
99
100 void resolveFootnote(const sal_Int32 nId);
101 void resolveEndnote(const sal_Int32 nId);
102 void resolveComment(const sal_Int32 nId);
103 void resolvePicture(const OUString & rId);
104 void resolveHeader(const sal_Int32 type,
105 const OUString & rId);
106 void resolveFooter(const sal_Int32 type,
107 const OUString & rId);
108 void resolveData(const OUString & rId);
109
110 OUString getTargetForId(const OUString & rId);
111
112 void setDocument(OOXMLDocumentImpl* pDocument);
114 void setXNoteId(const OOXMLValue::Pointer_t& pValue);
115 void setXNoteId(const sal_Int32 nId);
116 sal_Int32 getXNoteId() const;
117 void setForwardEvents(bool bForwardEvents);
118 bool isForwardEvents() const;
119 virtual void setId(Id nId);
120 virtual Id getId() const;
121
122 void setDefine(Id nDefine);
123 Id getDefine() const { return mnDefine;}
124
126
127 void sendTableDepth() const;
128 void setHandle();
129
130 void startSectionGroup();
132 void setLastSectionGroup();
133 void endSectionGroup();
134 void startParagraphGroup();
135 void endParagraphGroup();
136 void startCharacterGroup();
137 void endCharacterGroup();
138 virtual void pushBiDiEmbedLevel();
139 virtual void popBiDiEmbedLevel();
140 void startSdt();
141 void endSdt();
142 void startSdtRun();
143 void endSdtRun();
144
145 void startField();
146 void fieldSeparator();
147 void endField();
148 void lockField();
149 void ftnednref();
150 void ftnedncont();
151 void ftnednsep();
152 void pgNum();
153 void tab();
154 void symbol();
155 void cr();
156 void noBreakHyphen();
157 void softHyphen();
159 void endOfParagraph();
160 void text(const OUString & sText);
161 void positionOffset(const OUString & sText);
162 static void ignore();
163 void alignH(const OUString & sText);
164 void alignV(const OUString & sText);
165 void positivePercentage(const OUString& rText);
166 void startGlossaryEntry();
167 void endGlossaryEntry();
168 void startTxbxContent();
169 void endTxbxContent();
174 void sendPropertiesWithId(Id nId);
176 void sendCellProperties();
177 void sendRowProperties();
178 void sendTableProperties();
179 void clearTableProps();
180 void clearProps();
181
182 virtual void setDefaultBooleanValue();
183 virtual void setDefaultIntegerValue();
184 virtual void setDefaultHexValue();
185 virtual void setDefaultStringValue();
186
189 void setGridAfter(const OOXMLValue::Pointer_t& pGridAfter) { mpGridAfter = pGridAfter; }
190
191protected:
196
197 // the formula insertion mode: inline/newline(left, center, right)
201 {
202 INLINE, //The equation is anchored as inline to the text
203 CENTER, //The equation is center aligned
204 LEFT, //The equation is left aligned
205 RIGHT //The equation is right aligned
206 };
207 // the stream to send the stream events to.
209
210 // the current global parser state
212
213 // the table depth of this context
214 unsigned int mnTableDepth;
215
218 virtual void lcl_startFastElement(Token_t Element, const css::uno::Reference< css::xml::sax::XFastAttributeList > & Attribs);
219
222 virtual void lcl_endFastElement(Token_t Element);
223
226 virtual css::uno::Reference< css::xml::sax::XFastContextHandler > lcl_createFastChildContext(Token_t Element, const css::uno::Reference< css::xml::sax::XFastAttributeList > & Attribs);
227
230 virtual void lcl_characters(const OUString & aChars);
231
232 void startAction();
233 void endAction();
234
236 bool mbAllowInCell; // o:allowincell
239
240private:
241 void operator =(OOXMLFastContextHandler const &) = delete;
243 bool prepareMceContext(Token_t nElement, const css::uno::Reference<css::xml::sax::XFastAttributeList>& Attribs);
244
245 // 2.10 of XML 1.0 specification
246 bool IsPreserveSpace() const;
247
248 css::uno::Reference< css::uno::XComponentContext > m_xContext;
251 bool mbPreserveSpace = false;
252 bool mbPreserveSpaceSet = false;
253
254};
255
257{
258public:
260 virtual ~OOXMLFastContextHandlerStream() override;
261
262 virtual ResourceEnum_t getResource() const override { return STREAM; }
263
265
266 virtual void newProperty(Id aId, const OOXMLValue::Pointer_t& pVal) override;
267 void sendProperty(Id nId);
268 virtual OOXMLPropertySet::Pointer_t getPropertySet() const override;
269
270 void handleHyperlink();
271
272private:
274};
275
277{
278public:
280 virtual ~OOXMLFastContextHandlerProperties() override;
281
282 virtual OOXMLValue::Pointer_t getValue() const override;
283 virtual ResourceEnum_t getResource() const override { return PROPERTIES; }
284
285 virtual void newProperty(Id nId, const OOXMLValue::Pointer_t& pVal) override;
286
287 void handleXNotes();
288 void handleHdrFtr();
289 void handleComment();
290 void handlePicture();
291 void handleBreak();
293 void handleOLE();
294 void handleFontRel();
295 void handleHyperlinkURL();
296 void handleAltChunk();
297
298 virtual void setPropertySet(const OOXMLPropertySet::Pointer_t& pPropertySet) override;
299 virtual OOXMLPropertySet::Pointer_t getPropertySet() const override;
300
301protected:
304
305 virtual void lcl_endFastElement(Token_t Element) override;
306
307private:
308
310};
311
314{
315public:
317 virtual ~OOXMLFastContextHandlerPropertyTable() override;
318
319private:
321
322 virtual void lcl_endFastElement(Token_t Element) override;
323};
324
327{
328public:
330 virtual ~OOXMLFastContextHandlerValue() override;
331
332 void setValue(const OOXMLValue::Pointer_t& pValue);
333 virtual OOXMLValue::Pointer_t getValue() const override;
334
335 virtual void lcl_endFastElement(Token_t Element) override;
336
337 virtual std::string getType() const override { return "Value"; }
338
339 virtual void setDefaultBooleanValue() override;
340 virtual void setDefaultIntegerValue() override;
341 virtual void setDefaultHexValue() override;
342 virtual void setDefaultStringValue() override;
343
344 virtual void pushBiDiEmbedLevel() override;
345 virtual void popBiDiEmbedLevel() override;
346
347 void handleGridAfter();
348
349private:
351};
352
354{
355public:
357 virtual ~OOXMLFastContextHandlerTable() override;
358
359 virtual css::uno::Reference< css::xml::sax::XFastContextHandler > SAL_CALL createFastChildContext (sal_Int32 Element,
360 const css::uno::Reference< css::xml::sax::XFastAttributeList > & Attribs) override;
361
362private:
364
365 css::uno::Reference<css::xml::sax::XFastContextHandler> mCurrentChild;
366
367 virtual void lcl_endFastElement(Token_t Element) override;
368
369 virtual ResourceEnum_t getResource() const override { return TABLE; }
370
371 virtual std::string getType() const override { return "Table"; }
372
373 void addCurrentChild();
374};
375
377{
378public:
380 virtual ~OOXMLFastContextHandlerXNote() override;
381
382 void checkId(const OOXMLValue::Pointer_t& pValue);
383
384 void checkType(const OOXMLValue::Pointer_t& pValue);
385
386 virtual std::string getType() const override { return "XNote"; }
387
388private:
390 sal_Int32 mnMyXNoteId;
391 sal_Int32 mnMyXNoteType;
392
393 virtual void lcl_startFastElement(Token_t Element, const css::uno::Reference< css::xml::sax::XFastAttributeList > & Attribs) override;
394
395 virtual void lcl_endFastElement(Token_t Element) override;
396
397 virtual ResourceEnum_t getResource() const override { return STREAM; }
398};
399
401{
402public:
404 virtual ~OOXMLFastContextHandlerTextTableCell() override;
405
406 virtual std::string getType() const override { return "TextTableCell"; }
407
408 void startCell();
409 void endCell();
410};
411
413{
414public:
416 virtual ~OOXMLFastContextHandlerTextTableRow() override;
417
418 virtual std::string getType() const override { return "TextTableRow"; }
419
420 static void startRow();
421 void endRow();
422 void handleGridBefore( const OOXMLValue::Pointer_t& val );
423};
424
426{
427public:
429
430 virtual ~OOXMLFastContextHandlerTextTable() override;
431
432 virtual std::string getType() const override { return "TextTable"; }
433
434 // tdf#111550
435 // when <w:tbl> appears as direct child of <w:p>, we need to rearrange this paragraph
436 // to merge with the table's first paragraph (that's what Word does in this case)
437 void start_P_Tbl();
438protected:
439 virtual void lcl_startFastElement(Token_t Element, const css::uno::Reference< css::xml::sax::XFastAttributeList > & Attribs) override;
440
441 virtual void lcl_endFastElement(Token_t Element) override;
442};
443
445{
451
452public:
454 virtual ~OOXMLFastContextHandlerShape() override;
455
456 virtual std::string getType() const override { return "Shape"; }
457
458 // css::xml::sax::XFastContextHandler:
459 virtual void SAL_CALL startUnknownElement (const OUString & Namespace, const OUString & Name, const css::uno::Reference< css::xml::sax::XFastAttributeList > & Attribs) override;
460
461 virtual void SAL_CALL endUnknownElement(const OUString & Namespace, const OUString & Name) override;
462
463 virtual css::uno::Reference< css::xml::sax::XFastContextHandler > SAL_CALL createUnknownChildContext(const OUString & Namespace, const OUString & Name,
464 const css::uno::Reference< css::xml::sax::XFastAttributeList > & Attribs) override;
465
466 virtual void setToken(Token_t nToken) override;
467
468 virtual ResourceEnum_t getResource() const override { return SHAPE; }
469
470 void sendShape( Token_t Element );
471 bool isShapeSent( ) const { return m_bShapeSent; }
472 bool isDMLGroupShape() const;
473
474protected:
475 virtual void lcl_startFastElement(Token_t Element, const css::uno::Reference< css::xml::sax::XFastAttributeList > & Attribs) override;
476
477 virtual void lcl_endFastElement(Token_t Element) override;
478
479 virtual css::uno::Reference< css::xml::sax::XFastContextHandler > lcl_createFastChildContext (Token_t Element, const css::uno::Reference< css::xml::sax::XFastAttributeList > & Attribs) override;
480
481 virtual void lcl_characters(const OUString & aChars) override;
482
483};
484
492{
493public:
495 css::uno::Reference<css::xml::sax::XFastContextHandler> const & xContext,
497 virtual ~OOXMLFastContextHandlerWrapper() override;
498
499 // css::xml::sax::XFastContextHandler:
500 virtual void SAL_CALL startUnknownElement(const OUString & Namespace, const OUString & Name, const css::uno::Reference< css::xml::sax::XFastAttributeList > & Attribs) override;
501
502 virtual void SAL_CALL endUnknownElement(const OUString & Namespace, const OUString & Name) override;
503
504 virtual css::uno::Reference< css::xml::sax::XFastContextHandler > SAL_CALL createUnknownChildContext (const OUString & Namespace, const OUString & Name,
505 const css::uno::Reference< css::xml::sax::XFastAttributeList > & Attribs) override;
506
507 virtual void attributes(const css::uno::Reference< css::xml::sax::XFastAttributeList > & Attribs) override;
508
509 virtual ResourceEnum_t getResource() const override;
510
511 void addNamespace(Id nId);
512 void addToken( Token_t Element );
513
514 virtual void newProperty(Id nId, const OOXMLValue::Pointer_t& pVal) override;
515 virtual void setPropertySet(const OOXMLPropertySet::Pointer_t& pPropertySet) override;
516 virtual OOXMLPropertySet::Pointer_t getPropertySet() const override;
517
518 virtual std::string getType() const override;
519
520protected:
521 virtual void lcl_startFastElement(Token_t Element, const css::uno::Reference< css::xml::sax::XFastAttributeList > & Attribs) override;
522
523 virtual void lcl_endFastElement(Token_t Element) override;
524
525 virtual css::uno::Reference< css::xml::sax::XFastContextHandler > lcl_createFastChildContext(Token_t Element, const css::uno::Reference< css::xml::sax::XFastAttributeList > & Attribs) override;
526
527 virtual void lcl_characters(const OUString & aChars) override;
528
529 virtual void setId(Id nId) override;
530 virtual Id getId() const override;
531
532 virtual void setToken(Token_t nToken) override;
533 virtual Token_t getToken() const override;
534
535private:
536 css::uno::Reference<css::xml::sax::XFastContextHandler> mxWrappedContext;
538 std::set<Id> mMyNamespaces;
539 std::set<Token_t> mMyTokens;
541
543};
544
562{
563public:
568 virtual std::string getType() const override = 0;
569
570protected:
575 virtual void process() = 0;
576
577 virtual void lcl_startFastElement(Token_t Element, const css::uno::Reference< css::xml::sax::XFastAttributeList > & Attribs) override;
578
579 virtual void lcl_endFastElement(Token_t Element) override;
580
581 virtual css::uno::Reference< css::xml::sax::XFastContextHandler > lcl_createFastChildContext(Token_t Element,
582 const css::uno::Reference< css::xml::sax::XFastAttributeList > & Attribs) override;
583
584 virtual void lcl_characters(const OUString & aChars) override;
585
586 // should be private, but not much point in making deep copies of it
588
589private:
591};
592
594{
595public:
597 virtual std::string getType() const override { return "Math"; }
598protected:
599 virtual void process() override;
600};
601
615{
616public:
618
619 virtual std::string getType() const override { return "CommentEx"; }
620 virtual void lcl_endFastElement(Token_t Element) override;
621
622 void att_paraId(const OOXMLValue::Pointer_t& pValue);
623 void att_done(const OOXMLValue::Pointer_t& pValue);
624 void att_paraIdParent(const OOXMLValue::Pointer_t& pValue);
625
626private:
627 OUString m_sParaId;
628 bool m_bDone = false;
629 OUString m_sParentId {};
630};
631
632}
633
634/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
Handler for a stream.
A class that reads individual w15:commentEx elements from commentsExtended stream [MS-DOCX].
virtual std::string getType() const override
Returns a string describing the type of the context.
void att_paraIdParent(const OOXMLValue::Pointer_t &pValue)
A class that converts from XFastParser/XFastContextHandler usage to a liner XML stream of data.
virtual void lcl_startFastElement(Token_t Element, const css::uno::Reference< css::xml::sax::XFastAttributeList > &Attribs) override
virtual void lcl_characters(const OUString &aChars) override
virtual void process()=0
Called when the tokens for the element, its content and sub-elements have been linearized and should ...
virtual css::uno::Reference< css::xml::sax::XFastContextHandler > lcl_createFastChildContext(Token_t Element, const css::uno::Reference< css::xml::sax::XFastAttributeList > &Attribs) override
virtual void lcl_endFastElement(Token_t Element) override
OOXMLFastContextHandlerLinear(OOXMLFastContextHandler *pContext)
virtual std::string getType() const override=0
Return the type of the class, as written in model.xml .
OOXMLFastContextHandlerMath(OOXMLFastContextHandler *pContext)
virtual void process() override
Called when the tokens for the element, its content and sub-elements have been linearized and should ...
virtual std::string getType() const override
Return the type of the class, as written in model.xml .
OOXMLPropertySet::Pointer_t mpPropertySet
the properties
virtual OOXMLValue::Pointer_t getValue() const override
Return value of this context(element).
virtual void setPropertySet(const OOXMLPropertySet::Pointer_t &pPropertySet) override
virtual OOXMLPropertySet::Pointer_t getPropertySet() const override
virtual void newProperty(Id nId, const OOXMLValue::Pointer_t &pVal) override
virtual void SAL_CALL endUnknownElement(const OUString &Namespace, const OUString &Name) override
OOXMLFastContextHandlerShape(OOXMLFastContextHandler *pContext)
virtual void SAL_CALL startUnknownElement(const OUString &Namespace, const OUString &Name, const css::uno::Reference< css::xml::sax::XFastAttributeList > &Attribs) override
rtl::Reference< oox::shape::ShapeContextHandler > mrShapeContext
virtual void lcl_startFastElement(Token_t Element, const css::uno::Reference< css::xml::sax::XFastAttributeList > &Attribs) override
virtual ResourceEnum_t getResource() const override
virtual css::uno::Reference< css::xml::sax::XFastContextHandler > SAL_CALL createUnknownChildContext(const OUString &Namespace, const OUString &Name, const css::uno::Reference< css::xml::sax::XFastAttributeList > &Attribs) override
virtual std::string getType() const override
Returns a string describing the type of the context.
virtual void lcl_characters(const OUString &aChars) override
virtual void lcl_endFastElement(Token_t Element) override
bool m_bShapeContextPushed
Is it necessary to pop the stack in the dtor?
virtual css::uno::Reference< css::xml::sax::XFastContextHandler > lcl_createFastChildContext(Token_t Element, const css::uno::Reference< css::xml::sax::XFastAttributeList > &Attribs) override
virtual ResourceEnum_t getResource() const override
virtual OOXMLPropertySet::Pointer_t getPropertySet() const override
virtual void newProperty(Id aId, const OOXMLValue::Pointer_t &pVal) override
const OOXMLPropertySet::Pointer_t & getPropertySetAttrs() const
OOXMLFastContextHandlerStream(OOXMLFastContextHandler *pContext)
virtual ResourceEnum_t getResource() const override
OOXMLFastContextHandlerTable(OOXMLFastContextHandler *pContext)
virtual std::string getType() const override
Returns a string describing the type of the context.
virtual css::uno::Reference< css::xml::sax::XFastContextHandler > SAL_CALL createFastChildContext(sal_Int32 Element, const css::uno::Reference< css::xml::sax::XFastAttributeList > &Attribs) override
css::uno::Reference< css::xml::sax::XFastContextHandler > mCurrentChild
virtual void lcl_endFastElement(Token_t Element) override
virtual std::string getType() const override
Returns a string describing the type of the context.
virtual std::string getType() const override
Returns a string describing the type of the context.
virtual void lcl_startFastElement(Token_t Element, const css::uno::Reference< css::xml::sax::XFastAttributeList > &Attribs) override
virtual std::string getType() const override
Returns a string describing the type of the context.
virtual std::string getType() const override
Returns a string describing the type of the context.
virtual void lcl_endFastElement(Token_t Element) override
OOXMLFastContextHandlerValue(OOXMLFastContextHandler *pContext)
void setValue(const OOXMLValue::Pointer_t &pValue)
virtual OOXMLValue::Pointer_t getValue() const override
Return value of this context(element).
OOXMLFastContextHandlerWrapper wraps an OOXMLFastContextHandler.
rtl::Reference< OOXMLFastContextHandlerShape > mxShapeHandler
virtual void lcl_characters(const OUString &aChars) override
virtual OOXMLPropertySet::Pointer_t getPropertySet() const override
virtual void attributes(const css::uno::Reference< css::xml::sax::XFastAttributeList > &Attribs) override
virtual void SAL_CALL startUnknownElement(const OUString &Namespace, const OUString &Name, const css::uno::Reference< css::xml::sax::XFastAttributeList > &Attribs) override
virtual std::string getType() const override
Returns a string describing the type of the context.
virtual css::uno::Reference< css::xml::sax::XFastContextHandler > SAL_CALL createUnknownChildContext(const OUString &Namespace, const OUString &Name, const css::uno::Reference< css::xml::sax::XFastAttributeList > &Attribs) override
virtual css::uno::Reference< css::xml::sax::XFastContextHandler > lcl_createFastChildContext(Token_t Element, const css::uno::Reference< css::xml::sax::XFastAttributeList > &Attribs) override
virtual void newProperty(Id nId, const OOXMLValue::Pointer_t &pVal) override
virtual void SAL_CALL endUnknownElement(const OUString &Namespace, const OUString &Name) override
virtual void lcl_endFastElement(Token_t Element) override
OOXMLFastContextHandlerWrapper(OOXMLFastContextHandler *pParent, css::uno::Reference< css::xml::sax::XFastContextHandler > const &xContext, rtl::Reference< OOXMLFastContextHandlerShape > const &xShapeHandler)
virtual void lcl_startFastElement(Token_t Element, const css::uno::Reference< css::xml::sax::XFastAttributeList > &Attribs) override
css::uno::Reference< css::xml::sax::XFastContextHandler > mxWrappedContext
virtual void setPropertySet(const OOXMLPropertySet::Pointer_t &pPropertySet) override
void checkType(const OOXMLValue::Pointer_t &pValue)
virtual std::string getType() const override
Returns a string describing the type of the context.
OOXMLFastContextHandlerXNote(OOXMLFastContextHandler *pContext)
virtual ResourceEnum_t getResource() const override
virtual void lcl_startFastElement(Token_t Element, const css::uno::Reference< css::xml::sax::XFastAttributeList > &Attribs) override
virtual void lcl_endFastElement(Token_t Element) override
void checkId(const OOXMLValue::Pointer_t &pValue)
virtual css::uno::Reference< css::xml::sax::XFastContextHandler > SAL_CALL createFastChildContext(sal_Int32 Element, const css::uno::Reference< css::xml::sax::XFastAttributeList > &Attribs) override
css::uno::Reference< css::uno::XComponentContext > m_xContext
virtual void setPropertySet(const OOXMLPropertySet::Pointer_t &pPropertySet)
virtual void SAL_CALL characters(const OUString &aChars) override
virtual css::uno::Reference< css::xml::sax::XFastContextHandler > SAL_CALL createUnknownChildContext(const OUString &Namespace, const OUString &Name, const css::uno::Reference< css::xml::sax::XFastAttributeList > &Attribs) override
tools::SvRef< OOXMLFastContextHandler > Pointer_t
virtual css::uno::Reference< css::xml::sax::XFastContextHandler > lcl_createFastChildContext(Token_t Element, const css::uno::Reference< css::xml::sax::XFastAttributeList > &Attribs)
void resolveHeader(const sal_Int32 type, const OUString &rId)
virtual void newProperty(Id aId, const OOXMLValue::Pointer_t &pVal)
virtual void SAL_CALL startFastElement(sal_Int32 Element, const css::uno::Reference< css::xml::sax::XFastAttributeList > &Attribs) override final
virtual OOXMLValue::Pointer_t getValue() const
Return value of this context(element).
virtual void SAL_CALL startUnknownElement(const OUString &Namespace, const OUString &Name, const css::uno::Reference< css::xml::sax::XFastAttributeList > &Attribs) override
virtual void SAL_CALL endUnknownElement(const OUString &Namespace, const OUString &Name) override
void operator=(OOXMLFastContextHandler const &)=delete
virtual void lcl_characters(const OUString &aChars)
bool m_bTookChoice
Did we take the Choice or want Fallback instead?
virtual void attributes(const css::uno::Reference< css::xml::sax::XFastAttributeList > &Attribs)
const OOXMLParserState::Pointer_t & getParserState() const
virtual void SAL_CALL endFastElement(sal_Int32 Element) override
void resolveFooter(const sal_Int32 type, const OUString &rId)
virtual OOXMLPropertySet::Pointer_t getPropertySet() const
bool prepareMceContext(Token_t nElement, const css::uno::Reference< css::xml::sax::XFastAttributeList > &Attribs)
Handles AlternateContent. Returns true, if children of the current element should be ignored.
void setXNoteId(const OOXMLValue::Pointer_t &pValue)
virtual void lcl_startFastElement(Token_t Element, const css::uno::Reference< css::xml::sax::XFastAttributeList > &Attribs)
virtual std::string getType() const
Returns a string describing the type of the context.
OOXMLFastContextHandler(OOXMLFastContextHandler const &)=default
OOXMLFastContextHandler(css::uno::Reference< css::uno::XComponentContext > const &context)
void setGridAfter(const OOXMLValue::Pointer_t &pGridAfter)
sal_Int32 Token_t
sal_Int16 nId
DefTokenId nToken
sal_uInt32 Id
OUString Name
signed char sal_Int8