26#include <document.hxx>
37using ::com::sun::star::uno::Reference;
55 if ( !rAttrList.is() )
58 for (
auto &aIter : *rAttrList)
60 switch (aIter.getToken())
99 sal_Int32 nElement,
const uno::Reference< xml::sax::XFastAttributeList >& xAttrList )
183 std::vector<ConnStackItem>::reverse_iterator itr =
maConnStack.rbegin();
192 mrQueryParam(rParam),
193 pFilterContext(pTempFilterContext)
203 sal_Int32 nElement,
const uno::Reference< xml::sax::XFastAttributeList >& xAttrList )
236 mrQueryParam(rParam),
237 pFilterContext(pTempFilterContext)
247 sal_Int32 nElement,
const uno::Reference< xml::sax::XFastAttributeList >& xAttrList )
283 mrQueryParam(rParam),
284 pFilterContext(pTempFilterContext),
287 bIsCaseSensitive(false)
290 if ( !rAttrList.is() )
293 for (
auto &aIter : *rAttrList)
295 switch (aIter.getToken())
332 sal_Int32 nElement,
const uno::Reference< xml::sax::XFastAttributeList >& xAttrList )
365 else if (aOpStr ==
u"=")
367 else if (aOpStr ==
u"!=")
375 else if (aOpStr ==
u">")
377 else if (aOpStr ==
u">=")
379 else if (aOpStr ==
u"<")
381 else if (aOpStr ==
u"<=")
459 if ( !rAttrList.is() )
462 for (
auto &aIter : *rAttrList)
464 switch (aIter.getToken())
488 pDataPilotTable(pTempDataPilotTableContext),
489 eSearchType(
utl::SearchParam::SearchType::
Normal),
490 nFilterFieldCount(0),
491 bSkipDuplicates(false),
492 bIsCaseSensitive(false),
494 bNextConnectionOr(true)
496 if ( !rAttrList.is() )
499 for (
auto &aIter : *rAttrList)
501 switch (aIter.getToken())
532 sal_Int32 nElement,
const uno::Reference< xml::sax::XFastAttributeList >& xAttrList )
573 rEntry = aFilterField;
591 sal_Int32 nElement,
const uno::Reference< xml::sax::XFastAttributeList >& xAttrList )
622 pFilterContext(pTempFilterContext)
632 sal_Int32 nElement,
const uno::Reference< xml::sax::XFastAttributeList >& xAttrList )
665 pFilterContext(pTempFilterContext),
668 bIsCaseSensitive(false)
671 if ( !rAttrList.is() )
674 for (
auto &aIter : *rAttrList)
676 switch (aIter.getToken())
725 else if (sTempOperator ==
u"=")
727 else if (sTempOperator ==
u"!=")
733 else if (sTempOperator ==
u">")
735 else if (sTempOperator ==
u">=")
737 else if (sTempOperator ==
u"<")
739 else if (sTempOperator ==
u"<=")
SC_DLLPUBLIC svl::SharedStringPool & GetSharedStringPool()
static bool GetRangeFromString(ScRange &rRange, std::u16string_view rRangeStr, const ScDocument &rDocument, formula::FormulaGrammar::AddressConvention eConv, sal_Int32 &nOffset, sal_Unicode cSeparator=' ', sal_Unicode cQuote='\'')
ScQueryParam & mrQueryParam
virtual void SAL_CALL endFastElement(sal_Int32 nElement) override
virtual ~ScXMLAndContext() override
ScXMLFilterContext * pFilterContext
ScXMLAndContext(ScXMLImport &rImport, ScQueryParam &rParam, ScXMLFilterContext *pTempFilterContext)
virtual css::uno::Reference< css::xml::sax::XFastContextHandler > SAL_CALL createFastChildContext(sal_Int32 nElement, const css::uno::Reference< css::xml::sax::XFastAttributeList > &xAttrList) override
virtual void SAL_CALL endFastElement(sal_Int32 nElement) override
static void GetOperator(std::u16string_view aOpStr, ScQueryParam &rParam, ScQueryEntry &rEntry)
void AddSetItem(const ScQueryEntry::Item &rItem)
virtual css::uno::Reference< css::xml::sax::XFastContextHandler > SAL_CALL createFastChildContext(sal_Int32 nElement, const css::uno::Reference< css::xml::sax::XFastAttributeList > &xAttrList) override
ScXMLFilterContext * pFilterContext
ScXMLConditionContext(ScXMLImport &rImport, sal_Int32 nElement, const rtl::Reference< sax_fastparser::FastAttributeList > &rAttrList, ScQueryParam &rParam, ScXMLFilterContext *pTempFilterContext)
ScQueryParam & mrQueryParam
virtual ~ScXMLConditionContext() override
ScQueryEntry::QueryItemsType maQueryItems
virtual ~ScXMLDPAndContext() override
virtual css::uno::Reference< css::xml::sax::XFastContextHandler > SAL_CALL createFastChildContext(sal_Int32 nElement, const css::uno::Reference< css::xml::sax::XFastAttributeList > &xAttrList) override
ScXMLDPAndContext(ScXMLImport &rImport, ScXMLDPFilterContext *pTempFilterContext)
virtual void SAL_CALL endFastElement(sal_Int32 nElement) override
ScXMLDPFilterContext * pFilterContext
static void getOperatorXML(std::u16string_view sTempOperator, ScQueryOp &aFilterOperator, utl::SearchParam::SearchType &rSearchType)
ScXMLDPFilterContext * pFilterContext
ScXMLDPConditionContext(ScXMLImport &rImport, sal_Int32 nElement, const rtl::Reference< sax_fastparser::FastAttributeList > &rAttrList, ScXMLDPFilterContext *pTempFilterContext)
virtual void SAL_CALL endFastElement(sal_Int32 nElement) override
virtual ~ScXMLDPConditionContext() override
ScXMLDataPilotTableContext * pDataPilotTable
void SetIsCaseSensitive(const bool bTemp)
void SetSearchType(const utl::SearchParam::SearchType eTemp)
utl::SearchParam::SearchType eSearchType
virtual void SAL_CALL endFastElement(sal_Int32 nElement) override
ScQueryParam aFilterFields
ScXMLDPFilterContext(ScXMLImport &rImport, const rtl::Reference< sax_fastparser::FastAttributeList > &rAttrList, ScXMLDataPilotTableContext *pTempDataPilotTableContext)
virtual ~ScXMLDPFilterContext() override
void OpenConnection(const bool bVal)
void AddFilterField(const ScQueryEntry &aFilterField)
sal_uInt8 nFilterFieldCount
virtual css::uno::Reference< css::xml::sax::XFastContextHandler > SAL_CALL createFastChildContext(sal_Int32 nElement, const css::uno::Reference< css::xml::sax::XFastAttributeList > &xAttrList) override
virtual css::uno::Reference< css::xml::sax::XFastContextHandler > SAL_CALL createFastChildContext(sal_Int32 nElement, const css::uno::Reference< css::xml::sax::XFastAttributeList > &xAttrList) override
virtual ~ScXMLDPOrContext() override
ScXMLDPFilterContext * pFilterContext
virtual void SAL_CALL endFastElement(sal_Int32 nElement) override
ScXMLDPOrContext(ScXMLImport &rImport, ScXMLDPFilterContext *pTempFilterContext)
void SetSourceQueryParam(const ScQueryParam &aValue)
void SetFilterConditionSourceRangeAddress(const ScRange &aRange)
ScXMLFilterContext(ScXMLImport &rImport, const rtl::Reference< sax_fastparser::FastAttributeList > &rAttrList, ScQueryParam &rParam, ScXMLDatabaseRangeContext *pTempDatabaseRangeContext)
ScXMLDatabaseRangeContext * pDatabaseRangeContext
void OpenConnection(bool b)
bool bConditionSourceRange
ScRange aConditionSourceRangeAddress
ScAddress aOutputPosition
std::vector< ConnStackItem > maConnStack
virtual void SAL_CALL endFastElement(sal_Int32 nElement) override
virtual css::uno::Reference< css::xml::sax::XFastContextHandler > SAL_CALL createFastChildContext(sal_Int32 nElement, const css::uno::Reference< css::xml::sax::XFastAttributeList > &xAttrList) override
virtual ~ScXMLFilterContext() override
ScQueryParam & mrQueryParam
This class exists only to provide GetScImport() to its derived classes.
ScXMLImport & GetScImport()
ScDocument * GetDocument()
virtual void SAL_CALL endFastElement(sal_Int32 nElement) override
virtual css::uno::Reference< css::xml::sax::XFastContextHandler > SAL_CALL createFastChildContext(sal_Int32 nElement, const css::uno::Reference< css::xml::sax::XFastAttributeList > &xAttrList) override
ScQueryParam & mrQueryParam
ScXMLFilterContext * pFilterContext
ScXMLOrContext(ScXMLImport &rImport, ScQueryParam &rParam, ScXMLFilterContext *pTempFilterContext)
virtual ~ScXMLOrContext() override
ScXMLSetItemContext(ScXMLImport &rImport, sal_Int32 nElement, const rtl::Reference< sax_fastparser::FastAttributeList > &rAttrList, ScXMLConditionContext &rParent)
virtual ~ScXMLSetItemContext() override
static bool convertColor(sal_Int32 &rColor, std::u16string_view rValue)
SharedString intern(const OUString &rStr)
constexpr ::Color COL_AUTO(ColorTransparency, 0xFF, 0xFF, 0xFF, 0xFF)
constexpr T saturating_add(T a, T b)
FastAttributeList & castToFastAttributeList(const css::uno::Reference< css::xml::sax::XFastAttributeList > &xAttrList)
XML_CONDITION_SOURCE_RANGE_ADDRESS
bool IsXMLToken(std::u16string_view rString, enum XMLTokenEnum eToken)
const OUString & GetXMLToken(enum XMLTokenEnum eToken)
svl::SharedString maString
Each instance of this struct represents a single filtering criteria.
const Item & GetQueryItem() const
void SetQueryByNonEmpty()
QueryItemsType & GetQueryItems()
SC_DLLPUBLIC const ScQueryEntry & GetEntry(SCSIZE n) const
utl::SearchParam::SearchType eSearchType
SC_DLLPUBLIC ScQueryEntry & AppendEntry()
sal_Int32 SCCOLROW
a type capable of holding either SCCOL or SCROW
#define XML_ELEMENT(prefix, name)