36 struct SdXMLDataStyleNumber
49 {
XML_DAY,
false,
false,
false,
nullptr },
50 {
XML_DAY,
true,
false,
false,
nullptr },
51 {
XML_MONTH,
true,
false,
false,
nullptr },
52 {
XML_MONTH,
false,
true,
false,
nullptr },
53 {
XML_MONTH,
true,
true,
false,
nullptr },
54 {
XML_YEAR,
false,
false,
false,
nullptr },
55 {
XML_YEAR,
true,
false,
false,
nullptr },
58 {
XML_TEXT,
false,
false,
false,
"." },
59 {
XML_TEXT,
false,
false,
false,
" " },
60 {
XML_TEXT,
false,
false,
false,
", " },
61 {
XML_TEXT,
false,
false,
false,
". " },
62 {
XML_HOURS,
false,
false,
false,
nullptr },
64 {
XML_TEXT,
false,
false,
false,
":" },
65 {
XML_AM_PM,
false,
false,
false,
nullptr },
228 {
"T2",
false,
false,
238 {
"T3",
false,
false,
250 {
"T4",
false,
false,
262 {
"T5",
false,
false,
273 {
"T6",
false,
false,
286 {
"T7",
false,
false,
325 if( rElement.mbDecimal02 )
330 if( rElement.mbLong )
335 if( rElement.mbTextual )
341 if( rElement.mpText )
343 OUString sAttrValue( OUString::createFromAscii( rElement.mpText ) );
351 OUString sAttrValue = OUString::createFromAscii( pStyle->
mpName );
353 sAttrValue += OUString::createFromAscii( pStyle2->mpName );
371 SdXMLDataStyleNumber
const & rElement = aSdXMLDataStyleNumbers[
static_cast<int>(*pElements++) - 1 ];
398 int nDateStyle = nStyle & 0x0f;
399 bool bHasDate = nDateStyle != 0;
406 int nTimeStyle = (nStyle >> 4) & 0x0f;
407 bool bHasTime = nTimeStyle != 0;
420 SdXMLExportStyle( rExport, aSdXMLFixedDateFormats[ nDateStyle ], aSdXMLFixedTimeFormats[ nTimeStyle ] );
443 sal_Int32 nFormat = nTimeFormat;
449 return OUString::createFromAscii(aSdXMLFixedTimeFormats[nFormat]->mpName );
459 sal_Int32 nFormat = nDateFormat;
475 return OUString::createFromAscii(aSdXMLFixedDateFormats[nFormat]->mpName );
501 const css::uno::Reference< css::xml::sax::XFastAttributeList>& xAttrList,
506 sal_Int32 nElement,
const css::uno::Reference< css::xml::sax::XFastAttributeList >& AttrList )
override;
509 const css::uno::Reference< css::xml::sax::XFastAttributeList >& )
override;
511 virtual void SAL_CALL
endFastElement(sal_Int32 nElement)
override;
513 virtual void SAL_CALL
characters(
const OUString& rChars )
override;
520 const css::uno::Reference< css::xml::sax::XFastAttributeList>& xAttrList,
525 maNumberStyle(
SvXMLImport::getNameFromToken(nElement) ),
526 mxSlaveContext( rSlaveContext )
534 switch (aIter.getToken())
554 const css::uno::Reference< css::xml::sax::XFastAttributeList >& xAttrList )
556 return mxSlaveContext->createFastChildContext( nElement, xAttrList );
561 const css::uno::Reference< css::xml::sax::XFastAttributeList >& xAttrList )
583 mbAutomatic( false ),
611 if(
IsXMLToken(rNumberStyle, pStyleMember->meNumberStyle) &&
612 (pStyleMember->mbLong == bLong) &&
613 (pStyleMember->mbTextual == bTextual) &&
614 (pStyleMember->mbDecimal02 == bDecimal02) &&
615 ( ( (pStyleMember->mpText ==
nullptr) && (rText.isEmpty()) ) ||
616 ( pStyleMember->mpText && (rText.equalsAscii( pStyleMember->mpText ) ) ) ) )
629 sal_Int16 nCompareIndex;
630 for( nCompareIndex = 0; nCompareIndex < 8; nIndex++, nCompareIndex++ )
652 if(
compareStyle( aSdXMLFixedTimeFormats[nFormat], nIndex ) )
665 if(
compareStyle( aSdXMLFixedDateFormats[nFormat], nIndex ) )
675 sal_Int16 nIndex2 = nIndex + 1;
676 if(
compareStyle( aSdXMLFixedTimeFormats[nTimeFormat], nIndex2 ) )
678 mnKey = (nFormat + 2) | ((nTimeFormat + 2) << 4);
692 if(
compareStyle( aSdXMLFixedTimeFormats[nFormat], nIndex ) )
694 mnKey = (nFormat + 2) << 4;
704 const css::uno::Reference< css::xml::sax::XFastAttributeList >& xAttrList )
virtual css::uno::Reference< css::xml::sax::XFastContextHandler > SAL_CALL createFastChildContext(sal_Int32 nElement, const css::uno::Reference< css::xml::sax::XFastAttributeList > &AttrList) override
const SdXMLFixedDataStyle aSdXML_TimeStyle_5
static void SdXMLExportStyle(SdXMLExport &rExport, const SdXMLFixedDataStyle *pStyle, const SdXMLFixedDataStyle *pStyle2=nullptr)
SdXMLDataStyleNumber const aSdXMLDataStyleNumbers[]
const SdXMLFixedDataStyle *const aSdXMLFixedDateFormats[SdXMLDateFormatCount]
const sal_Int16 SdXMLTimeFormatCount
const SdXMLFixedDataStyle aSdXML_TimeStyle_6
const SdXMLFixedDataStyle aSdXML_Standard_Short
SvXMLImport & GetImport()
const SdXMLFixedDataStyle aSdXML_Standard_Long
static void SdXMLExportDataStyleNumber(SdXMLExport &rExport, SdXMLDataStyleNumber const &rElement)
DataStyleNumber mpFormat[8]
static void exportDateStyle(SdXMLExport &rExport, sal_Int32 nStyle)
const SdXMLFixedDataStyle aSdXML_TimeStyle_1
bool IsXMLToken(std::u16string_view rString, enum XMLTokenEnum eToken)
compare eToken to the string
FastAttributeList & castToFastAttributeList(const css::uno::Reference< css::xml::sax::XFastAttributeList > &xAttrList)
const css::uno::Reference< css::xml::sax::XDocumentHandler > & GetDocHandler() const
constexpr sal_uInt16 XML_NAMESPACE_NUMBER
friend class SdXMLNumberFormatMemberImportContext
const SdXMLFixedDataStyle aSdXML_DateStyle_4
static OUString getTimeStyleName(const sal_Int32 nTimeFormat)
const SdXMLFixedDataStyle *const aSdXMLFixedTimeFormats[SdXMLTimeFormatCount]
void add(std::u16string_view rNumberStyle, bool bLong, bool bTextual, bool bDecimal02, OUString const &rText)
#define XMLOFF_WARN_UNKNOWN(area, rIter)
void AddAttribute(sal_uInt16 nPrefix, const char *pName, const OUString &rValue)
virtual void SAL_CALL endFastElement(sal_Int32 nElement) override
endFastElement is called before a context will be destructed, but after an elements context has been ...
XMLTokenEnum
The enumeration of all XML tokens.
SdXMLNumberFormatMemberImportContext(SvXMLImport &rImport, sal_Int32 nElement, const css::uno::Reference< css::xml::sax::XFastAttributeList > &xAttrList, SdXMLNumberFormatImportContext *pParent, const SvXMLImportContextRef &rSlaveContext)
const SdXMLFixedDataStyle aSdXML_TimeStyle_4
const SdXMLFixedDataStyle aSdXML_DateStyle_1
static OUString getDateStyleName(const sal_Int32 nDateFormat)
const SdXMLFixedDataStyle aSdXML_TimeStyle_2
virtual void SAL_CALL endFastElement(sal_Int32 nElement) override
endFastElement is called before a context will be destructed, but after an elements context has been ...
virtual css::uno::Reference< css::xml::sax::XFastContextHandler > SAL_CALL createFastChildContext(sal_Int32 nElement, const css::uno::Reference< css::xml::sax::XFastAttributeList > &AttrList) override
const SdXMLFixedDataStyle aSdXML_DateStyle_2
const SdXMLFixedDataStyle aSdXML_TimeStyle_3
const SdXMLFixedDataStyle aSdXML_DateStyle_3
virtual void SAL_CALL characters(const OUString &rChars) override
This method is called for all characters that are contained in the current element.
DataStyleNumber mnElements[16]
virtual ~SdXMLNumberFormatImportContext() override
SdXMLNumberFormatImportContext * mpParent
virtual void SAL_CALL startFastElement(sal_Int32 nElement, const css::uno::Reference< css::xml::sax::XFastAttributeList > &) override
bool compareStyle(const SdXMLFixedDataStyle *pStyle, sal_Int16 &nIndex) const
This class deliberately does not support XWeak, to improve performance when loading large documents...
RegionData_Impl * mpParent
static void exportTimeStyle(SdXMLExport &rExport, sal_Int32 nStyle)
SdXMLNumberFormatImportContext(SdXMLImport &rImport, sal_Int32 nElement, SvXMLNumImpData *pNewData, SvXMLStylesTokens nNewType, const css::uno::Reference< css::xml::sax::XFastAttributeList > &xAttrList, SvXMLStylesContext &rStyles)
#define SAL_WARN_IF(condition, area, stream)
Handling of tokens in XML:
const sal_Int16 SdXMLDateFormatCount
const SdXMLFixedDataStyle aSdXML_DateStyle_6
SvXMLImportContextRef mxSlaveContext
#define XML_ELEMENT(prefix, name)
const SdXMLFixedDataStyle aSdXML_TimeStyle_7
virtual css::uno::Reference< css::xml::sax::XFastContextHandler > SAL_CALL createFastChildContext(sal_Int32 nElement, const css::uno::Reference< css::xml::sax::XFastAttributeList > &AttrList) override
constexpr sal_Int32 TOKEN_MASK
const SdXMLFixedDataStyle aSdXML_DateStyle_5
css::uno::Any const SvXMLExport & rExport
constexpr sal_uInt16 XML_NAMESPACE_STYLE