21#include <com/sun/star/beans/XPropertySetInfo.hpp>
22#include <com/sun/star/lang/XMultiServiceFactory.hpp>
23#include <com/sun/star/uno/XComponentContext.hpp>
24#include <rtl/ustrbuf.hxx>
59enum XMLUserDefinedTransformerAction
62 XML_ETACTION_DOCUMENT,
67 XML_ETACTION_STYLE_RENAME,
71 XML_ETACTION_TAB_STOP,
72 XML_ETACTION_FORM_CONTROL,
73 XML_ETACTION_FORM_PROPERTY,
74 XML_ETACTION_CONFIG_ITEM,
75 XML_ETACTION_TRACKED_CHANGES,
77 XML_ETACTION_CHART_PLOT_AREA
82#define ENTRY3( n, l, a, p1, p2, p3 ) \
83 { XML_NAMESPACE_##n, XML_##l, a, p1, p2, p3 }
84#define ENTRY3QNQ( n, l, a, n1, l1, p2, n3, l3 ) \
85 ENTRY3( n, l, a, XMLTransformerActionInit::QNameParam( n1, l1 ), \
86 p2, XMLTransformerActionInit::QNameParam( n3, l3 ) )
88#define ENTRY2( n, l, a, p1, p2 ) \
89 ENTRY3( n, l, a, p1, p2, 0 )
90#define ENTRY2QN( n, l, a, n1, l1, p2 ) \
91 ENTRY2( n, l, a, XMLTransformerActionInit::QNameParam( n1, l1 ), p2 )
93#define ENTRY1( n, l, a, p1 ) \
94 ENTRY3( n, l, a, p1, 0, 0 )
95#define ENTRY1Q( n, l, a, p1, t1 ) \
96 ENTRY1( n, l, a, XMLTransformerActionInit::QNameParam( p1, t1 ) )
98#define ENTRY0( n, l, a ) \
99 ENTRY3( n, l, a, 0, 0, 0 )
105 return static_cast< sal_Int32
>(f) | (
static_cast< sal_Int32
>(s) << 16);
112 ENTRY0(
OFFICE, DOCUMENT_CONTENT, XML_ETACTION_DOCUMENT ),
206 ENTRY1(
TEXT, LIST_LEVEL_STYLE_NUMBER, XML_ETACTION_STYLE,
208 ENTRY1(
TEXT, LIST_LEVEL_STYLE_BULLET, XML_ETACTION_STYLE,
210 ENTRY1(
TEXT, LIST_LEVEL_STYLE_IMAGE, XML_ETACTION_STYLE,
212 ENTRY1(
TEXT, OUTLINE_LEVEL_STYLE, XML_ETACTION_STYLE,
225 ENTRY1(
DRAW, STROKE_DASH, XML_ETACTION_STYLE,
241 ENTRY1(
TEXT, NOTES_CONFIGURATION, XML_ETACTION_NOTES,
263 ENTRY0( PRESENTATION, EVENT_LISTENER, XML_ETACTION_EVENT ),
314 ENTRY0(
CHART, PLOT_AREA, XML_ETACTION_CHART_PLOT_AREA ),
316 ENTRY0( CONFIG, CONFIG_ITEM, XML_ETACTION_CONFIG_ITEM ),
317 ENTRY1Q(
TEXT, TRACKED_CHANGES, XML_ETACTION_TRACKED_CHANGES,
319 ENTRY1Q(
TABLE, TRACKED_CHANGES, XML_ETACTION_TRACKED_CHANGES,
418 ENTRY0(
FORM, TEXTAREA, XML_ETACTION_FORM_CONTROL ),
419 ENTRY0(
FORM, FIXED_TEXT, XML_ETACTION_FORM_CONTROL ),
422 ENTRY0(
FORM, FORMATTED_TEXT, XML_ETACTION_FORM_CONTROL ),
426 ENTRY0(
FORM, RADIO, XML_ETACTION_FORM_CONTROL ),
431 ENTRY0(
FORM, IMAGE_FRAME, XML_ETACTION_FORM_CONTROL ),
432 ENTRY0(
FORM, GRID, XML_ETACTION_FORM_CONTROL ),
433 ENTRY0(
FORM, VALUE_RANGE, XML_ETACTION_FORM_CONTROL ),
434 ENTRY0(
FORM, GENERIC_CONTROL, XML_ETACTION_FORM_CONTROL ),
438 ENTRY1(
FORM, LIST_PROPERTY, XML_ETACTION_FORM_PROPERTY,
1155 OUString m_aElemQName;
1159 const OUString& rQName );
1161 virtual void StartElement(
const css::uno::Reference< css::xml::sax::XAttributeList >& xAttrList )
override;
1167XMLTableTransformerContext_Impl::XMLTableTransformerContext_Impl(
1169 const OUString& rQName ) :
1171 m_aElemQName( rQName )
1175void XMLTableTransformerContext_Impl::StartElement(
1176 const Reference< XAttributeList >& rAttrList )
1178 Reference< XAttributeList > xAttrList( rAttrList );
1182 sal_Int16 nAttrCount = xAttrList.is() ? xAttrList->getLength() : 0;
1183 for( sal_Int16 i=0;
i < nAttrCount;
i++ )
1185 const OUString& rAttrName = xAttrList->getNameByIndex( i );
1186 OUString aLocalName;
1187 sal_uInt16 nPrefix =
1188 GetTransformer().GetNamespaceMap().GetKeyByAttrName( rAttrName,
1194 const OUString& rValue = xAttrList->getValueByIndex( i );
1197 m_aElemQName = GetTransformer().GetNamespaceMap().GetQNameByKey(
1200 if ( !pMutableAttrList )
1204 xAttrList = pMutableAttrList;
1206 pMutableAttrList->RemoveAttributeByIndex( i );
1213 const OUString& rValue = xAttrList->getValueByIndex( i );
1214 OUString aAttrValue( rValue );
1217 if ( !pMutableAttrList )
1221 xAttrList = pMutableAttrList;
1223 pMutableAttrList->SetValueByIndex( i, aAttrValue );
1228 if ( !pMutableAttrList )
1232 xAttrList = pMutableAttrList;
1234 pMutableAttrList->RemoveAttributeByIndex( i );
1239 GetTransformer().GetDocHandler()->startElement( m_aElemQName, xAttrList );
1242void XMLTableTransformerContext_Impl::EndElement()
1244 GetTransformer().GetDocHandler()->endElement( m_aElemQName );
1255 const OUString& rQName );
1257 virtual void StartElement(
const css::uno::Reference< css::xml::sax::XAttributeList >& xAttrList )
override;
1260 const OUString& rLocalName,
1261 const OUString& rQName,
1262 const css::uno::Reference< css::xml::sax::XAttributeList >& xAttrList )
override;
1268XMLBodyOASISTransformerContext_Impl::XMLBodyOASISTransformerContext_Impl(
1270 const OUString& rQName ) :
1272 m_bFirstChild( false )
1276void XMLBodyOASISTransformerContext_Impl::StartElement(
1277 const Reference< XAttributeList >& )
1282 const OUString& rLocalName,
1283 const OUString& rQName,
1284 const css::uno::Reference< css::xml::sax::XAttributeList >& xAttrList )
1288 m_bFirstChild =
true;
1295void XMLBodyOASISTransformerContext_Impl::EndElement()
1309 const OUString& rQName );
1311 virtual void StartElement(
const css::uno::Reference< css::xml::sax::XAttributeList >& xAttrList )
override;
1316XMLTabStopOASISTContext_Impl::XMLTabStopOASISTContext_Impl(
1318 const OUString& rQName ) :
1323void XMLTabStopOASISTContext_Impl::StartElement(
1324 const Reference< XAttributeList >& rAttrList )
1328 SAL_WARN_IF(
nullptr == pActions,
"xmloff.transform",
"got no actions" );
1331 sal_Int16 nLeaderText = -1;
1332 Reference< XAttributeList > xAttrList( rAttrList );
1334 sal_Int16 nAttrCount = xAttrList.is() ? xAttrList->getLength() : 0;
1335 for( sal_Int16 i=0;
i < nAttrCount;
i++ )
1337 const OUString& rAttrName = xAttrList->getNameByIndex( i );
1338 OUString aLocalName;
1339 sal_uInt16 nPrefix =
1340 GetTransformer().GetNamespaceMap().GetKeyByAttrName( rAttrName,
1342 XMLTransformerActions::key_type aKey( nPrefix, aLocalName );
1343 XMLTransformerActions::const_iterator aIter =
1344 pActions->find( aKey );
1345 if( aIter != pActions->end() )
1347 if( !pMutableAttrList )
1351 xAttrList = pMutableAttrList;
1353 const OUString& rAttrValue = xAttrList->getValueByIndex( i );
1354 switch( (*aIter).second.m_nActionType )
1360 cStyleLeaderChar =
' ';
1362 cStyleLeaderChar =
'.';
1364 cStyleLeaderChar = 0;
1365 pMutableAttrList->RemoveAttributeByIndex( i );
1372 OUString aNewAttrQName(
1373 GetTransformer().GetNamespaceMap().GetQNameByKey(
1374 (*aIter).second.GetQNamePrefixFromParam1(),
1376 (*aIter).second.GetQNameTokenFromParam1()) ) );
1377 pMutableAttrList->RenameAttributeByIndex( i,
1382 if( rAttrValue.getLength() > 1 )
1384 OUString aAttrValue( rAttrValue.copy( 0, 1 ) );
1385 pMutableAttrList->SetValueByIndex( i, aAttrValue );
1392 OUString aAttrValue( rAttrValue );
1395 pMutableAttrList->SetValueByIndex( i, aAttrValue );
1399 SAL_WARN(
"xmloff.transform",
"unknown action" );
1405 if( cStyleLeaderChar &&
' ' != cStyleLeaderChar )
1407 if( nLeaderText != -1 )
1409 OUString aNewAttrQName(
1410 GetTransformer().GetNamespaceMap().GetQNameByKey(
1413 pMutableAttrList->AddAttribute( aNewAttrQName,
1414 OUString( cStyleLeaderChar ) );
1419 if( nLeaderText != -1 )
1420 pMutableAttrList->RemoveAttributeByIndex( nLeaderText );
1431 bool m_bIsRedlineProtectionKey;
1437 const OUString& rQName );
1439 virtual void StartElement(
const css::uno::Reference< css::xml::sax::XAttributeList >& xAttrList )
override;
1442 virtual void Characters(
const OUString& rChars )
override;
1447XMLConfigItemTContext_Impl::XMLConfigItemTContext_Impl(
1449 const OUString& rQName ) :
1451 m_bIsRedlineProtectionKey( false ),
1452 m_bIsCursorX( false ),
1453 m_bIsCursorY( false )
1457void XMLConfigItemTContext_Impl::StartElement(
1458 const Reference< XAttributeList >& rAttrList )
1460 sal_Int16 nAttrCount = rAttrList.is() ? rAttrList->getLength() : 0;
1461 for( sal_Int16 i=0;
i < nAttrCount;
i++ )
1463 const OUString& rAttrName = rAttrList->getNameByIndex( i );
1464 OUString aLocalName;
1465 sal_uInt16 nPrefix =
1466 GetTransformer().GetNamespaceMap().GetKeyByAttrName( rAttrName,
1472 const OUString& rValue = rAttrList->getValueByIndex( i );
1473 if( rValue ==
"RedlineProtectionKey" )
1474 m_bIsRedlineProtectionKey =
true;
1475 else if( rValue ==
"CursorPositionX" )
1476 m_bIsCursorX =
true;
1477 else if( rValue ==
"CursorPositionY" )
1478 m_bIsCursorY =
true;
1488void XMLConfigItemTContext_Impl::Characters(
const OUString& rChars )
1490 OUString sChars(rChars);
1491 if (m_bIsRedlineProtectionKey)
1493 else if (m_bIsCursorX || m_bIsCursorY)
1495 sal_Int32
nPos = rChars.toInt32();
1496 if (m_bIsCursorX && nPos > 255)
1498 else if (m_bIsCursorY && nPos > 31999)
1501 sChars = OUString::number(nPos);
1507void XMLConfigItemTContext_Impl::EndElement()
1510 if( m_bIsRedlineProtectionKey )
1512 const Reference< XPropertySet > rPropSet =
1513 GetTransformer().GetPropertySet();
1516 OUString
aPropName(
"RedlineProtectionKey");
1517 Reference< XPropertySetInfo > xPropSetInfo(
1518 rPropSet->getPropertySetInfo() );
1519 if( xPropSetInfo.is() &&
1520 xPropSetInfo->hasPropertyByName( aPropName ) )
1522 Sequence < sal_Int8 > aKey;
1524 rPropSet->setPropertyValue( aPropName,
Any( aKey ) );
1535 OUString
const m_aAttrQName;
1540 const OUString& rQName,
1544 virtual void StartElement(
const css::uno::Reference< css::xml::sax::XAttributeList >& xAttrList )
override;
1549XMLTrackedChangesOASISTContext_Impl::XMLTrackedChangesOASISTContext_Impl(
1551 const OUString& rQName,
1555 m_aAttrQName( rImp.GetNamespaceMap().GetQNameByKey( nPrefix,
1560void XMLTrackedChangesOASISTContext_Impl::StartElement(
1561 const Reference< XAttributeList >& rAttrList )
1563 Reference< XAttributeList > xAttrList( rAttrList );
1564 const Reference< XPropertySet > rPropSet =
1565 GetTransformer().GetPropertySet();
1568 OUString
aPropName(
"RedlineProtectionKey");
1569 Reference< XPropertySetInfo > xPropSetInfo(
1570 rPropSet->getPropertySetInfo() );
1571 if( xPropSetInfo.is() &&
1572 xPropSetInfo->hasPropertyByName( aPropName ) )
1574 Any aAny = rPropSet->getPropertyValue( aPropName);
1575 Sequence < sal_Int8 > aKey;
1577 if( aKey.hasElements() )
1583 xAttrList = pMutableAttrList;
1584 pMutableAttrList->AddAttribute( m_aAttrQName,
1585 aBuffer.makeStringAndClear() );
1594 const OUString& rQName,
1599 case XML_ETACTION_META:
1601 case XML_ETACTION_DOCUMENT:
1603 case XML_ETACTION_BODY:
1604 return new XMLBodyOASISTransformerContext_Impl( *
this, rQName );
1605 case XML_ETACTION_NOTES:
1608 case XML_ETACTION_TABLE:
1609 return new XMLTableTransformerContext_Impl( *
this, rQName );
1610 case XML_ETACTION_STYLE:
1612 case XML_ETACTION_STYLE_RENAME:
1616 case XML_ETACTION_FRAME:
1618 case XML_ETACTION_EVENT:
1620 case XML_ETACTION_DLG:
1622 case XML_ETACTION_TAB_STOP:
1623 return new XMLTabStopOASISTContext_Impl( *
this, rQName );
1624 case XML_ETACTION_FORM_CONTROL:
1631 case XML_ETACTION_FORM_PROPERTY:
1634 case XML_ETACTION_CHART:
1636 case XML_ETACTION_CONFIG_ITEM:
1637 return new XMLConfigItemTContext_Impl( *
this, rQName );
1638 case XML_ETACTION_TRACKED_CHANGES:
1639 return new XMLTrackedChangesOASISTContext_Impl( *
this, rQName,
1642 case XML_ETACTION_CHART_PLOT_AREA:
1645 SAL_WARN(
"xmloff.transform",
"no user defined context found!" );
1873 OUString aMacroName;
1874 sal_uInt16 nPrefix =
1883 m_pEventMap(
nullptr ),
1884 m_pFormEventMap(
nullptr )
1949 return "com.sun.star.comp.Oasis2OOoTransformer";
1964extern "C" SAL_DLLPUBLIC_EXPORT css::uno::XInterface*
1966 css::uno::XComponentContext* , css::uno::Sequence<css::uno::Any>
const&)
1968 SAL_INFO(
"xmloff.transform",
"Creating Oasis2OOoTransformer");
@ OASIS_BACKGROUND_IMAGE_ACTIONS
@ OASIS_TABLE_VALUE_TYPE_ACTIONS
@ OASIS_DDE_CONNECTION_DECL_ACTIONS
@ OASIS_PARA_STYLE_REF_ACTIONS
@ OASIS_FOOTNOTE_SEP_ACTIONS
@ OASIS_TEXT_VALUE_TYPE_ACTIONS
@ OASIS_ANNOTATION_ACTIONS
@ OASIS_INDEX_ENTRY_TAB_STOP_ACTIONS
@ OASIS_FORM_PROP_ACTIONS
@ OASIS_DATAPILOT_MEMBER_ACTIONS
@ OASIS_LINENUMBERING_ACTIONS
@ OASIS_MAP_STYLE_REF_ACTIONS
@ OASIS_TEXT_STYLE_REF_ACTIONS
@ OASIS_CONTENT_VALIDATION_ACTIONS
@ OASIS_CHANGE_INFO_ACTIONS
@ OASIS_ALPHABETICAL_INDEX_MARK_ACTIONS
@ OASIS_LIST_STYLE_REF_ACTIONS
@ OASIS_DDE_CONV_MODE_ACTIONS
@ OASIS_FONT_FACE_ACTIONS
@ OASIS_SOURCE_SERVICE_ACTIONS
@ OASIS_MASTER_PAGE_REF_ACTIONS
@ OASIS_ANIMATION_ACTIONS
@ OASIS_CONNECTOR_ACTIONS
@ OASIS_FRAME_ELEM_ACTIONS
@ OASIS_DRAW_AREA_POLYGON_ACTIONS
@ OASIS_TABLE_STYLE_REF_ACTIONS
@ OASIS_CONFIG_ITEM_SET_ACTIONS
@ OASIS_DATAPILOT_LEVEL_ACTIONS
@ OASIS_FORM_CONTROL_ACTIONS
@ OASIS_FORM_COLUMN_ACTIONS
@ OASIS_MASTER_PAGE_ACTIONS
@ XML_FAMILY_TYPE_PAGE_LAYOUT
@ XML_FAMILY_TYPE_FILL_IMAGE
@ XML_FAMILY_TYPE_GRADIENT
@ XML_FAMILY_TYPE_TABLE_CELL
@ XML_FAMILY_TYPE_GRAPHIC
@ XML_FAMILY_TYPE_STROKE_DASH
@ XML_FAMILY_TYPE_MASTER_PAGE
@ XML_FAMILY_TYPE_PARAGRAPH
@ XML_FAMILY_TYPE_PRESENTATION
@ XML_FAMILY_TYPE_HEADER_FOOTER
XMLTransformerActionInit const aTableStyleRefActionTable[]
#define ENTRY2(n, l, a, p1, p2)
XMLTransformerActionInit const aConnectorActionTable[]
XMLTransformerActionInit const aScriptActionTable[]
XMLTransformerActionInit const aTextStyleRefActionTable[]
XMLTransformerActionInit const aParaStyleRefActionTable[]
XMLTransformerActionInit const aTextValueTypeActionTable[]
XMLTransformerActionInit const aFormControlActionTable[]
XMLTransformerActionInit const aConfigItemSetActionTable[]
XMLTransformerActionInit const aDDEConnectionDeclActionTable[]
XMLTransformerActionInit const aBackgroundImageActionTable[]
XMLTransformerActionInit const aFormulaActionTable[]
XMLTransformerActionInit const aListStyleRefActionTable[]
XMLTransformerActionInit const aAnnotationActionTable[]
XMLTransformerActionInit const aDataPilotLevelActionTable[]
#define ENTRY1(n, l, a, p1)
XMLTransformerActionInit const aDDEConvModeActionTable[]
XMLTransformerActionInit const aStyleActionTable[]
XMLTransformerActionInit const aContentValidationActionTable[]
XMLTransformerActionInit const aDrawAreaPolygonActionTable[]
XMLTransformerActionInit const aXLinkActionTable[]
XMLTransformerActionInit const aFrameActionTable[]
XMLTransformerActionInit const aParaActionTable[]
XMLTokenEnum const aTokenMap[]
XMLTransformerActionInit const aMasterPageRefActionTable[]
XMLTransformerActionInit const aMasterPageActionTable[]
XMLTransformerActionInit const aSourceServiceActionTable[]
XMLTransformerActionInit const aAlphabeticalIndexMarkActionTable[]
XMLTransformerActionInit const aDropCapActionTable[]
XMLTransformerActionInit const aFootnoteSepActionTable[]
XMLTransformerActionInit const aTabStopActionTable[]
XMLTransformerActionInit const aDataPilotMemberActionTable[]
#define ENTRY3QNQ(n, l, a, n1, l1, p2, n3, l3)
XMLTransformerActionInit const aChartActionTable[]
SAL_DLLPUBLIC_EXPORT css::uno::XInterface * xmloff_Oasis2OOoTransformer_get_implementation(css::uno::XComponentContext *, css::uno::Sequence< css::uno::Any > const &)
XMLTransformerActionInit const aEventActionTable[]
#define ENTRY1Q(n, l, a, p1, t1)
XMLTransformerActionInit const aFormActionTable[]
XMLTransformerActionInit const aLineNumberingActionTable[]
XMLTransformerActionInit const aNotesActionTable[]
XMLTransformerActionInit const aActionTable[]
XMLTransformerActionInit const aIndexEntryTabStopActionTable[]
XMLTransformerActionInit const aFormPropActionTable[]
XMLTransformerActionInit const aChangeInfoActionTable[]
XMLTransformerActionInit const aShapeActionTable[]
XMLTransformerActionInit const aDlgActionTable[]
XMLTransformerActionInit const aColumnsActionTable[]
XMLTransformerActionInit const aTableValueTypeActionTable[]
XMLTransformerActionInit const aFontFaceActionTable[]
XMLTransformerActionInit const aFormColumnActionTable[]
XMLTransformerActionInit const aDateTimeActionTable[]
XMLTransformerActionInit const aMapStyleRefActionTable[]
static constexpr sal_Int32 RENAME_ENTRY(XMLTokenEnum f, XMLTokenEnum s)
XMLTransformerActionInit const aAnimationActionTable[]
#define ENTRY2QN(n, l, a, n1, l1, p2)
#define MAP(name, prefix, token, type, context, version)
sal_uInt16 GetKeyByAttrName(const OUString &rAttrName, OUString *pPrefix, OUString *pLocalName, OUString *pNamespace) const
sal_uInt16 Add(const OUString &rPrefix, const OUString &rName, sal_uInt16 nKey=XML_NAMESPACE_UNKNOWN)
static OUString GetEventName(sal_uInt16 nPrefix, const OUString &rName, XMLTransformerOASISEventMap_Impl &rMap, XMLTransformerOASISEventMap_Impl *pMap2)
static XMLTransformerOASISEventMap_Impl * CreateEventMap()
static XMLTransformerOASISEventMap_Impl * CreateFormEventMap()
static void FlushEventMap(XMLTransformerOASISEventMap_Impl *p)
virtual void StartElement(const css::uno::Reference< css::xml::sax::XAttributeList > &xAttrList) 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)
virtual void Characters(const OUString &rChars)
bool HasQName(sal_uInt16 nPrefix, ::xmloff::token::XMLTokenEnum eToken) const
virtual void StartElement(const css::uno::Reference< css::xml::sax::XAttributeList > &xAttrList)
virtual void EndElement()
static void encode(OUStringBuffer &aStrBuffer, const css::uno::Sequence< sal_Int8 > &aPass)
static void decode(css::uno::Sequence< sal_Int8 > &aPass, std::u16string_view sBuffer)
constexpr OUStringLiteral TITLE
#define SAL_WARN_IF(condition, area, stream)
#define SAL_WARN(area, stream)
#define SAL_INFO(area, stream)
bool CPPUHELPER_DLLPUBLIC supportsService(css::lang::XServiceInfo *implementation, rtl::OUString const &name)
constexpr tools::Long BORDER
Handling of tokens in XML:
XMLTokenEnum
The enumeration of all XML tokens.
@ XML_TABLE_OF_CONTENT_ENTRY_TEMPLATE
@ XML_COUNT_IN_FLOATING_FRAMES
@ XML_NOTES_CONFIGURATION
@ XML_INDEX_ENTRY_CHAPTER_NUMBER
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
::ucbhelper::Content m_aContent
std::unique_ptr< char[]> aBuffer
constexpr sal_uInt16 XML_NAMESPACE_DRAW
constexpr sal_uInt16 XML_NAMESPACE_DLG
constexpr sal_uInt16 XML_NAMESPACE_META
constexpr sal_uInt16 XML_NAMESPACE_SVG
constexpr sal_uInt16 XML_NAMESPACE_TEXT
constexpr sal_uInt16 XML_NAMESPACE_FORM
constexpr sal_uInt16 XML_NAMESPACE_DR3D
constexpr sal_uInt16 XML_NAMESPACE_CHART
constexpr sal_uInt16 XML_NAMESPACE_TABLE
constexpr sal_uInt16 XML_NAMESPACE_OFFICE
constexpr sal_uInt16 XML_NAMESPACE_PRESENTATION
constexpr sal_uInt16 XML_NAMESPACE_CONFIG
constexpr sal_uInt16 XML_NAMESPACE_OOO
constexpr sal_uInt16 XML_NAMESPACE_STYLE
constexpr sal_uInt16 XML_NAMESPACE_SCRIPT
constexpr sal_uInt16 XML_NAMESPACE_FO
constexpr sal_uInt16 XML_NAMESPACE_NUMBER