Prevent warnings on attributes handled by base class

SdXMLNumberFormatImportContext iterated the attribute list a second time
after its SvXMLNumFormatContext base had already consumed it, emitting
XMLOFF_WARN_UNKNOWN for everything except number:automatic-order.

This prevents warnings like:

    warn:xmloff:...:XMLNumberStyles.cxx:595: unknown attribute urn:oasis:names:tc:opendocument:xmlns:style:1.0 style:name value=D6

for attributes the base class already handles correctly.

Change-Id: I9d99d9fa72f4a174a2c16fdc5cb8901377bd8d3f
Reviewed-on: https://gerrit.collaboraoffice.com/c/core/+/1183
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
Reviewed-by: Stephan Bergmann <stephan.bergmann@collabora.com>
Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/1451
Reviewed-by: Noel Grandin <noel.grandin@collabora.com>
(cherry picked from commit 7a06eb6187c252aae52c40ad9dc6a6b9f8c1a07c)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/207069
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
This commit is contained in:
Samuel Mehrbrodt
2026-06-21 20:12:38 +02:00
committed by Julien Nabet
parent 57253c8d09
commit 297cf4e138
3 changed files with 2 additions and 11 deletions
+1
View File
@@ -188,6 +188,7 @@ public:
bool HasLongDoW() const { return m_bHasLongDoW; }
void SetHasLongDoW(bool bSet) { m_bHasLongDoW = bSet; }
bool IsAutoOrder() const { return m_bAutoOrder; }
void SetHasTrailingEmptyText(bool bSet) { m_bHasTrailingEmptyText = bSet; }
void UpdateCalendar( const OUString& rNewCalendar );
-1
View File
@@ -32,7 +32,6 @@ class SdXMLNumberFormatImportContext final : public SvXMLNumFormatContext
friend class SdXMLNumberFormatMemberImportContext;
bool mbTimeStyle;
bool mbAutomatic;
DataStyleNumber mnElements[16];
sal_Int16 mnIndex;
+1 -10
View File
@@ -580,20 +580,11 @@ void SdXMLNumberFormatMemberImportContext::characters( const OUString& rChars )
SdXMLNumberFormatImportContext::SdXMLNumberFormatImportContext( SdXMLImport& rImport, sal_Int32 nElement, SvXMLNumImpData* pNewData, SvXMLStylesTokens nNewType, const css::uno::Reference< css::xml::sax::XFastAttributeList>& xAttrList, SvXMLStylesContext& rStyles)
: SvXMLNumFormatContext(rImport, nElement, pNewData, nNewType, xAttrList, rStyles),
mbAutomatic( false ),
mnElements{},
mnIndex(0),
mnKey( -1 )
{
mbTimeStyle = (nElement & TOKEN_MASK) == XML_TIME_STYLE;
for (auto &aIter : sax_fastparser::castToFastAttributeList( xAttrList ))
{
if( aIter.getToken() == XML_ELEMENT(NUMBER, XML_AUTOMATIC_ORDER) )
mbAutomatic = IsXMLToken( aIter, XML_TRUE );
else
XMLOFF_WARN_UNKNOWN("xmloff", aIter);
}
}
SdXMLNumberFormatImportContext::~SdXMLNumberFormatImportContext()
@@ -623,7 +614,7 @@ void SdXMLNumberFormatImportContext::add( std::u16string_view rNumberStyle, bool
bool SdXMLNumberFormatImportContext::compareStyle( const SdXMLFixedDataStyle* pStyle, sal_Int16& nIndex ) const
{
if( (pStyle->mbAutomatic != mbAutomatic) && (nIndex == 0))
if( (pStyle->mbAutomatic != IsAutoOrder()) && (nIndex == 0))
return false;
sal_Int16 nCompareIndex;