20#include <com/sun/star/xml/sax/SAXException.hpp>
21#include <com/sun/star/xml/sax/XDocumentHandler.hpp>
22#include <com/sun/star/xml/sax/XAttributeList.hpp>
40#include <rtl/math.hxx>
41#include <rtl/ustrbuf.hxx>
42#include <osl/diagnose.h>
51#define ENTRY4(a,b,c,d) \
53#define ENTRY3(a,b,c) \
54 { a, b, c, XML_PROP_TYPE_END }
56 { a, b, XML_PROP_TYPE_END, XML_PROP_TYPE_END }
58 { a, XML_PROP_TYPE_END, XML_PROP_TYPE_END, XML_PROP_TYPE_END }
144 css::uno::Reference< css::xml::sax::XAttributeList >
m_xAttrList;
148 const OUString& rQName );
152 const OUString &sValue );
154 const OUString &sValue );
156 virtual void StartElement(
const css::uno::Reference< css::xml::sax::XAttributeList >& rAttrList )
override;
158 virtual void Export()
override;
163XMLTypedPropertiesOOoTContext_Impl::XMLTypedPropertiesOOoTContext_Impl(
165 const OUString& rQName ) :
171void XMLTypedPropertiesOOoTContext_Impl::AddAttribute(
172 const OUString &sName ,
173 const OUString &sValue )
176 ->AddAttribute( sName, sValue );
179void XMLTypedPropertiesOOoTContext_Impl::AddAttribute(
181 const OUString &sValue )
184 GetTransformer().GetNamespaceMap().GetQNameByKey(
187 ->AddAttribute( sName, sValue );
190void XMLTypedPropertiesOOoTContext_Impl::StartElement(
191 const Reference< XAttributeList >& )
196void XMLTypedPropertiesOOoTContext_Impl::Export()
198 if( m_xAttrList->getLength() || HasElementContent() )
200 GetTransformer().GetDocHandler()->startElement( GetQName(), m_xAttrList );
202 GetTransformer().GetDocHandler()->endElement( GetQName() );
213 using XMLPropTypes = std::array<XMLPropType, MAX_PROP_TYPES>;
215 XMLPropTypes
const & m_rPropTypes;
217 bool const m_bPersistent;
219 XMLTypedPropertiesOOoTContext_Impl *GetPropContextAndAction(
221 sal_uInt16 nPrefix,
const OUString& rLocalName,
224 XMLTypedPropertiesOOoTContext_Impl *GetPropContext(
229 const OUString& rQName,
230 const XMLPropTypes& rTypes,
235 const OUString& rLocalName,
236 const OUString& rQName,
237 const Reference< XAttributeList >& rAttrList )
override;
239 virtual void StartElement(
const css::uno::Reference< css::xml::sax::XAttributeList >& rAttrList )
override;
243 virtual void Characters(
const OUString& rChars )
override;
245 virtual void Export()
override;
252XMLTypedPropertiesOOoTContext_Impl
253 *XMLPropertiesOOoTContext_Impl::GetPropContext(
259 if( m_rPropTypes[i] == eType )
268 if( !m_aPropContexts[nIndex].is() )
271 new XMLTypedPropertiesOOoTContext_Impl(
273 GetTransformer().GetNamespaceMap().GetQNameByKey(
279 return m_aPropContexts[
nIndex].get();
282XMLTypedPropertiesOOoTContext_Impl
283 *XMLPropertiesOOoTContext_Impl::GetPropContextAndAction(
285 sal_uInt16 nPrefix,
const OUString& rLocalName,
291 XMLTransformerActions::key_type aKey( nPrefix, rLocalName );
295 sal_uInt16 nActionMap =
300 GetTransformer().GetUserDefinedActions( nActionMap );
301 OSL_ENSURE( pActions,
"go no actions" );
304 XMLTransformerActions::const_iterator aIter =
305 pActions->find( aKey );
307 if( aIter != pActions->end() )
309 rAction = (*aIter).second;
324 SAL_WARN(
"xmloff",
"Didn't find property: "
325 << GetTransformer().GetNamespaceMap().GetPrefixByKey( nPrefix )
328 <<
", assuming <style:"
334 if( !m_aPropContexts[nIndex].is() )
337 new XMLTypedPropertiesOOoTContext_Impl(
339 GetTransformer().GetNamespaceMap().GetQNameByKey(
345 return m_aPropContexts[
nIndex].get();
348XMLPropertiesOOoTContext_Impl::XMLPropertiesOOoTContext_Impl(
350 const OUString& rQName,
351 const XMLPropTypes& rTypes,
355 m_rPropTypes(rTypes),
356 m_bPersistent( bPersistent )
362 const OUString& rLocalName,
363 const OUString& rQName,
364 const Reference< XAttributeList >& rAttrList )
367 return GetPropContextAndAction( aAction, nPrefix, rLocalName,
true )
368 ->CreateChildContext( nPrefix, rLocalName, rQName, rAttrList );
371void XMLPropertiesOOoTContext_Impl::StartElement(
372 const Reference< XAttributeList >& rAttrList )
374 XMLTypedPropertiesOOoTContext_Impl * pIntervalMinorDivisorContext =
nullptr;
375 double fIntervalMajor = 0.0;
376 double fIntervalMinor = 0.0;
377 bool bMoveProtect =
false;
378 bool bSizeProtect =
false;
379 OUString aProtectAttrValue;
380 XMLTypedPropertiesOOoTContext_Impl * pProtectContext =
nullptr;
386 bool bExistStyleMirror(
false );
387 OUStringBuffer aStyleMirrorAttrValue;
388 bool bExistDrawMirror(
false );
389 OUString aDrawMirrorAttrValue;
390 XMLTypedPropertiesOOoTContext_Impl* pMirrorContext(
nullptr );
392 sal_Int16 nAttrCount = rAttrList.is() ? rAttrList->getLength() : 0;
393 for( sal_Int16 i=0;
i < nAttrCount;
i++ )
395 const OUString sAttrName = rAttrList->getNameByIndex( i );
396 const OUString sAttrValue = rAttrList->getValueByIndex( i );
399 GetTransformer().GetNamespaceMap().GetKeyByAttrName( sAttrName,
402 XMLTypedPropertiesOOoTContext_Impl *pContext =
403 GetPropContextAndAction( aAction, nPrefix, aLocalName,
false );
409 pContext->AddAttribute( sAttrName, sAttrValue );
413 pContext->AddAttribute( sAttrName, sAttrValue );
414 XMLTypedPropertiesOOoTContext_Impl *pContext2 =
417 pContext2->AddAttribute( sAttrName, sAttrValue );
429 OUString aAttrValue( sAttrValue );
430 GetTransformer().EncodeStyleName(aAttrValue);
431 pContext->AddAttribute( sAttrName, aAttrValue );
436 OUString aAttrValue( sAttrValue );
437 GetTransformer().EncodeStyleName(aAttrValue);
445 OUString aAttrValue( sAttrValue );
447 pContext->AddAttribute( sAttrName, aAttrValue );
452 OUString aAttrValue( sAttrValue );
461 OUString aAttrValue( sAttrValue );
463 pContext->AddAttribute( sAttrName, aAttrValue );
468 OUString aAttrValue( sAttrValue );
470 pContext->AddAttribute( sAttrName, aAttrValue );
471 XMLTypedPropertiesOOoTContext_Impl *pContext2 =
474 pContext2->AddAttribute( sAttrName, aAttrValue );
479 OUString aAttrValue( sAttrValue );
481 pContext->AddAttribute( sAttrName, aAttrValue );
491 GetTransformer().GetNamespaceMap().GetQNameByKey(
494 pContext->AddAttribute( aAttrQName, aAttrValue );
497 GetTransformer().GetNamespaceMap().GetQNameByKey(
500 pContext->AddAttribute( aAttrQName, aAttrValue );
509 pContext->AddAttribute( sAttrName, aAttrValue );
515 bool bBold =
false, bDouble =
false;
562 OSL_FAIL(
"xmloff::XMLPropertiesOOoTContext_Impl::StartElement(), unknown underline token!" );
565 pContext->AddAttribute(
566 GetTransformer().GetNamespaceMap().GetQNameByKey(
572 pContext->AddAttribute(
573 GetTransformer().GetNamespaceMap().GetQNameByKey(
578 pContext->AddAttribute(
579 GetTransformer().GetNamespaceMap().GetQNameByKey(
588 bool bBold =
false, bDouble =
false;
614 pContext->AddAttribute(
615 GetTransformer().GetNamespaceMap().GetQNameByKey(
621 pContext->AddAttribute(
622 GetTransformer().GetNamespaceMap().GetQNameByKey(
627 pContext->AddAttribute(
628 GetTransformer().GetNamespaceMap().GetQNameByKey(
633 pContext->AddAttribute(
634 GetTransformer().GetNamespaceMap().GetQNameByKey(
642 sal_Int32 nSplineType = sAttrValue.toInt32();
643 OUString aNewAttrName = GetTransformer().GetNamespaceMap().GetQNameByKey(
646 switch( nSplineType )
650 pContext->AddAttribute(
655 pContext->AddAttribute(
660 pContext->AddAttribute(
665 OSL_FAIL(
"invalid spline type" );
666 pContext->AddAttribute(
673 pContext->AddAttribute( sAttrName, sAttrValue );
678 pIntervalMinorDivisorContext = pContext;
682 sal_Int32 nSymbolType = sAttrValue.toInt32();
683 OUString aNewAttrName = GetTransformer().GetNamespaceMap().GetQNameByKey(
686 if( nSymbolType >= 0 )
690 switch( nSymbolType )
747 OSL_FAIL(
"invalid named symbol" );
753 pContext->AddAttribute( GetTransformer().GetNamespaceMap().GetQNameByKey(
760 switch( nSymbolType )
764 pContext->AddAttribute(
769 pContext->AddAttribute(
774 pContext->AddAttribute(
778 OSL_FAIL(
"invalid symbol type" );
779 pContext->AddAttribute(
790 GetTransformer(), GetTransformer().GetNamespaceMap().GetQNameByKey(
794 OUString aAttrValue( sAttrValue );
795 if( GetTransformer().ConvertURIToOASIS( aAttrValue,
true ))
798 pContext->AddContent(xSymbolImageContext);
806 OUString aAttrValue( sAttrValue );
819 pContext->AddAttribute(
829 OUString aAttrValue( sAttrValue );
830 if( aAttrValue.indexOf(
'%' ) != -1 )
839 aAttrValue = aOut.makeStringAndClear();
847 pContext->AddAttribute( sAttrName, aAttrValue );
852 pProtectContext = pContext;
856 pProtectContext = pContext;
859 aProtectAttrValue = sAttrValue;
860 pProtectContext = pContext;
865 aDrawMirrorAttrValue =
868 bExistDrawMirror =
true;
869 pMirrorContext = pContext;
876 std::u16string_view aToken;
877 while( aTokenEnum.getNextToken( aToken ) )
879 if ( !aStyleMirrorAttrValue.isEmpty() )
881 aStyleMirrorAttrValue.append(
" ");
894 aStyleMirrorAttrValue.append(aToken);
897 bExistStyleMirror =
true;
898 pMirrorContext = pContext;
903 double fValue = sAttrValue.toDouble();
904 sal_Int32
nValue =
static_cast<sal_Int32
>((fValue * 100.0) + ( fValue > 0 ? 0.5 : - 0.5 ) );
908 OUString aAttrValue( aOut.makeStringAndClear() );
909 pContext->AddAttribute( sAttrName, aAttrValue );
915 if( sAttrValue.indexOf(
'%' ) != -1 )
921 nValue = sal_Int32( sAttrValue.toDouble() * 100.0 );
927 pContext->AddAttribute( sAttrName, aOut.makeStringAndClear() );
931 OSL_ENSURE(
false,
"unknown action" );
937 if ( bExistStyleMirror )
939 pMirrorContext->AddAttribute(
940 GetTransformer().GetNamespaceMap().GetQNameByKey(
942 aStyleMirrorAttrValue.makeStringAndClear());
944 else if ( bExistDrawMirror )
946 pMirrorContext->AddAttribute(
947 GetTransformer().GetNamespaceMap().GetQNameByKey(
949 aDrawMirrorAttrValue);
952 if (bMoveProtect || bSizeProtect || !aProtectAttrValue.isEmpty())
955 aProtectAttrValue.clear();
958 if( bMoveProtect && -1 == aProtectAttrValue.indexOf( rPosition ) )
960 if( !aProtectAttrValue.isEmpty() )
961 aProtectAttrValue +=
" ";
962 aProtectAttrValue += rPosition;
966 if( bSizeProtect && -1 == aProtectAttrValue.indexOf( rSize ) )
968 if( !aProtectAttrValue.isEmpty() )
969 aProtectAttrValue +=
" ";
970 aProtectAttrValue += rSize;
973 assert(pProtectContext &&
"coverity[var_deref_model] - pProtectContext should be assigned in a superset of the enclosing if condition entry logic");
977 if( !pIntervalMinorDivisorContext )
980 if( fIntervalMinor != 0.0 )
982 sal_Int32 nIntervalMinorDivisor =
static_cast< sal_Int32
>(
983 ::rtl::math::round( fIntervalMajor / fIntervalMinor ));
985 pIntervalMinorDivisorContext->AddAttribute(
986 GetTransformer().GetNamespaceMap().GetQNameByKey(
989 OUString::number( nIntervalMinorDivisor ));
993void XMLPropertiesOOoTContext_Impl::EndElement()
999void XMLPropertiesOOoTContext_Impl::Characters(
const OUString& )
1004void XMLPropertiesOOoTContext_Impl::Export()
1009 if( rPropContext.is() )
1010 rPropContext->Export();
1014bool XMLPropertiesOOoTContext_Impl::IsPersistent()
const
1016 return m_bPersistent;
1020 const OUString& rQName,
1022 bool bPersistent ) :
1025 m_bPersistent( bPersistent )
1031 const OUString& rQName,
1035 bool bPersistent ) :
1038 m_bPersistent( bPersistent )
1048 const OUString& rLocalName,
1049 const OUString& rQName,
1050 const Reference< XAttributeList >& rAttrList )
1059 OSL_ENSURE(
false,
"unexpected properties element" );
1062 nPrefix, rLocalName, rQName, rAttrList )
1064 nPrefix, rLocalName, rQName, rAttrList );
1068 sal_uInt16 nActionMap =
1072 pContext.set(
new XMLPropertiesOOoTContext_Impl(
1092 pContext.set(
new XMLPropertiesOOoTContext_Impl(
1104 nPrefix, rLocalName, rQName, rAttrList )
1106 nPrefix, rLocalName, rQName, rAttrList );
1113 const Reference< XAttributeList >& rAttrList )
1117 OSL_ENSURE( pActions,
"go no actions" );
1119 Reference< XAttributeList > xAttrList( rAttrList );
1121 sal_Int16 nAttrCount = xAttrList.is() ? xAttrList->getLength() : 0;
1122 for( sal_Int16
i=0;
i < nAttrCount;
i++ )
1124 const OUString sAttrName = xAttrList->getNameByIndex(
i );
1125 OUString aLocalName;
1126 sal_uInt16 nPrefix =
1129 XMLTransformerActions::key_type aKey( nPrefix, aLocalName );
1130 XMLTransformerActions::const_iterator aIter =
1131 pActions->find( aKey );
1132 if( aIter != pActions->end() )
1134 if( !pMutableAttrList )
1138 xAttrList = pMutableAttrList;
1140 const OUString sAttrValue = xAttrList->getValueByIndex(
i );
1141 switch( (*aIter).second.m_nActionType )
1145 bool bControl =
false;
1180 pMutableAttrList->SetValueByIndex(
i,
1185 pMutableAttrList->SetValueByIndex(
i,
1192 OUString aAttrValue( sAttrValue );
1195 pMutableAttrList->SetValueByIndex(
i, aAttrValue );
1200 OUString aAttrValue( sAttrValue );
1203 pMutableAttrList->SetValueByIndex(
i, aAttrValue );
1204 OUString aNewAttrQName(
1209 pMutableAttrList->AddAttribute( aNewAttrQName,
1216 OUString aAttrValue( sAttrValue );
1218 pMutableAttrList->SetValueByIndex(
i, aAttrValue );
1223 OUString aAttrValue( sAttrValue );
1225 pMutableAttrList->SetValueByIndex(
i, aAttrValue );
1230 OUString aAttrValue( sAttrValue );
1232 static_cast< bool >((*aIter).second.m_nParam1)))
1233 pMutableAttrList->SetValueByIndex(
i, aAttrValue );
1237 OSL_ENSURE(
false,
"unknown action" );
@ PROP_OOO_PARAGRAPH_ELEM_ACTIONS
@ PROP_OOO_HEADER_FOOTER_ATTR_ACTIONS
@ PROP_OOO_GRAPHIC_ATTR_ACTIONS
@ PROP_OOO_PAGE_LAYOUT_ATTR_ACTIONS
@ PROP_OOO_GRAPHIC_ELEM_ACTIONS
@ PROP_OOO_CHART_ELEM_ACTIONS
@ PROP_OOO_SECTION_ATTR_ACTIONS
@ PROP_OOO_TABLE_COLUMN_ATTR_ACTIONS
@ PROP_OOO_TABLE_CELL_ATTR_ACTIONS
@ PROP_OOO_TEXT_ATTR_ACTIONS
@ PROP_OOO_LIST_LEVEL_ATTR_ACTIONS
@ PROP_OOO_TABLE_CELL_ELEM_ACTIONS
@ PROP_OOO_TABLE_ROW_ATTR_ACTIONS
@ PROP_OOO_TEXT_ELEM_ACTIONS
@ PROP_OOO_DRAWING_PAGE_ATTR_ACTIONS
@ PROP_OOO_CHART_ATTR_ACTIONS
@ PROP_OOO_TABLE_ATTR_ACTIONS
@ PROP_OOO_PARAGRAPH_ATTR_ACTIONS
@ XML_FAMILY_TYPE_TABLE_COLUMN
@ XML_FAMILY_TYPE_TABLE_ROW
@ XML_FAMILY_TYPE_TABLE_CELL
@ XML_FAMILY_TYPE_GRAPHIC
@ XML_FAMILY_TYPE_PARAGRAPH
@ XML_FAMILY_TYPE_PRESENTATION
@ XML_FAMILY_TYPE_SECTION
@ XML_FAMILY_TYPE_DRAWING_PAGE
@ XML_PROP_TYPE_TABLE_ROW
@ XML_PROP_TYPE_PAGE_LAYOUT
@ XML_PROP_TYPE_TABLE_COLUMN
@ XML_PROP_TYPE_TABLE_CELL
@ XML_PROP_TYPE_PARAGRAPH
@ XML_PROP_TYPE_LIST_LEVEL
@ XML_PROP_TYPE_HEADER_FOOTER
@ XML_PROP_TYPE_DRAWING_PAGE
XMLTransformerActionInit const aListLevelPropertyOOoAttrActionTable[]
XMLTransformerActionInit const aTextPropertyOOoElemActionTable[]
XMLTransformerActionInit const aTableCellPropertyOOoElemActionTable[]
XMLTransformerActionInit const aGraphicPropertyOOoElemActionTable[]
XMLTransformerActionInit const aParagraphPropertyOOoAttrActionTable[]
XMLTransformerActionInit const aSectionPropertyOOoAttrActionTable[]
XMLTransformerActionInit const aParagraphPropertyOOoElemActionTable[]
XMLTransformerActionInit const aChartPropertyOOoAttrActionTable[]
XMLTransformerActionInit const aGraphicPropertyOOoAttrActionTable[]
XMLTransformerActionInit const aPageLayoutPropertyOOoAttrActionTable[]
XMLTransformerActionInit const aTablePropertyOOoAttrActionTable[]
XMLTransformerActionInit const aTableRowPropertyOOoAttrActionTable[]
XMLTransformerActionInit const aHeaderFooterPropertyOOoAttrActionTable[]
XMLTransformerActionInit const aTextPropertyOOoAttrActionTable[]
XMLTransformerActionInit const aTableCellPropertyOOoAttrActionTable[]
XMLTransformerActionInit const aChartPropertyOOoElemActionTable[]
XMLTransformerActionInit const aDrawingPagePropertyOOoAttrActionTable[]
XMLTransformerActionInit const aTableColumnPropertyOOoAttrActionTable[]
@ XML_ATACTION_COPY_DUPLICATE
@ XML_ATACTION_MOVE_PROTECT
@ XML_ATACTION_CAPTION_ESCAPE_OOO
@ XML_PTACTION_INTERVAL_MINOR
@ XML_ATACTION_SIZE_PROTECT
@ XML_PTACTION_TRANSPARENCY
@ XML_ATACTION_INCH2IN_DUPLICATE
@ XML_PTACTION_LINETHROUGH
@ XML_PTACTION_INTERVAL_MAJOR
@ XML_PTACTION_KEEP_WITH_NEXT
@ XML_PTACTION_BREAK_INSIDE
@ XML_PTACTION_SYMBOL_IMAGE_NAME
const XMLTokenEnum aPropTokens[XML_PROP_TYPE_END]
const sal_uInt16 aAttrActionMaps[XML_PROP_TYPE_END]
#define ENTRY4(a, b, c, d)
const sal_uInt16 MAX_PROP_TYPES
const sal_uInt16 aElemActionMaps[XML_PROP_TYPE_END]
const std::array< XMLPropType, MAX_PROP_TYPES > aPropTypes[XML_FAMILY_TYPE_END]
sal_uInt16 GetKeyByAttrName(const OUString &rAttrName, OUString *pPrefix, OUString *pLocalName, OUString *pNamespace) const
css::uno::Reference< css::xml::sax::XAttributeList > m_xAttrList
const OUString & GetExportQName() const
virtual void StartElement(const css::uno::Reference< css::xml::sax::XAttributeList > &xAttrList) override
virtual void Export() override
void AddAttribute(sal_uInt16 nAPrefix, ::xmloff::token::XMLTokenEnum eAToken, ::xmloff::token::XMLTokenEnum eVToken)
virtual void EndElement() override
void AddContent(rtl::Reference< XMLTransformerContext > const &pContent)
virtual rtl::Reference< XMLTransformerContext > CreateChildContext(sal_uInt16 nPrefix, const OUString &rLocalName, const OUString &rQName, const css::uno::Reference< css::xml::sax::XAttributeList > &xAttrList) override
XMLPersElemContentTContext(XMLTransformerBase &rTransformer, const OUString &rQName)
XMLStyleOOoTContext(XMLTransformerBase &rTransformer, const OUString &rQName, XMLFamilyType eType, bool bPersistent)
virtual bool IsPersistent() const override
static XMLTransformerActions * CreateTransformerActions(sal_uInt16 nType)
virtual rtl::Reference< XMLTransformerContext > CreateChildContext(sal_uInt16 nPrefix, const OUString &rLocalName, const OUString &rQName, const css::uno::Reference< css::xml::sax::XAttributeList > &xAttrList) override
virtual void Characters(const OUString &rChars) override
virtual void StartElement(const css::uno::Reference< css::xml::sax::XAttributeList > &xAttrList) override
virtual void EndElement() override
virtual ~XMLStyleOOoTContext() override
virtual rtl::Reference< XMLTransformerContext > CreateChildContext(sal_uInt16 nPrefix, const OUString &rLocalName, const OUString &rQName, const css::uno::Reference< css::xml::sax::XAttributeList > &xAttrList)
virtual void Characters(const OUString &rChars)
XMLTransformerBase & GetTransformer()
virtual void StartElement(const css::uno::Reference< css::xml::sax::XAttributeList > &xAttrList)
virtual void EndElement()
virtual bool IsPersistent() const
static void convertDouble(OUStringBuffer &rBuffer, double fNumber, bool bWriteUnits, sal_Int16 nSourceUnit, sal_Int16 nTargetUnit)
static bool convertPercent(sal_Int32 &rValue, std::u16string_view rString)
#define SAL_WARN(area, stream)
const sal_uInt16 XML_NAMESPACE_UNKNOWN_FLAG
const sal_uInt16 XML_NAMESPACE_NONE
Handling of tokens in XML:
XMLTokenEnum
The enumeration of all XML tokens.
@ XML_TEXT_LINE_THROUGH_TEXT
@ XML_TABLE_CELL_PROPERTIES
@ XML_TEXT_LINE_THROUGH_STYLE
@ XML_LIST_LEVEL_PROPERTIES
@ XML_DRAWING_PAGE_PROPERTIES
@ XML_GRADIENTSTYLE_SQUARE
@ XML_HEADER_FOOTER_PROPERTIES
@ XML_TEXT_LINE_THROUGH_MODE
@ XML_TEXT_UNDERLINE_MODE
@ XML_HORIZONTAL_ON_RIGHT_PAGES
@ XML_HORIZONTAL_ON_LEFT_PAGES
@ XML_TEXT_UNDERLINE_TYPE
@ XML_TEXT_UNDERLINE_STYLE
@ XML_TABLE_COLUMN_PROPERTIES
@ XML_PARAGRAPH_PROPERTIES
@ XML_TEXT_UNDERLINE_WIDTH
@ XML_INTERVAL_MINOR_DIVISOR
@ XML_TEXT_LINE_THROUGH_TYPE
@ XML_PAGE_LAYOUT_PROPERTIES
@ XML_TEXT_LINE_THROUGH_WIDTH
@ XML_TABLE_ROW_PROPERTIES
bool IsXMLToken(std::u16string_view rString, enum XMLTokenEnum eToken)
compare eToken to the string
const OUString & GetXMLToken(enum XMLTokenEnum eToken)
return the OUString representation for eToken
constexpr sal_uInt16 XML_NAMESPACE_DRAW
constexpr sal_uInt16 XML_NAMESPACE_XLINK
constexpr sal_uInt16 XML_NAMESPACE_CHART
constexpr sal_uInt16 XML_NAMESPACE_STYLE
constexpr sal_uInt16 XML_NAMESPACE_FO