24 #include <unonames.hxx>
30 #include <com/sun/star/util/SortField.hpp>
39 pDatabaseRangeContext(pTempDatabaseRangeContext),
42 bCopyOutputData(false),
43 bBindFormatsToContent(true),
44 bIsCaseSensitive(false),
45 bEnabledUserList(false)
47 if ( !rAttrList.is() )
50 for (
auto &aIter : *rAttrList)
52 switch (aIter.getToken())
111 sal_Int32 nElement,
const uno::Reference< xml::sax::XFastAttributeList >& xAttrList )
131 sal_Int32 nAlgoLength(
sAlgorithm.getLength());
137 uno::Sequence <beans::PropertyValue> aSortDescriptor(7 + i);
167 util::SortField aSortField;
168 aSortField.Field = sFieldNumber.toInt32();
170 aSortField.SortAscending =
true;
172 aSortField.SortAscending =
false;
173 if (sDataType.getLength() > 8)
175 OUString sTemp = sDataType.copy(0, 8);
176 if (sTemp ==
"UserList")
179 sTemp = sDataType.copy(8);
185 aSortField.FieldType = util::SortFieldType_AUTOMATIC;
191 aSortField.FieldType = util::SortFieldType_ALPHANUMERIC;
193 aSortField.FieldType = util::SortFieldType_NUMERIC;
204 pSortContext(pTempSortContext),
208 if ( !rAttrList.is() )
211 for (
auto &aIter : *rAttrList)
213 switch (aIter.getToken())
227 sOrder = aIter.toString();
virtual void SAL_CALL endFastElement(sal_Int32 nElement) override
#define SC_UNONAME_COPYOUT
css::uno::Sequence< css::util::SortField > aSortFields
bool bBindFormatsToContent
ScDocument * GetDocument()
css::table::CellAddress aOutputPosition
virtual css::uno::Reference< css::xml::sax::XFastContextHandler > SAL_CALL createFastChildContext(sal_Int32 nElement, const css::uno::Reference< css::xml::sax::XFastAttributeList > &xAttrList) override
bool IsXMLToken(std::u16string_view rString, enum XMLTokenEnum eToken)
FastAttributeList & castToFastAttributeList(const css::uno::Reference< css::xml::sax::XFastAttributeList > &xAttrList)
LanguageTag getLanguageTag() const
XML_BIND_STYLES_TO_CONTENT
ScXMLSortContext(ScXMLImport &rImport, const rtl::Reference< sax_fastparser::FastAttributeList > &rAttrList, ScXMLDatabaseRangeContext *pTempDatabaseRangeContext)
const css::lang::Locale & getLocale(bool bResolveSystem=true) const
static void FillApiAddress(css::table::CellAddress &rApiAddress, const ScAddress &rScAddress)
#define SC_UNONAME_OUTPOS
const BorderLinePrimitive2D *pCandidateB assert(pCandidateA)
#define SC_UNONAME_BINDFMT
#define SC_UNONAME_UINDEX
static bool GetRangeFromString(ScRange &rRange, const OUString &rRangeStr, const ScDocument &rDocument, formula::FormulaGrammar::AddressConvention eConv, sal_Int32 &nOffset, sal_Unicode cSeparator= ' ', sal_Unicode cQuote= '\'')
ScXMLDatabaseRangeContext * pDatabaseRangeContext
ScXMLSortByContext(ScXMLImport &rImport, sal_Int32 nElement, const rtl::Reference< sax_fastparser::FastAttributeList > &rAttrList, ScXMLSortContext *pTempSortContext)
This class exists only to provide GetScImport() to its derived classes.
OUString maRfcLanguageTag
LanguageTagODF maLanguageTagODF
ScXMLImport & GetScImport()
virtual void SAL_CALL endFastElement(sal_Int32 nElement) override
virtual ~ScXMLSortByContext() override
#define SC_UNONAME_ISCASE
#define SC_UNONAME_ISULIST
ScXMLSortContext * pSortContext
const OUString & GetXMLToken(enum XMLTokenEnum eToken)
#define XML_ELEMENT(prefix, name)
virtual ~ScXMLSortContext() override
#define SC_UNONAME_SORTFLD
if(!pCandidateA->getEnd().equal(pCandidateB->getStart()))
void SetSortSequence(const css::uno::Sequence< css::beans::PropertyValue > &aTempSortSequence)
#define SC_UNONAME_COLLALG
#define SC_UNONAME_COLLLOC
void AddSortField(const OUString &sFieldNumber, const OUString &sDataType, std::u16string_view sOrder)