Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 


Quellcode-Bibliothek enumarith.patch   Sprache: unbekannt

 
Spracherkennung für: .patch vermutete Sprache: Unknown {[0] [0] [0]} [Methode: Schwerpunktbildung, einfache Gewichte, sechs Dimensionen]

--- src/lib/EtonyekDocument.cpp
+++ src/lib/EtonyekDocument.cpp
@@ -139,17 +139,17 @@
 
   const char *const name = char_cast(xmlTextReaderConstLocalName(reader.get()));
   const char *const ns = char_cast(xmlTextReaderConstNamespaceUri(reader.get()));
-  if (probeXMLFormat(FORMAT_XML2, EtonyekDocument::TYPE_KEYNOTE, KEY2Token::NS_URI_KEY | KEY2Token::presentation,
+  if (probeXMLFormat(FORMAT_XML2, EtonyekDocument::TYPE_KEYNOTE, +KEY2Token::NS_URI_KEY | KEY2Token::presentation,
                      KEY2Token::getTokenizer(), name, ns, info))
     return true;
-  if (probeXMLFormat(FORMAT_XML2, EtonyekDocument::TYPE_NUMBERS, NUM1Token::NS_URI_LS | NUM1Token::document,
+  if (probeXMLFormat(FORMAT_XML2, EtonyekDocument::TYPE_NUMBERS, +NUM1Token::NS_URI_LS | NUM1Token::document,
                      NUM1Token::getTokenizer(), name, ns, info))
     return true;
-  if (probeXMLFormat(FORMAT_XML2, EtonyekDocument::TYPE_PAGES, PAG1Token::NS_URI_SL | PAG1Token::document,
+  if (probeXMLFormat(FORMAT_XML2, EtonyekDocument::TYPE_PAGES, +PAG1Token::NS_URI_SL | PAG1Token::document,
                      PAG1Token::getTokenizer(), name, ns, info))
     return true;
   // Keynote 1 files define the document type with <!DOCTYPE APXL>
-  if (probeXMLFormat(FORMAT_XML1, EtonyekDocument::TYPE_KEYNOTE, KEY1Token::NS_URI_KEY | KEY1Token::presentation,
+  if (probeXMLFormat(FORMAT_XML1, EtonyekDocument::TYPE_KEYNOTE, +KEY1Token::NS_URI_KEY | KEY1Token::presentation,
                      KEY1Token::getTokenizer(), name, (ns||!checkAPXL) ? ns : "http://developer.apple.com/schemas/APXL", info))
     return true;
   return false;
--- src/lib/IWORKDiscardContext.cpp
+++ src/lib/IWORKDiscardContext.cpp
@@ -82,41 +82,41 @@
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SF | IWORKToken::bezier :
+  case +IWORKToken::NS_URI_SF | IWORKToken::bezier :
     return std::make_shared<IWORKBezierElement>(m_state, m_data->m_path);
-  case IWORKToken::NS_URI_SF | IWORKToken::binary :
+  case +IWORKToken::NS_URI_SF | IWORKToken::binary :
     return std::make_shared<IWORKBinaryElement>(m_state, m_data->m_mediaContent);
-  case IWORKToken::NS_URI_SF | IWORKToken::cell_style :
+  case +IWORKToken::NS_URI_SF | IWORKToken::cell_style :
     return std::make_shared<IWORKStyleContext>(m_state, &m_state.getDictionary().m_cellStyles);
-  case IWORKToken::NS_URI_SF | IWORKToken::characterstyle :
+  case +IWORKToken::NS_URI_SF | IWORKToken::characterstyle :
     return std::make_shared<IWORKStyleContext>(m_state, &m_state.getDictionary().m_characterStyles);
-  case IWORKToken::NS_URI_SF | IWORKToken::core_image_filter_descriptor :
+  case +IWORKToken::NS_URI_SF | IWORKToken::core_image_filter_descriptor :
     return std::make_shared<IWORKCoreImageFilterDescriptorElement>(m_state, m_data->m_isShadow);
-  case IWORKToken::NS_URI_SF | IWORKToken::data :
+  case +IWORKToken::NS_URI_SF | IWORKToken::data :
     m_data->m_data.reset();
     return std::make_shared<IWORKDataElement>(m_state, m_data->m_data, m_data->m_fillColor);
-  case IWORKToken::NS_URI_SF | IWORKToken::layoutstyle :
+  case +IWORKToken::NS_URI_SF | IWORKToken::layoutstyle :
     return std::make_shared<IWORKStyleContext>(m_state, &m_state.getDictionary().m_layoutStyles);
-  case IWORKToken::NS_URI_SF | IWORKToken::liststyle :
+  case +IWORKToken::NS_URI_SF | IWORKToken::liststyle :
     return std::make_shared<IWORKStyleContext>(m_state, &m_state.getDictionary().m_listStyles);
-  case IWORKToken::NS_URI_SF | IWORKToken::listLabelIndents :
+  case +IWORKToken::NS_URI_SF | IWORKToken::listLabelIndents :
     return std::make_shared<IWORKListLabelIndentsProperty>(m_state, m_data->m_propertyMap);
-  case IWORKToken::NS_URI_SF | IWORKToken::list_label_geometry :
+  case +IWORKToken::NS_URI_SF | IWORKToken::list_label_geometry :
     return std::make_shared<IWORKListLabelGeometryElement>(m_state, m_data->m_listLabelGeometry);
-  case IWORKToken::NS_URI_SF | IWORKToken::list_label_typeinfo :
+  case +IWORKToken::NS_URI_SF | IWORKToken::list_label_typeinfo :
     return std::make_shared<IWORKListLabelTypeinfoElement>(m_state, m_data->m_listLabelTypeInfo);
-  case IWORKToken::NS_URI_SF | IWORKToken::paragraphstyle :
+  case +IWORKToken::NS_URI_SF | IWORKToken::paragraphstyle :
     return std::make_shared<IWORKStyleContext>(m_state, &m_state.getDictionary().m_paragraphStyles);
-  case IWORKToken::NS_URI_SF | IWORKToken::slide_style :
+  case +IWORKToken::NS_URI_SF | IWORKToken::slide_style :
     return std::make_shared<IWORKStyleContext>(m_state, &m_state.getDictionary().m_slideStyles);
-  case IWORKToken::NS_URI_SF | IWORKToken::tabs :
+  case +IWORKToken::NS_URI_SF | IWORKToken::tabs :
     m_data->m_tabStops.clear();
     return std::make_shared<IWORKTabsElement>(m_state, m_data->m_tabStops);
-  case IWORKToken::NS_URI_SF | IWORKToken::tabular_style :
+  case +IWORKToken::NS_URI_SF | IWORKToken::tabular_style :
     return std::make_shared<IWORKStyleContext>(m_state, &m_state.getDictionary().m_tabularStyles);
-  case IWORKToken::NS_URI_SF | IWORKToken::text_label :
+  case +IWORKToken::NS_URI_SF | IWORKToken::text_label :
     return std::make_shared<IWORKTextLabelElement>(m_state, m_data->m_listLabelTypeInfo);
-  case IWORKToken::NS_URI_SF | IWORKToken::unfiltered :
+  case +IWORKToken::NS_URI_SF | IWORKToken::unfiltered :
     m_data->m_mediaContent.reset();
     return std::make_shared<IWORKUnfilteredElement>(m_state, m_data->m_mediaContent);
   default:
--- src/lib/IWORKXMLContextBase.cpp
+++ src/lib/IWORKXMLContextBase.cpp
@@ -35,7 +35,7 @@
 
 void IWORKXMLContextElement::attribute(const int name, const char *const value)
 {
-  if ((IWORKToken::NS_URI_SFA | IWORKToken::ID) == name)
+  if ((+IWORKToken::NS_URI_SFA | IWORKToken::ID) == name)
     m_id = value;
 }
 
@@ -81,10 +81,10 @@
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SFA | IWORKToken::ID :
+  case +IWORKToken::NS_URI_SFA | IWORKToken::ID :
     m_id = value;
     break;
-  case IWORKToken::NS_URI_SFA | IWORKToken::IDREF :
+  case +IWORKToken::NS_URI_SFA | IWORKToken::IDREF :
     m_ref = value;
     break;
   default:
--- src/lib/KEY1Parser.cpp
+++ src/lib/KEY1Parser.cpp
@@ -265,7 +265,7 @@
 {
   switch (name)
   {
-  case KEY1Token::bullet_characters | KEY1Token::NS_URI_KEY : // README
+  case +KEY1Token::bullet_characters | KEY1Token::NS_URI_KEY : // README
     break;
   default :
     ETONYEK_DEBUG_MSG(("BulletCharacterStyleElement::element[KEY1Parser.cpp]: unknown element\n"));
@@ -347,12 +347,12 @@
   ensureOpened();
   switch (name)
   {
-  case KEY1Token::character_bullet_style | KEY1Token::NS_URI_KEY :
+  case +KEY1Token::character_bullet_style | KEY1Token::NS_URI_KEY :
     return std::make_shared<BulletCharacterStyleElement>(getState());
-  case KEY1Token::image_bullet_style | KEY1Token::NS_URI_KEY : // README
-  case KEY1Token::sequence_bullet_style | KEY1Token::NS_URI_KEY : // README
+  case +KEY1Token::image_bullet_style | KEY1Token::NS_URI_KEY : // README
+  case +KEY1Token::sequence_bullet_style | KEY1Token::NS_URI_KEY : // README
     break;
-  case KEY1Token::content | KEY1Token::NS_URI_KEY :
+  case +KEY1Token::content | KEY1Token::NS_URI_KEY :
     return std::make_shared<KEY1ContentElement>(getState());
   default :
     ETONYEK_DEBUG_MSG(("BulletElement::element[KEY1Parser.cpp]: unknown element\n"));
@@ -411,7 +411,7 @@
 {
   switch (name)
   {
-  case KEY1Token::bullet | KEY1Token::NS_URI_KEY :
+  case +KEY1Token::bullet | KEY1Token::NS_URI_KEY :
     return std::make_shared<BulletElement>(getState());
   default :
     ETONYEK_DEBUG_MSG(("BulletsElement::element[KEY1Parser.cpp]: unknown element\n"));
@@ -493,7 +493,7 @@
 {
   switch (name)
   {
-  case KEY1Token::styles | KEY1Token::NS_URI_KEY :
+  case +KEY1Token::styles | KEY1Token::NS_URI_KEY :
     return std::make_shared<KEY1StylesContext>(getState(), m_style, IWORKStylePtr_t());
   default :
     ETONYEK_DEBUG_MSG(("BasicShapeElement::element[KEY1Parser.cpp]: unknown element\n"));
@@ -929,7 +929,7 @@
 {
   switch (name)
   {
-  case KEY1Token::text_attributes | KEY1Token::NS_URI_KEY :
+  case +KEY1Token::text_attributes | KEY1Token::NS_URI_KEY :
     return std::make_shared<TextAttributesElement>(getState(), m_spanStyle, m_paragraphStyle);
   default:
     break;
@@ -1117,7 +1117,7 @@
 {
   switch (name)
   {
-  case KEY1Token::content | KEY1Token::NS_URI_KEY :
+  case +KEY1Token::content | KEY1Token::NS_URI_KEY :
     return std::make_shared<KEY1ContentElement>(getState());
   default:
     break;
@@ -1202,18 +1202,18 @@
 {
   switch (name)
   {
-  case KEY1Token::array  | KEY1Token::NS_URI_KEY : // with list of number
-  case KEY1Token::chart_prototype  | KEY1Token::NS_URI_KEY :
-  case KEY1Token::color  | KEY1Token::NS_URI_KEY :
-  case KEY1Token::content  | KEY1Token::NS_URI_KEY :
-  case KEY1Token::dict  | KEY1Token::NS_URI_KEY : // with child size, rect, ...
-  case KEY1Token::dash_style  | KEY1Token::NS_URI_KEY :
-  case KEY1Token::fill_style  | KEY1Token::NS_URI_KEY :
-  case KEY1Token::number  | KEY1Token::NS_URI_KEY :
-  case KEY1Token::reference  | KEY1Token::NS_URI_KEY : // style reference
-  case KEY1Token::string  | KEY1Token::NS_URI_KEY : // with value dictionary, root
+  case +KEY1Token::array  | KEY1Token::NS_URI_KEY : // with list of number
+  case +KEY1Token::chart_prototype  | KEY1Token::NS_URI_KEY :
+  case +KEY1Token::color  | KEY1Token::NS_URI_KEY :
+  case +KEY1Token::content  | KEY1Token::NS_URI_KEY :
+  case +KEY1Token::dict  | KEY1Token::NS_URI_KEY : // with child size, rect, ...
+  case +KEY1Token::dash_style  | KEY1Token::NS_URI_KEY :
+  case +KEY1Token::fill_style  | KEY1Token::NS_URI_KEY :
+  case +KEY1Token::number  | KEY1Token::NS_URI_KEY :
+  case +KEY1Token::reference  | KEY1Token::NS_URI_KEY : // style reference
+  case +KEY1Token::string  | KEY1Token::NS_URI_KEY : // with value dictionary, root
     break;
-  case KEY1Token::table  | KEY1Token::NS_URI_KEY :
+  case +KEY1Token::table  | KEY1Token::NS_URI_KEY :
     return std::make_shared<KEY1TableElement>(getState(), m_size);
   default:
     ETONYEK_DEBUG_MSG(("PluginDataElement::element[KEY1Parser.cpp]: unknown element\n"));
@@ -1275,9 +1275,9 @@
 {
   switch (name)
   {
-  case KEY1Token::plugin_data  | KEY1Token::NS_URI_KEY :
+  case +KEY1Token::plugin_data  | KEY1Token::NS_URI_KEY :
     return std::make_shared<PluginDataElement>(getState(), m_size, false);
-  case KEY1Token::prototype_data  | KEY1Token::NS_URI_KEY :
+  case +KEY1Token::prototype_data  | KEY1Token::NS_URI_KEY :
     return std::make_shared<PluginDataElement>(getState(), m_size, true);
   default :
     return BasicShapeElement::element(name);
@@ -1348,19 +1348,19 @@
 {
   switch (name)
   {
-  case KEY1Token::g | KEY1Token::NS_URI_KEY :
+  case +KEY1Token::g | KEY1Token::NS_URI_KEY :
     return std::make_shared<GroupElement>(getState());
-  case KEY1Token::image | KEY1Token::NS_URI_KEY :
+  case +KEY1Token::image | KEY1Token::NS_URI_KEY :
     return std::make_shared<ImageElement>(getState());
-  case KEY1Token::line | KEY1Token::NS_URI_KEY :
+  case +KEY1Token::line | KEY1Token::NS_URI_KEY :
     return std::make_shared<LineElement>(getState());
-  case KEY1Token::page_number | KEY1Token::NS_URI_KEY :
+  case +KEY1Token::page_number | KEY1Token::NS_URI_KEY :
     return std::make_shared<PageNumberElement>(getState());
-  case KEY1Token::plugin | KEY1Token::NS_URI_KEY :
+  case +KEY1Token::plugin | KEY1Token::NS_URI_KEY :
     return std::make_shared<PluginElement>(getState());
-  case KEY1Token::shape | KEY1Token::NS_URI_KEY :
+  case +KEY1Token::shape | KEY1Token::NS_URI_KEY :
     return std::make_shared<ShapeElement>(getState());
-  case KEY1Token::textbox | KEY1Token::NS_URI_KEY :
+  case +KEY1Token::textbox | KEY1Token::NS_URI_KEY :
     return std::make_shared<TextboxElement>(getState());
   default :
     return BasicShapeElement::element(name);
@@ -1403,23 +1403,23 @@
 {
   switch (name)
   {
-  case KEY1Token::body | KEY1Token::NS_URI_KEY :
+  case +KEY1Token::body | KEY1Token::NS_URI_KEY :
     return std::make_shared<BodyElement>(getState());
-  case KEY1Token::g | KEY1Token::NS_URI_KEY :
+  case +KEY1Token::g | KEY1Token::NS_URI_KEY :
     return std::make_shared<GroupElement>(getState());
-  case KEY1Token::image | KEY1Token::NS_URI_KEY :
+  case +KEY1Token::image | KEY1Token::NS_URI_KEY :
     return std::make_shared<ImageElement>(getState());
-  case KEY1Token::line | KEY1Token::NS_URI_KEY :
+  case +KEY1Token::line | KEY1Token::NS_URI_KEY :
     return std::make_shared<LineElement>(getState());
-  case KEY1Token::page_number | KEY1Token::NS_URI_KEY :
+  case +KEY1Token::page_number | KEY1Token::NS_URI_KEY :
     return std::make_shared<PageNumberElement>(getState());
-  case KEY1Token::plugin | KEY1Token::NS_URI_KEY :
+  case +KEY1Token::plugin | KEY1Token::NS_URI_KEY :
     return std::make_shared<PluginElement>(getState());
-  case KEY1Token::shape | KEY1Token::NS_URI_KEY :
+  case +KEY1Token::shape | KEY1Token::NS_URI_KEY :
     return std::make_shared<ShapeElement>(getState());
-  case KEY1Token::textbox | KEY1Token::NS_URI_KEY :
+  case +KEY1Token::textbox | KEY1Token::NS_URI_KEY :
     return std::make_shared<TextboxElement>(getState());
-  case KEY1Token::title | KEY1Token::NS_URI_KEY :
+  case +KEY1Token::title | KEY1Token::NS_URI_KEY :
     return std::make_shared<TitleElement>(getState());
   default :
     ETONYEK_DEBUG_MSG(("DrawablesElement::element[KEY1Parser.cpp]: unknown element\n"));
@@ -1470,7 +1470,7 @@
 {
   switch (name)
   {
-  case KEY1Token::prototype_plugin | KEY1Token::NS_URI_KEY :
+  case +KEY1Token::prototype_plugin | KEY1Token::NS_URI_KEY :
     return std::make_shared<PluginElement>(getState());
   default :
     ETONYEK_DEBUG_MSG(("PluginsElement::element[KEY1Parser.cpp]: unknown element\n"));
@@ -1564,25 +1564,25 @@
 {
   switch (name)
   {
-  case KEY1Token::bullets | KEY1Token::NS_URI_KEY :
+  case +KEY1Token::bullets | KEY1Token::NS_URI_KEY :
     return std::make_shared<BulletsElement>(getState(), false);
-  case KEY1Token::drawables | KEY1Token::NS_URI_KEY :
+  case +KEY1Token::drawables | KEY1Token::NS_URI_KEY :
     return std::make_shared<DrawablesElement>(getState(), false);
-  case KEY1Token::guides | KEY1Token::NS_URI_KEY : // list of guide, safe to ignore?
+  case +KEY1Token::guides | KEY1Token::NS_URI_KEY : // list of guide, safe to ignore?
     break;
-  case KEY1Token::notes | KEY1Token::NS_URI_KEY :
+  case +KEY1Token::notes | KEY1Token::NS_URI_KEY :
     return std::make_shared<CDATAElement>(getState(), m_notes);
-  case KEY1Token::prototype_bullets | KEY1Token::NS_URI_KEY :
+  case +KEY1Token::prototype_bullets | KEY1Token::NS_URI_KEY :
     return std::make_shared<BulletsElement>(getState(), true);
-  case KEY1Token::prototype_drawables | KEY1Token::NS_URI_KEY :
+  case +KEY1Token::prototype_drawables | KEY1Token::NS_URI_KEY :
     return std::make_shared<DrawablesElement>(getState(), true);
-  case KEY1Token::prototype_plugins | KEY1Token::NS_URI_KEY :
+  case +KEY1Token::prototype_plugins | KEY1Token::NS_URI_KEY :
     return std::make_shared<PluginsElement>(getState(), true);
-  case KEY1Token::background_fill_style | KEY1Token::NS_URI_KEY :
+  case +KEY1Token::background_fill_style | KEY1Token::NS_URI_KEY :
     return std::make_shared<KEY1FillElement>(getState(), m_background);
-  case KEY1Token::transition_style | KEY1Token::NS_URI_KEY :
+  case +KEY1Token::transition_style | KEY1Token::NS_URI_KEY :
     return std::make_shared<TransitionStyleElement>(getState());
-  case KEY1Token::thumbnails | KEY1Token::NS_URI_KEY : // ok to ignore
+  case +KEY1Token::thumbnails | KEY1Token::NS_URI_KEY : // ok to ignore
     break;
   default :
     ETONYEK_DEBUG_MSG(("SlideElement::element[KEY1Parser.cpp]: unknown element\n"));
@@ -1693,7 +1693,7 @@
 {
   switch (name)
   {
-  case KEY1Token::slide | KEY1Token::NS_URI_KEY :
+  case +KEY1Token::slide | KEY1Token::NS_URI_KEY :
     return std::make_shared<SlideElement>(getState(), false);
   default :
     ETONYEK_DEBUG_MSG(("SlideListElement::element[KEY1Parser.cpp]: unexpected element\n"));
@@ -1740,7 +1740,7 @@
 {
   switch (name)
   {
-  case KEY1Token::master_slide | KEY1Token::NS_URI_KEY :
+  case +KEY1Token::master_slide | KEY1Token::NS_URI_KEY :
     return std::make_shared<SlideElement>(getState(), true);
   default :
     ETONYEK_DEBUG_MSG(("MasterSlidesElement::element[KEY1Parser.cpp]: unexpected element\n"));
@@ -1799,13 +1799,13 @@
 {
   switch (name)
   {
-  case KEY1Token::description | KEY1Token::NS_URI_KEY :
+  case +KEY1Token::description | KEY1Token::NS_URI_KEY :
     return std::make_shared<CDATAElement>(getState(), m_description);
-  case KEY1Token::prototype_drawables | KEY1Token::NS_URI_KEY :
+  case +KEY1Token::prototype_drawables | KEY1Token::NS_URI_KEY :
     return std::make_shared<DrawablesElement>(getState(), true);
-  case KEY1Token::prototype_plugins | KEY1Token::NS_URI_KEY :
+  case +KEY1Token::prototype_plugins | KEY1Token::NS_URI_KEY :
     return std::make_shared<PluginsElement>(getState(), true);
-  case KEY1Token::master_slides | KEY1Token::NS_URI_KEY :
+  case +KEY1Token::master_slides | KEY1Token::NS_URI_KEY :
     return std::make_shared<MasterSlidesElement>(getState());
   default :
     ETONYEK_DEBUG_MSG(("ThemeElement::element[KEY1Parser.cpp]: unexpected element\n"));
@@ -1862,13 +1862,13 @@
 {
   switch (name)
   {
-  case KEY1Token::metadata | KEY1Token::NS_URI_KEY :
+  case +KEY1Token::metadata | KEY1Token::NS_URI_KEY :
     return std::make_shared<MetadataElement>(getState());
-  case KEY1Token::theme | KEY1Token::NS_URI_KEY :
+  case +KEY1Token::theme | KEY1Token::NS_URI_KEY :
     return std::make_shared<ThemeElement>(getState());
-  case KEY1Token::slide_list | KEY1Token::NS_URI_KEY :
+  case +KEY1Token::slide_list | KEY1Token::NS_URI_KEY :
     return std::make_shared<SlideListElement>(getState());
-  case KEY1Token::ui_state | KEY1Token::NS_URI_KEY : // safe to ignore
+  case +KEY1Token::ui_state | KEY1Token::NS_URI_KEY : // safe to ignore
     break;
   default :
     ETONYEK_DEBUG_MSG(("PresentationElement::element[KEY1Parser.cpp]: unexpected element\n"));
@@ -1910,7 +1910,7 @@
 {
   switch (name)
   {
-  case KEY1Token::presentation | KEY1Token::NS_URI_KEY :
+  case +KEY1Token::presentation | KEY1Token::NS_URI_KEY :
     return std::make_shared<PresentationElement>(m_state);
   default:
     ETONYEK_DEBUG_MSG(("XMLDocument::element[KEY1Parser.cpp]: unexpected element\n"));
--- src/lib/KEY2Parser.cpp
+++ src/lib/KEY2Parser.cpp
@@ -102,7 +102,7 @@
 
 IWORKXMLContextPtr_t StringContentContext::element(const int name)
 {
-  if (name == (KEY2Token::NS_URI_KEY | KEY2Token::string))
+  if (name == (+KEY2Token::NS_URI_KEY | KEY2Token::string))
     return std::make_shared<IWORKStringElement>(getState(), m_value);
   return IWORKXMLContextPtr_t();
 }
@@ -141,13 +141,13 @@
 {
   switch (name)
   {
-  case KEY2Token::NS_URI_KEY | KEY2Token::authors :
+  case +KEY2Token::NS_URI_KEY | KEY2Token::authors :
     return std::make_shared<StringContentContext>(getState(), m_author);
-  case KEY2Token::NS_URI_KEY | KEY2Token::comment :
+  case +KEY2Token::NS_URI_KEY | KEY2Token::comment :
     return std::make_shared<StringContentContext>(getState(), m_comment);
-  case KEY2Token::NS_URI_KEY | KEY2Token::keywords :
+  case +KEY2Token::NS_URI_KEY | KEY2Token::keywords :
     return std::make_shared<StringContentContext>(getState(), m_keywords);
-  case KEY2Token::NS_URI_KEY | KEY2Token::title :
+  case +KEY2Token::NS_URI_KEY | KEY2Token::title :
     return std::make_shared<StringContentContext>(getState(), m_title);
   default:
     break;
@@ -196,10 +196,10 @@
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SF | IWORKToken::placeholder_style :
+  case +IWORKToken::NS_URI_SF | IWORKToken::placeholder_style :
     return std::make_shared<IWORKStyleContext>(getState(), &getState().getDictionary().m_placeholderStyles);
-  case KEY2Token::NS_URI_KEY | KEY2Token::slide_style : // v5
-  case IWORKToken::NS_URI_SF | IWORKToken::slide_style : // v2-v4
+  case +KEY2Token::NS_URI_KEY | KEY2Token::slide_style : // v5
+  case +IWORKToken::NS_URI_SF | IWORKToken::slide_style : // v2-v4
     return std::make_shared<KEY2StyleContext>(getState(), &getState().getDictionary().m_slideStyles);
   default:
     break;
@@ -236,11 +236,11 @@
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SF | IWORKToken::styles :
+  case +IWORKToken::NS_URI_SF | IWORKToken::styles :
     return std::make_shared<StylesContext>(getState(), false);
-  case IWORKToken::NS_URI_SF | IWORKToken::anon_styles :
+  case +IWORKToken::NS_URI_SF | IWORKToken::anon_styles :
     return std::make_shared<StylesContext>(getState(), true);
-  case IWORKToken::NS_URI_SF | IWORKToken::parent_ref :
+  case +IWORKToken::NS_URI_SF | IWORKToken::parent_ref :
     return std::make_shared<IWORKRefContext>(getState(), m_parent);
   default:
     break;
@@ -291,7 +291,7 @@
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SF | IWORKToken::layer_ref :
+  case +IWORKToken::NS_URI_SF | IWORKToken::layer_ref :
     return std::make_shared<IWORKRefContext>(getState(), m_ref);
   default:
     break;
@@ -362,7 +362,7 @@
 
 namespace
 {
-typedef IWORKStyleContainer<IWORKToken::NS_URI_SF | IWORKToken::connection_style, IWORKToken::NS_URI_SF | IWORKToken::connection_style_ref> ConnectionStyleContext;
+typedef IWORKStyleContainer<+IWORKToken::NS_URI_SF | IWORKToken::connection_style, +IWORKToken::NS_URI_SF | IWORKToken::connection_style_ref> ConnectionStyleContext;
 
 class ConnectionLineElement : public KEY2XMLElementContextBase
 {
@@ -388,11 +388,11 @@
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SF | IWORKToken::geometry :
+  case +IWORKToken::NS_URI_SF | IWORKToken::geometry :
     return std::make_shared<IWORKGeometryElement>(getState());
-  case IWORKToken::NS_URI_SF | IWORKToken::path :
+  case +IWORKToken::NS_URI_SF | IWORKToken::path :
     return std::make_shared<IWORKPathElement>(getState());
-  case IWORKToken::NS_URI_SF | IWORKToken::style :
+  case +IWORKToken::NS_URI_SF | IWORKToken::style :
     return std::make_shared<ConnectionStyleContext>(getState(), m_style, getState().getDictionary().m_graphicStyles);
   default:
     break;
@@ -453,10 +453,10 @@
 {
   switch (name)
   {
-  case KEY2Token::NS_URI_KEY | KEY2Token::depth :
+  case +KEY2Token::NS_URI_KEY | KEY2Token::depth :
     m_depth=try_int_cast(value);
     break;
-  case IWORKToken::NS_URI_SFA | IWORKToken::ID :
+  case +IWORKToken::NS_URI_SFA | IWORKToken::ID :
     KEY2XMLElementContextBase::attribute(name, value);
     break;
   default:
@@ -476,9 +476,9 @@
   ensureOpened();
   switch (name)
   {
-  case KEY2Token::NS_URI_KEY | KEY2Token::style_ref :
+  case +KEY2Token::NS_URI_KEY | KEY2Token::style_ref :
     return std::make_shared<IWORKRefContext>(getState(), m_styleRef);
-  case KEY2Token::NS_URI_KEY | KEY2Token::text :
+  case +KEY2Token::NS_URI_KEY | KEY2Token::text :
     return std::make_shared<IWORKTextElement>(getState());
   default:
     ETONYEK_DEBUG_MSG(("HeadlineElement::element[KEY2Parser.cpp]: unknown element\n"));
@@ -512,7 +512,7 @@
 
 namespace
 {
-typedef IWORKStyleContainer<IWORKToken::NS_URI_SF | IWORKToken::graphic_style, IWORKToken::NS_URI_SF | IWORKToken::graphic_style_ref> GraphicStyleContext;
+typedef IWORKStyleContainer<+IWORKToken::NS_URI_SF | IWORKToken::graphic_style, +IWORKToken::NS_URI_SF | IWORKToken::graphic_style_ref> GraphicStyleContext;
 }
 
 namespace
@@ -551,15 +551,15 @@
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SF | IWORKToken::geometry :
+  case +IWORKToken::NS_URI_SF | IWORKToken::geometry :
     return std::make_shared<IWORKGeometryElement>(getState());
-  case IWORKToken::NS_URI_SF | IWORKToken::path : // use me
+  case +IWORKToken::NS_URI_SF | IWORKToken::path : // use me
     return std::make_shared<IWORKPathElement>(getState());
-  case IWORKToken::NS_URI_SF | IWORKToken::style : // use me
+  case +IWORKToken::NS_URI_SF | IWORKToken::style : // use me
     return std::make_shared<GraphicStyleContext>(getState(), m_graphicStyle, getState().getDictionary().m_graphicStyles);
-  case IWORKToken::NS_URI_SF | IWORKToken::text :
+  case +IWORKToken::NS_URI_SF | IWORKToken::text :
     return std::make_shared<IWORKTextElement>(getState());
-  case IWORKToken::NS_URI_SF | IWORKToken::wrap : // README
+  case +IWORKToken::NS_URI_SF | IWORKToken::wrap : // README
     return IWORKXMLContextPtr_t();
   default:
     ETONYEK_DEBUG_MSG(("StickyNoteElement::element[KEY2Parser.cpp]: unknown element\n"));
@@ -618,7 +618,7 @@
 {
   switch (name)
   {
-  case KEY2Token::NS_URI_KEY | KEY2Token::headline :
+  case +KEY2Token::NS_URI_KEY | KEY2Token::headline :
     return std::make_shared<HeadlineElement>(getState());
   default:
     break;
@@ -672,31 +672,31 @@
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SF | IWORKToken::body_placeholder_ref :
-  case KEY2Token::NS_URI_KEY | KEY2Token::body_placeholder_ref :
+  case +IWORKToken::NS_URI_SF | IWORKToken::body_placeholder_ref :
+  case +KEY2Token::NS_URI_KEY | KEY2Token::body_placeholder_ref :
     return std::make_shared<PlaceholderRefContext>(getState(), PLACEHOLDER_BODY);
-  case IWORKToken::NS_URI_SF | IWORKToken::connection_line :
+  case +IWORKToken::NS_URI_SF | IWORKToken::connection_line :
     return std::make_shared<ConnectionLineElement>(getState());
-  case IWORKToken::NS_URI_SF | IWORKToken::group :
+  case +IWORKToken::NS_URI_SF | IWORKToken::group :
     return std::make_shared<IWORKGroupElement>(getState());
-  case IWORKToken::NS_URI_SF | IWORKToken::image :
+  case +IWORKToken::NS_URI_SF | IWORKToken::image :
     return std::make_shared<IWORKImageElement>(getState());
-  case IWORKToken::NS_URI_SF | IWORKToken::line :
+  case +IWORKToken::NS_URI_SF | IWORKToken::line :
     return std::make_shared<IWORKLineElement>(getState());
-  case IWORKToken::NS_URI_SF | IWORKToken::media :
+  case +IWORKToken::NS_URI_SF | IWORKToken::media :
     return std::make_shared<IWORKMediaElement>(getState());
-  case IWORKToken::NS_URI_SF | IWORKToken::shape :
+  case +IWORKToken::NS_URI_SF | IWORKToken::shape :
     return std::make_shared<IWORKShapeContext>(getState());
-  case IWORKToken::NS_URI_SF | IWORKToken::sticky_note :
+  case +IWORKToken::NS_URI_SF | IWORKToken::sticky_note :
     return std::make_shared<StickyNoteElement>(getState());
-  case IWORKToken::NS_URI_SF | IWORKToken::table_info :
+  case +IWORKToken::NS_URI_SF | IWORKToken::table_info :
     return std::make_shared<IWORKTableInfoElement>(getState());
-  case IWORKToken::NS_URI_SF | IWORKToken::tabular_info :
+  case +IWORKToken::NS_URI_SF | IWORKToken::tabular_info :
     return std::make_shared<IWORKTabularInfoElement>(getState());
-  case IWORKToken::NS_URI_SF | IWORKToken::title_placeholder_ref :
-  case KEY2Token::NS_URI_KEY | KEY2Token::title_placeholder_ref :
+  case +IWORKToken::NS_URI_SF | IWORKToken::title_placeholder_ref :
+  case +KEY2Token::NS_URI_KEY | KEY2Token::title_placeholder_ref :
     return std::make_shared<PlaceholderRefContext>(getState(), PLACEHOLDER_TITLE);
-  case KEY2Token::NS_URI_KEY | KEY2Token::sticky_note :
+  case +KEY2Token::NS_URI_KEY | KEY2Token::sticky_note :
     return std::make_shared<StickyNoteElement>(getState());
   default:
     break;
@@ -742,7 +742,7 @@
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SF | IWORKToken::drawables :
+  case +IWORKToken::NS_URI_SF | IWORKToken::drawables :
     return std::make_shared<DrawablesElement>(getState());
   default:
     break;
@@ -789,9 +789,9 @@
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SF | IWORKToken::layer :
+  case +IWORKToken::NS_URI_SF | IWORKToken::layer :
     return std::make_shared<LayerElement>(getState());
-  case IWORKToken::NS_URI_SF | IWORKToken::proxy_master_layer :
+  case +IWORKToken::NS_URI_SF | IWORKToken::proxy_master_layer :
     return std::make_shared<ProxyMasterLayerElement>(getState());
   default:
     break;
@@ -829,9 +829,9 @@
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SF | IWORKToken::size :
+  case +IWORKToken::NS_URI_SF | IWORKToken::size :
     return std::make_shared<IWORKSizeElement>(getState(), m_size);
-  case IWORKToken::NS_URI_SF | IWORKToken::layers :
+  case +IWORKToken::NS_URI_SF | IWORKToken::layers :
     return std::make_shared<LayersElement>(getState());
   default:
     break;
@@ -869,7 +869,7 @@
 
 IWORKXMLContextPtr_t StyleElement::element(const int name)
 {
-  if ((IWORKToken::NS_URI_SF | IWORKToken::placeholder_style_ref) == name)
+  if ((+IWORKToken::NS_URI_SF | IWORKToken::placeholder_style_ref) == name)
     return std::make_shared<IWORKRefContext>(getState(), m_ref);
 
   return IWORKXMLContextPtr_t();
@@ -918,12 +918,12 @@
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SF | IWORKToken::geometry :
+  case +IWORKToken::NS_URI_SF | IWORKToken::geometry :
     // ignore; the real geometry comes from style
     break;
-  case IWORKToken::NS_URI_SF | IWORKToken::style :
+  case +IWORKToken::NS_URI_SF | IWORKToken::style :
     return std::make_shared<StyleElement>(getState(), m_styleRef);
-  case KEY2Token::NS_URI_KEY | KEY2Token::text :
+  case +KEY2Token::NS_URI_KEY | KEY2Token::text :
     return std::make_shared<IWORKTextElement>(getState());
   default:
     break;
@@ -993,7 +993,7 @@
 {
   switch (name)
   {
-  case IWORKToken::text_storage | IWORKToken::NS_URI_SF :
+  case +IWORKToken::text_storage | IWORKToken::NS_URI_SF :
     return std::make_shared<IWORKTextStorageElement>(getState());
   default:
     break;
@@ -1035,7 +1035,7 @@
 {
   switch (name)
   {
-  case KEY2Token::NS_URI_KEY | KEY2Token::sticky_note :
+  case +KEY2Token::NS_URI_KEY | KEY2Token::sticky_note :
     return std::make_shared<StickyNoteElement>(getState());
   default:
     break;
@@ -1096,12 +1096,12 @@
 {
   switch (name)
   {
-  case KEY2Token::NS_URI_KEY | KEY2Token::name :
+  case +KEY2Token::NS_URI_KEY | KEY2Token::name :
     m_name=value;
     break;
-  case KEY2Token::NS_URI_KEY | KEY2Token::depth :
+  case +KEY2Token::NS_URI_KEY | KEY2Token::depth :
     break;
-  case IWORKToken::NS_URI_SFA | IWORKToken::ID :
+  case +IWORKToken::NS_URI_SFA | IWORKToken::ID :
     KEY2XMLElementContextBase::attribute(name, value);
     break;
   default:
@@ -1120,27 +1120,27 @@
 {
   switch (name)
   {
-  case KEY2Token::NS_URI_KEY | KEY2Token::bullets :
+  case +KEY2Token::NS_URI_KEY | KEY2Token::bullets :
     return std::make_shared<BulletsElement>(getState(), m_bodyText, m_titleText);
-  case KEY2Token::NS_URI_KEY | KEY2Token::notes :
+  case +KEY2Token::NS_URI_KEY | KEY2Token::notes :
     return std::make_shared<NotesElement>(getState());
-  case KEY2Token::NS_URI_KEY | KEY2Token::page :
+  case +KEY2Token::NS_URI_KEY | KEY2Token::page :
     return std::make_shared<PageElement>(getState());
-  case KEY2Token::NS_URI_KEY | KEY2Token::master_ref :
+  case +KEY2Token::NS_URI_KEY | KEY2Token::master_ref :
     return std::make_shared<IWORKRefContext>(getState(), m_masterRef);
-  case KEY2Token::NS_URI_KEY | KEY2Token::sticky_notes :
+  case +KEY2Token::NS_URI_KEY | KEY2Token::sticky_notes :
     return std::make_shared<StickyNotesElement>(getState());
-  case KEY2Token::NS_URI_KEY | KEY2Token::style_ref :
+  case +KEY2Token::NS_URI_KEY | KEY2Token::style_ref :
     return std::make_shared<IWORKRefContext>(getState(), m_styleRef);
-  case KEY2Token::NS_URI_KEY | KEY2Token::stylesheet :
+  case +KEY2Token::NS_URI_KEY | KEY2Token::stylesheet :
     return std::make_shared<StylesheetElement>(getState());
-  case KEY2Token::NS_URI_KEY | KEY2Token::body_placeholder :
+  case +KEY2Token::NS_URI_KEY | KEY2Token::body_placeholder :
     return std::make_shared<PlaceholderContext>(getState(), PLACEHOLDER_BODY, m_bodyRef);
-  case KEY2Token::NS_URI_KEY | KEY2Token::object_placeholder :
+  case +KEY2Token::NS_URI_KEY | KEY2Token::object_placeholder :
     return std::make_shared<PlaceholderContext>(getState(), PLACEHOLDER_OBJECT, m_objectRef);
-  case KEY2Token::NS_URI_KEY | KEY2Token::slide_number_placeholder :
+  case +KEY2Token::NS_URI_KEY | KEY2Token::slide_number_placeholder :
     return std::make_shared<PlaceholderContext>(getState(), PLACEHOLDER_SLIDENUMBER, m_slidenumberRef);
-  case KEY2Token::NS_URI_KEY | KEY2Token::title_placeholder :
+  case +KEY2Token::NS_URI_KEY | KEY2Token::title_placeholder :
     return std::make_shared<PlaceholderContext>(getState(), PLACEHOLDER_TITLE, m_titleRef);
   default:
     break;
@@ -1268,7 +1268,7 @@
 {
   switch (name)
   {
-  case KEY2Token::NS_URI_KEY | KEY2Token::slide :
+  case +KEY2Token::NS_URI_KEY | KEY2Token::slide :
     return std::make_shared<SlideElement>(getState(), false);
   default:
     break;
@@ -1314,7 +1314,7 @@
 {
   switch (name)
   {
-  case KEY2Token::NS_URI_KEY | KEY2Token::master_slide :
+  case +KEY2Token::NS_URI_KEY | KEY2Token::master_slide :
     return std::make_shared<SlideElement>(getState(), true);
   default:
     break;
@@ -1356,11 +1356,11 @@
 {
   switch (name)
   {
-  case KEY2Token::NS_URI_KEY | IWORKToken::size :
+  case +KEY2Token::NS_URI_KEY | IWORKToken::size :
     return std::make_shared<IWORKSizeElement>(getState(), m_size);
-  case KEY2Token::NS_URI_KEY | KEY2Token::stylesheet :
+  case +KEY2Token::NS_URI_KEY | KEY2Token::stylesheet :
     return std::make_shared<StylesheetElement>(getState());
-  case KEY2Token::NS_URI_KEY | KEY2Token::master_slides :
+  case +KEY2Token::NS_URI_KEY | KEY2Token::master_slides :
     return std::make_shared<MasterSlidesElement>(getState());
   default:
     break;
@@ -1400,7 +1400,7 @@
 {
   switch (name)
   {
-  case KEY2Token::NS_URI_KEY | KEY2Token::theme :
+  case +KEY2Token::NS_URI_KEY | KEY2Token::theme :
     return std::make_shared<ThemeElement>(getState());
   default:
     break;
@@ -1453,7 +1453,7 @@
 {
   switch (name)
   {
-  case KEY2Token::NS_URI_KEY | KEY2Token::version :
+  case +KEY2Token::NS_URI_KEY | KEY2Token::version :
   {
     const unsigned version = getVersion(getToken(value));
     if (0 == version)
@@ -1481,13 +1481,13 @@
 
   switch (name)
   {
-  case KEY2Token::NS_URI_KEY | KEY2Token::metadata :
+  case +KEY2Token::NS_URI_KEY | KEY2Token::metadata :
     return std::make_shared<MetadataElement>(getState());
-  case KEY2Token::NS_URI_KEY | KEY2Token::theme_list :
+  case +KEY2Token::NS_URI_KEY | KEY2Token::theme_list :
     return std::make_shared<ThemeListElement>(getState());
-  case KEY2Token::NS_URI_KEY | KEY2Token::slide_list :
+  case +KEY2Token::NS_URI_KEY | KEY2Token::slide_list :
     return std::make_shared<SlideListElement>(getState());
-  case KEY2Token::NS_URI_KEY | KEY2Token::size :
+  case +KEY2Token::NS_URI_KEY | KEY2Token::size :
     m_pendingSize = true;
     return std::make_shared<IWORKSizeElement>(getState(), m_size);
   default:
@@ -1529,7 +1529,7 @@
 {
   switch (name)
   {
-  case KEY2Token::NS_URI_KEY | KEY2Token::presentation :
+  case +KEY2Token::NS_URI_KEY | KEY2Token::presentation :
     return std::make_shared<PresentationElement>(m_state);
   default:
     break;
@@ -1574,12 +1574,12 @@
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SF | IWORKToken::placeholder_style :
+  case +IWORKToken::NS_URI_SF | IWORKToken::placeholder_style :
     return std::make_shared<IWORKStyleContext>(getState(), &getState().getDictionary().m_placeholderStyles);
-  case KEY2Token::NS_URI_KEY | KEY2Token::slide_style : // v5
-  case IWORKToken::NS_URI_SF | IWORKToken::slide_style : // v2-v4
+  case +KEY2Token::NS_URI_KEY | KEY2Token::slide_style : // v5
+  case +IWORKToken::NS_URI_SF | IWORKToken::slide_style : // v2-v4
     return std::make_shared<KEY2StyleContext>(getState(), &getState().getDictionary().m_slideStyles);
-  case KEY2Token::NS_URI_KEY | KEY2Token::stylesheet :
+  case +KEY2Token::NS_URI_KEY | KEY2Token::stylesheet :
     if (!m_savedStylesheet)
     {
       // this can only happen in a broken document
--- src/lib/NUM1Parser.cpp
+++ src/lib/NUM1Parser.cpp
@@ -86,21 +86,21 @@
   }
 }
 
-typedef IWORKStyleContainer<IWORKToken::NS_URI_SF | IWORKToken::graphic_style, IWORKToken::NS_URI_SF | IWORKToken::graphic_style_ref> GraphicStyleContext;
+typedef IWORKStyleContainer<+IWORKToken::NS_URI_SF | IWORKToken::graphic_style, +IWORKToken::NS_URI_SF | IWORKToken::graphic_style_ref> GraphicStyleContext;
 
 IWORKXMLContextPtr_t StickyNoteElement::element(const int name)
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SF | IWORKToken::geometry :
+  case +IWORKToken::NS_URI_SF | IWORKToken::geometry :
     return std::make_shared<IWORKGeometryElement>(getState());
-  case IWORKToken::NS_URI_SF | IWORKToken::path : // use me
+  case +IWORKToken::NS_URI_SF | IWORKToken::path : // use me
     return std::make_shared<IWORKPathElement>(getState());
-  case IWORKToken::NS_URI_SF | IWORKToken::style : // use me
+  case +IWORKToken::NS_URI_SF | IWORKToken::style : // use me
     return std::make_shared<GraphicStyleContext>(getState(), m_graphicStyle, getState().getDictionary().m_graphicStyles);
-  case IWORKToken::NS_URI_SF | IWORKToken::text :
+  case +IWORKToken::NS_URI_SF | IWORKToken::text :
     return std::make_shared<IWORKTextElement>(getState());
-  case IWORKToken::NS_URI_SF | IWORKToken::wrap : // README
+  case +IWORKToken::NS_URI_SF | IWORKToken::wrap : // README
     return IWORKXMLContextPtr_t();
   default:
     ETONYEK_DEBUG_MSG(("StickyNoteElement::element[NUM1Parser.cpp]: unknown element\n"));
@@ -158,25 +158,25 @@
   {
   // case IWORKToken::NS_URI_SF | IWORKToken::body_placeholder_ref :
   //   return std::make_shared<PlaceholderRefContext>(getState(), false);
-  case IWORKToken::NS_URI_SF | IWORKToken::cell_comment_drawable_info:
+  case +IWORKToken::NS_URI_SF | IWORKToken::cell_comment_drawable_info:
     return std::make_shared<IWORKCellCommentDrawableInfoElement>(getState());
-  case IWORKToken::NS_URI_SF | IWORKToken::chart_info :
+  case +IWORKToken::NS_URI_SF | IWORKToken::chart_info :
     return std::make_shared<IWORKChartInfoElement>(getState());
   // case IWORKToken::NS_URI_SF | IWORKToken::connection_line :
   //   return std::make_shared<ConnectionLineElement>(getState());
-  case IWORKToken::NS_URI_SF | IWORKToken::group :
+  case +IWORKToken::NS_URI_SF | IWORKToken::group :
     return std::make_shared<IWORKGroupElement>(getState());
-  case IWORKToken::NS_URI_SF | IWORKToken::image :
+  case +IWORKToken::NS_URI_SF | IWORKToken::image :
     return std::make_shared<IWORKImageElement>(getState());
   // case IWORKToken::NS_URI_SF | IWORKToken::line :
   //   return std::make_shared<LineElement>(getState());
-  case IWORKToken::NS_URI_SF | IWORKToken::media :
+  case +IWORKToken::NS_URI_SF | IWORKToken::media :
     return std::make_shared<IWORKMediaElement>(getState());
-  case IWORKToken::NS_URI_SF | IWORKToken::shape :
+  case +IWORKToken::NS_URI_SF | IWORKToken::shape :
     return std::make_shared<IWORKShapeContext>(getState());
-  case IWORKToken::NS_URI_SF | IWORKToken::sticky_note :
+  case +IWORKToken::NS_URI_SF | IWORKToken::sticky_note :
     return std::make_shared<StickyNoteElement>(getState());
-  case IWORKToken::NS_URI_SF | IWORKToken::tabular_info :
+  case +IWORKToken::NS_URI_SF | IWORKToken::tabular_info :
     return std::make_shared<IWORKTabularInfoElement>(getState());
   // case IWORKToken::NS_URI_SF | IWORKToken::title_placeholder_ref :
   //   return std::make_shared<PlaceholderRefContext>(getState(), true);
@@ -216,7 +216,7 @@
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SF | IWORKToken::drawables :
+  case +IWORKToken::NS_URI_SF | IWORKToken::drawables :
     return std::make_shared<DrawablesElement>(getState());
   default:
     break;
@@ -248,7 +248,7 @@
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SF | IWORKToken::layer :
+  case +IWORKToken::NS_URI_SF | IWORKToken::layer :
     return std::make_shared<LayerElement>(getState());
   default:
     break;
@@ -281,7 +281,7 @@
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SF | IWORKToken::layers :
+  case +IWORKToken::NS_URI_SF | IWORKToken::layers :
     return std::make_shared<LayersElement>(getState());
   default:
     break;
@@ -317,8 +317,8 @@
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SF | IWORKToken::workspace_style :
-  case NUM1Token::NS_URI_LS | NUM1Token::workspace_style :
+  case +IWORKToken::NS_URI_SF | IWORKToken::workspace_style :
+  case +NUM1Token::NS_URI_LS | NUM1Token::workspace_style :
     return std::make_shared<IWORKStyleContext>(getState(), &getState().getDictionary().m_workspaceStyles);
   default:
     break;
@@ -348,9 +348,9 @@
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SF | IWORKToken::styles :
+  case +IWORKToken::NS_URI_SF | IWORKToken::styles :
     return std::make_shared<StylesContext>(getState(), false);
-  case IWORKToken::NS_URI_SF | IWORKToken::anon_styles :
+  case +IWORKToken::NS_URI_SF | IWORKToken::anon_styles :
     return std::make_shared<StylesContext>(getState(), true);
   default:
     break;
@@ -387,7 +387,7 @@
 {
   switch (name)
   {
-  case NUM1Token::NS_URI_LS | NUM1Token::workspace_name:
+  case +NUM1Token::NS_URI_LS | NUM1Token::workspace_name:
     m_spaceName = value;
     break;
   default:
@@ -405,7 +405,7 @@
   }
   switch (name)
   {
-  case NUM1Token::NS_URI_LS | NUM1Token::page_info:
+  case +NUM1Token::NS_URI_LS | NUM1Token::page_info:
     return std::make_shared<PageInfoElement>(getState());
   default:
     break;
@@ -443,7 +443,7 @@
 {
   switch (name)
   {
-  case NUM1Token::NS_URI_LS | NUM1Token::workspace:
+  case +NUM1Token::NS_URI_LS | NUM1Token::workspace:
     return std::make_shared<WorkSpaceElement>(getState());
   default:
     break;
@@ -484,7 +484,7 @@
 {
   switch (name)
   {
-  case NUM1Token::NS_URI_LS | NUM1Token::version :
+  case +NUM1Token::NS_URI_LS | NUM1Token::version :
   {
     const unsigned version = getVersion(getToken(value));
     if (0 == version)
@@ -502,11 +502,11 @@
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SF | IWORKToken::metadata :
+  case +IWORKToken::NS_URI_SF | IWORKToken::metadata :
     return std::make_shared<IWORKMetadataElement>(getState());
-  case NUM1Token::NS_URI_LS | NUM1Token::stylesheet :
+  case +NUM1Token::NS_URI_LS | NUM1Token::stylesheet :
     return std::make_shared<StylesheetElement>(getState());
-  case NUM1Token::NS_URI_LS | NUM1Token::workspace_array :
+  case +NUM1Token::NS_URI_LS | NUM1Token::workspace_array :
     return std::make_shared<WorkSpaceArrayElement>(getState());
   default:
     break;
@@ -544,7 +544,7 @@
 {
   switch (name)
   {
-  case NUM1Token::NS_URI_LS | NUM1Token::document :
+  case +NUM1Token::NS_URI_LS | NUM1Token::document :
     return std::make_shared<DocumentElement>(m_state);
   default:
     break;
@@ -576,9 +576,9 @@
 {
   switch (name)
   {
-  case NUM1Token::NS_URI_LS | NUM1Token::stylesheet :
+  case +NUM1Token::NS_URI_LS | NUM1Token::stylesheet :
     return std::make_shared<StylesheetElement>(getState());
-  case NUM1Token::NS_URI_LS | NUM1Token::workspace_style :
+  case +NUM1Token::NS_URI_LS | NUM1Token::workspace_style :
     return std::make_shared<IWORKStyleContext>(getState(), &getState().getDictionary().m_workspaceStyles);
   default:
     break;
--- src/lib/PAG1Parser.cpp
+++ src/lib/PAG1Parser.cpp
@@ -90,7 +90,7 @@
 
 IWORKXMLContextPtr_t AnnotationsElement::element(const int name)
 {
-  if (name == (IWORKToken::NS_URI_SF | IWORKToken::annotation))
+  if (name == (+IWORKToken::NS_URI_SF | IWORKToken::annotation))
     return std::make_shared<PAG1AnnotationContext>(getState(),
                                                    std::bind(&PAGCollector::collectAnnotation, std::ref(getCollector()), _1));
   return IWORKXMLContextPtr_t();
@@ -114,7 +114,7 @@
 
 IWORKXMLContextPtr_t FootersElement::element(const int name)
 {
-  if (name == (IWORKToken::NS_URI_SF | IWORKToken::footer))
+  if (name == (+IWORKToken::NS_URI_SF | IWORKToken::footer))
     return std::make_shared<IWORKHeaderFooterContext>(getState(),
                                                       std::bind(&IWORKCollector::collectFooter, std::ref(getCollector()), _1));
   return IWORKXMLContextPtr_t();
@@ -142,10 +142,10 @@
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SF | IWORKToken::drawable_shape :
+  case +IWORKToken::NS_URI_SF | IWORKToken::drawable_shape :
     PAG1XMLContextBase<IWORKGroupElement>::ensureClosed();
     return std::make_shared<PAG1ShapeContext>(getState());
-  case IWORKToken::NS_URI_SF | IWORKToken::group :
+  case +IWORKToken::NS_URI_SF | IWORKToken::group :
     PAG1XMLContextBase<IWORKGroupElement>::ensureClosed();
     return std::make_shared<GroupElement>(getState());
   default:
@@ -176,7 +176,7 @@
 
 IWORKXMLContextPtr_t HeadersElement::element(const int name)
 {
-  if (name == (IWORKToken::NS_URI_SF | IWORKToken::header))
+  if (name == (+IWORKToken::NS_URI_SF | IWORKToken::header))
     return std::make_shared<IWORKHeaderFooterContext>(getState(),
                                                       std::bind(&IWORKCollector::collectHeader, std::ref(getCollector()), _1));
   return IWORKXMLContextPtr_t();
@@ -205,11 +205,11 @@
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SF | IWORKToken::sectionstyle :
+  case +IWORKToken::NS_URI_SF | IWORKToken::sectionstyle :
     // TODO: setting of the default parent would also be a good candidate for leaveElement(),
     // if we ever add this, as it seems to be limited to a few style types.
     return std::make_shared<PAG1StyleContext>(getState(), &getState().getDictionary().m_sectionStyles, "section-style-default");
-  case IWORKToken::NS_URI_SF | IWORKToken::sectionstyle_ref :
+  case +IWORKToken::NS_URI_SF | IWORKToken::sectionstyle_ref :
     return std::make_shared<IWORKStyleRefContext>(getState(), getState().getDictionary().m_sectionStyles);
   default:
     break;
@@ -241,9 +241,9 @@
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SF | IWORKToken::anon_styles :
+  case +IWORKToken::NS_URI_SF | IWORKToken::anon_styles :
     return std::make_shared<StylesContext>(getState(), true);
-  case IWORKToken::NS_URI_SF | IWORKToken::styles :
+  case +IWORKToken::NS_URI_SF | IWORKToken::styles :
     return std::make_shared<StylesContext>(getState(), false);
   default:
     break;
@@ -273,7 +273,7 @@
 
 IWORKXMLContextPtr_t PrototypeElement::element(const int name)
 {
-  if (name == (IWORKToken::NS_URI_SF | IWORKToken::stylesheet))
+  if (name == (+IWORKToken::NS_URI_SF | IWORKToken::stylesheet))
     return std::make_shared<StylesheetElement>(getState());
   return IWORKXMLContextPtr_t();
 }
@@ -299,7 +299,7 @@
 
 IWORKXMLContextPtr_t SectionPrototypesElement::element(const int name)
 {
-  if (name == (PAG1Token::NS_URI_SL | PAG1Token::prototype))
+  if (name == (+PAG1Token::NS_URI_SL | PAG1Token::prototype))
     return std::make_shared<PrototypeElement>(getState());
   return IWORKXMLContextPtr_t();
 }
@@ -329,7 +329,7 @@
 
 void DateElement::attribute(const int name, const char *const value)
 {
-  if (name == (IWORKToken::NS_URI_SF | IWORKToken::val))
+  if (name == (+IWORKToken::NS_URI_SF | IWORKToken::val))
     m_value = value;
 }
 
@@ -358,7 +358,7 @@
 
 IWORKXMLContextPtr_t SLCreationDatePropertyElement::element(const int name)
 {
-  if (name == (PAG1Token::NS_URI_SL | PAG1Token::SLCreationDateProperty))
+  if (name == (+PAG1Token::NS_URI_SL | PAG1Token::SLCreationDateProperty))
     return std::make_shared<DateElement>(getState(), m_value);
   return IWORKXMLContextPtr_t();
 }
@@ -424,8 +424,8 @@
 namespace
 {
 
-typedef DocumentPropertyContext<double, IWORKNumberElement<double>, PAG1Token::NS_URI_SL | PAG1Token::number> KSFWPFootnoteGapPropertyElement;
-typedef DocumentPropertyContext<PAGFootnoteKind, IWORKNumberElement<PAGFootnoteKind>, PAG1Token::NS_URI_SL | PAG1Token::number> KSFWPFootnoteKindPropertyElement;
+typedef DocumentPropertyContext<double, IWORKNumberElement<double>, +PAG1Token::NS_URI_SL | PAG1Token::number> KSFWPFootnoteGapPropertyElement;
+typedef DocumentPropertyContext<PAGFootnoteKind, IWORKNumberElement<PAGFootnoteKind>, +PAG1Token::NS_URI_SL | PAG1Token::number> KSFWPFootnoteKindPropertyElement;
 
 }
 
@@ -457,11 +457,11 @@
 {
   switch (name)
   {
-  case PAG1Token::NS_URI_SL | PAG1Token::kSFWPFootnoteGapProperty :
+  case +PAG1Token::NS_URI_SL | PAG1Token::kSFWPFootnoteGapProperty :
     return std::make_shared<KSFWPFootnoteGapPropertyElement>(getState(), m_pubInfo.m_footnoteGap);
-  case PAG1Token::NS_URI_SL | PAG1Token::kSFWPFootnoteKindProperty :
+  case +PAG1Token::NS_URI_SL | PAG1Token::kSFWPFootnoteKindProperty :
     return std::make_shared<KSFWPFootnoteKindPropertyElement>(getState(), m_footnoteKind);
-  case PAG1Token::NS_URI_SL | PAG1Token::SLCreationDateProperty :
+  case +PAG1Token::NS_URI_SL | PAG1Token::SLCreationDateProperty :
     return std::make_shared<SLCreationDatePropertyElement>(getState(), m_pubInfo.m_creationDate);
   default:
   {
@@ -515,28 +515,28 @@
 {
   switch (name)
   {
-  case IWORKToken::ID | IWORKToken::NS_URI_SFA :
+  case +IWORKToken::ID | IWORKToken::NS_URI_SFA :
     PAG1XMLElementContextBase::attribute(name,value);
     break;
-  case IWORKToken::NS_URI_SF | IWORKToken::bottom:
+  case +IWORKToken::NS_URI_SF | IWORKToken::bottom:
     m_printInfo.m_marginBottom=try_double_cast(value);
     break;
-  case IWORKToken::NS_URI_SF | IWORKToken::left:
+  case +IWORKToken::NS_URI_SF | IWORKToken::left:
     m_printInfo.m_marginLeft=try_double_cast(value);
     break;
-  case IWORKToken::NS_URI_SF | IWORKToken::right:
+  case +IWORKToken::NS_URI_SF | IWORKToken::right:
     m_printInfo.m_marginRight=try_double_cast(value);
     break;
-  case IWORKToken::NS_URI_SF | IWORKToken::top:
+  case +IWORKToken::NS_URI_SF | IWORKToken::top:
     m_printInfo.m_marginTop=try_double_cast(value);
     break;
-  case IWORKToken::NS_URI_SF | IWORKToken::footer:
+  case +IWORKToken::NS_URI_SF | IWORKToken::footer:
     m_printInfo.m_footerHeight=try_double_cast(value);
     break;
-  case IWORKToken::NS_URI_SF | IWORKToken::header:
+  case +IWORKToken::NS_URI_SF | IWORKToken::header:
     m_printInfo.m_headerHeight=try_double_cast(value);
     break;
-  case IWORKToken::NS_URI_SF | IWORKToken::facing_pages: // a bool
+  case +IWORKToken::NS_URI_SF | IWORKToken::facing_pages: // a bool
     break;
   default:
     ETONYEK_DEBUG_MSG(("PageMarginsElement::attribute[PAG1Parser.cpp]: find unknown attribute\n"));
@@ -583,15 +583,15 @@
 {
   switch (name)
   {
-  case IWORKToken::ID | IWORKToken::NS_URI_SFA :
+  case +IWORKToken::ID | IWORKToken::NS_URI_SFA :
     PAG1XMLElementContextBase::attribute(name,value);
     break;
-  case PAG1Token::NS_URI_SL | PAG1Token::page_height:
+  case +PAG1Token::NS_URI_SL | PAG1Token::page_height:
     m_printInfo.m_height=try_double_cast(value);
     break;
-  case PAG1Token::NS_URI_SL | PAG1Token::page_scale:
+  case +PAG1Token::NS_URI_SL | PAG1Token::page_scale:
     break;
-  case PAG1Token::NS_URI_SL | PAG1Token::page_width:
+  case +PAG1Token::NS_URI_SL | PAG1Token::page_width:
     m_printInfo.m_width=try_double_cast(value);
     break;
   default:
@@ -604,9 +604,9 @@
 {
   switch (name)
   {
-  case PAG1Token::NS_URI_SL | PAG1Token::print_info:
+  case +PAG1Token::NS_URI_SL | PAG1Token::print_info:
     break;
-  case IWORKToken::NS_URI_SF | IWORKToken::page_margins:
+  case +IWORKToken::NS_URI_SF | IWORKToken::page_margins:
     return std::make_shared<PageMarginsElement>(getState(), m_printInfo);
   default:
     ETONYEK_DEBUG_MSG(("SLPrintInfoElement::element[PAG1Parser.cpp]: find unknown element\n"));
@@ -658,10 +658,10 @@
   switch (name)
   {
   // TODO: what is the exact relation of sl:page and sl:rpage attrs?
-  case PAG1Token::NS_URI_SL | PAG1Token::page :
+  case +PAG1Token::NS_URI_SL | PAG1Token::page :
     m_page = try_int_cast(value);
     break;
-  case PAG1Token::NS_URI_SL | PAG1Token::rpage :
+  case +PAG1Token::NS_URI_SL | PAG1Token::rpage :
     m_rpage = try_int_cast(value);
     break;
   default:
@@ -676,17 +676,17 @@
 
   switch (name)
   {
-  case IWORKToken::NS_URI_SF | IWORKToken::drawable_shape :
+  case +IWORKToken::NS_URI_SF | IWORKToken::drawable_shape :
     return std::make_shared<PAG1ShapeContext>(getState());
-  case IWORKToken::NS_URI_SF | IWORKToken::group :
+  case +IWORKToken::NS_URI_SF | IWORKToken::group :
     return std::make_shared<GroupElement>(getState());
-  case IWORKToken::NS_URI_SF | IWORKToken::line :
+  case +IWORKToken::NS_URI_SF | IWORKToken::line :
     return std::make_shared<IWORKLineElement>(getState());
-  case IWORKToken::NS_URI_SF | IWORKToken::image :
+  case +IWORKToken::NS_URI_SF | IWORKToken::image :
     return std::make_shared<IWORKImageElement>(getState());
-  case IWORKToken::NS_URI_SF | IWORKToken::media :
+  case +IWORKToken::NS_URI_SF | IWORKToken::media :
     return std::make_shared<IWORKMediaElement>(getState());
-  case IWORKToken::NS_URI_SF | IWORKToken::tabular_info :
+  case +IWORKToken::NS_URI_SF | IWORKToken::tabular_info :
     return std::make_shared<IWORKTabularInfoElement>(getState());
   default:
     break;
@@ -740,7 +740,7 @@
 {
   switch (name)
   {
-  case PAG1Token::NS_URI_SL | PAG1Token::page_group :
+  case +PAG1Token::NS_URI_SL | PAG1Token::page_group :
     return std::make_shared<PageGroupElement>(getState());
   // see also sl:master-groups which contains sl:section-drawables
   default:
@@ -785,7 +785,7 @@
 {
   switch (name)
   {
-  case PAG1Token::NS_URI_SL | PAG1Token::version :
+  case +PAG1Token::NS_URI_SL | PAG1Token::version :
   {
     const unsigned version = getVersion(getToken(value));
     if (0 == version)
@@ -803,27 +803,27 @@
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SF | IWORKToken::annotations :
+  case +IWORKToken::NS_URI_SF | IWORKToken::annotations :
     return std::make_shared<AnnotationsElement>(getState());
-  case IWORKToken::NS_URI_SF | IWORKToken::calc_engine :
+  case +IWORKToken::NS_URI_SF | IWORKToken::calc_engine :
     return std::make_shared<IWORKCalcEngineContext>(getState());
-  case IWORKToken::NS_URI_SF | IWORKToken::headers :
+  case +IWORKToken::NS_URI_SF | IWORKToken::headers :
     return std::make_shared<HeadersElement>(getState());
-  case IWORKToken::NS_URI_SF | IWORKToken::footers :
+  case +IWORKToken::NS_URI_SF | IWORKToken::footers :
     return std::make_shared<FootersElement>(getState());
-  case IWORKToken::NS_URI_SF | IWORKToken::metadata :
+  case +IWORKToken::NS_URI_SF | IWORKToken::metadata :
     return std::make_shared<IWORKMetadataElement>(getState());
-  case IWORKToken::NS_URI_SF | IWORKToken::text_storage :
+  case +IWORKToken::NS_URI_SF | IWORKToken::text_storage :
     return std::make_shared<PAG1TextStorageElement>(getState());
-  case PAG1Token::NS_URI_SL | PAG1Token::drawables :
+  case +PAG1Token::NS_URI_SL | PAG1Token::drawables :
     return std::make_shared<DrawablesElement>(getState());
-  case PAG1Token::NS_URI_SL | PAG1Token::publication_info :
+  case +PAG1Token::NS_URI_SL | PAG1Token::publication_info :
     return std::make_shared<PublicationInfoElement>(getState());
-  case PAG1Token::NS_URI_SL | PAG1Token::section_prototypes :
+  case +PAG1Token::NS_URI_SL | PAG1Token::section_prototypes :
     return std::make_shared<SectionPrototypesElement>(getState());
-  case PAG1Token::NS_URI_SL | PAG1Token::slprint_info :
+  case +PAG1Token::NS_URI_SL | PAG1Token::slprint_info :
     return std::make_shared<SLPrintInfoElement>(getState());
-  case PAG1Token::NS_URI_SL | PAG1Token::stylesheet :
+  case +PAG1Token::NS_URI_SL | PAG1Token::stylesheet :
     return std::make_shared<StylesheetElement>(getState());
   default:
     break;
@@ -861,7 +861,7 @@
 {
   switch (name)
   {
-  case PAG1Token::NS_URI_SL | PAG1Token::document :
+  case +PAG1Token::NS_URI_SL | PAG1Token::document :
     return std::make_shared<DocumentElement>(m_state);
   default:
     break;
@@ -892,10 +892,10 @@
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SF | IWORKToken::sectionstyle :
+  case +IWORKToken::NS_URI_SF | IWORKToken::sectionstyle :
     return std::make_shared<PAG1StyleContext>(getState(), &getState().getDictionary().m_sectionStyles, "section-style-default");
-  case IWORKToken::NS_URI_SF | IWORKToken::stylesheet :
-  case PAG1Token::NS_URI_SL | PAG1Token::stylesheet :
+  case +IWORKToken::NS_URI_SF | IWORKToken::stylesheet :
+  case +PAG1Token::NS_URI_SL | PAG1Token::stylesheet :
     return std::make_shared<StylesheetElement>(getState());
   default:
     break;
--- src/lib/contexts/IWORKBezierElement.cpp
+++ src/lib/contexts/IWORKBezierElement.cpp
@@ -30,7 +30,7 @@
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SFA | IWORKToken::path :
+  case +IWORKToken::NS_URI_SFA | IWORKToken::path :
     try
     {
       m_path = std::make_shared<IWORKPath>(value);
--- src/lib/contexts/IWORKBinaryElement.cpp
+++ src/lib/contexts/IWORKBinaryElement.cpp
@@ -33,9 +33,9 @@
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SF | IWORKToken::data :
+  case +IWORKToken::NS_URI_SF | IWORKToken::data :
     return std::make_shared<IWORKDataElement>(getState(), m_data, m_fillColor);
-  case IWORKToken::NS_URI_SF | IWORKToken::size :
+  case +IWORKToken::NS_URI_SF | IWORKToken::size :
     return std::make_shared<IWORKSizeElement>(getState(), m_size);
   default:
     break;
--- src/lib/contexts/IWORKCalcEngineContext.cpp
+++ src/lib/contexts/IWORKCalcEngineContext.cpp
@@ -42,7 +42,7 @@
 {
   switch (name)
   {
-  case IWORKToken::tabular_model | IWORKToken::NS_URI_SF :
+  case +IWORKToken::tabular_model | IWORKToken::NS_URI_SF :
     return std::make_shared<IWORKTabularModelElement>(getState(), true);
   default:
     break;
@@ -62,7 +62,7 @@
 {
   switch (name)
   {
-  case IWORKToken::calc_engine_entities | IWORKToken::NS_URI_SF :
+  case +IWORKToken::calc_engine_entities | IWORKToken::NS_URI_SF :
     return std::make_shared<CalcEngineEntities>(getState());
   default:
     break;
--- src/lib/contexts/IWORKCellCommentDrawableInfoElement.cpp
+++ src/lib/contexts/IWORKCellCommentDrawableInfoElement.cpp
@@ -49,16 +49,16 @@
 {
   switch (name)
   {
-  case IWORKToken::geometry | IWORKToken::NS_URI_SF :
+  case +IWORKToken::geometry | IWORKToken::NS_URI_SF :
     return std::make_shared<IWORKGeometryElement>(getState());
-  case IWORKToken::path | IWORKToken::NS_URI_SF :
+  case +IWORKToken::path | IWORKToken::NS_URI_SF :
     return std::make_shared<IWORKPathElement>(getState());
-  case IWORKToken::style | IWORKToken::NS_URI_SF :
+  case +IWORKToken::style | IWORKToken::NS_URI_SF :
     return std::make_shared<IWORKStyleContext>(getState(), &getState().getDictionary().m_cellCommentStyles);
-  case IWORKToken::bubble_cellid | IWORKToken::NS_URI_SF : // sf:row sf:column
-  case IWORKToken::bubble_offset | IWORKToken::NS_URI_SF : // sfa:h and sfa:w
+  case +IWORKToken::bubble_cellid | IWORKToken::NS_URI_SF : // sf:row sf:column
+  case +IWORKToken::bubble_offset | IWORKToken::NS_URI_SF : // sfa:h and sfa:w
     return IWORKXMLContextPtr_t();
-  case IWORKToken::NS_URI_SF | IWORKToken::text :
+  case +IWORKToken::NS_URI_SF | IWORKToken::text :
     return std::make_shared<IWORKTextElement>(getState());
   default:
     break;
--- src/lib/contexts/IWORKChartInfoElement.cpp
+++ src/lib/contexts/IWORKChartInfoElement.cpp
@@ -66,7 +66,7 @@
 
 IWORKXMLContextPtr_t CachedDataElement::element(const int name)
 {
-  if (name == (IWORKToken::mutable_array | IWORKToken::NS_URI_SF))
+  if (name == (+IWORKToken::mutable_array | IWORKToken::NS_URI_SF))
     return std::make_shared<MutableArrayElement>(getState());
 
   return IWORKXMLContextPtr_t();
@@ -127,17 +127,17 @@
 {
   switch (name)
   {
-  case IWORKToken::chart_column_names | IWORKToken::NS_URI_SF :
+  case +IWORKToken::chart_column_names | IWORKToken::NS_URI_SF :
     return std::make_shared<ChartRowColumnNamesElement>(getState(), m_chart.m_columnNames);
-  case IWORKToken::chart_row_names | IWORKToken::NS_URI_SF :
+  case +IWORKToken::chart_row_names | IWORKToken::NS_URI_SF :
     return std::make_shared<ChartRowColumnNamesElement>(getState(), m_chart.m_rowNames);
-  case IWORKToken::chart_name | IWORKToken::NS_URI_SF :
+  case +IWORKToken::chart_name | IWORKToken::NS_URI_SF :
     return std::make_shared<IWORKStringElement>(getState(), m_chart.m_chartName);
-  case IWORKToken::value_title | IWORKToken::NS_URI_SF :
+  case +IWORKToken::value_title | IWORKToken::NS_URI_SF :
     return std::make_shared<IWORKStringElement>(getState(), m_chart.m_valueTitle);
-  case IWORKToken::category_title | IWORKToken::NS_URI_SF :
+  case +IWORKToken::category_title | IWORKToken::NS_URI_SF :
     return std::make_shared<IWORKStringElement>(getState(), m_chart.m_categoryTitle);
-  case IWORKToken::cached_data | IWORKToken::NS_URI_SF :
+  case +IWORKToken::cached_data | IWORKToken::NS_URI_SF :
     return std::make_shared<CachedDataElement>(getState());
   default:
     break;
@@ -174,7 +174,7 @@
 {
   switch (name)
   {
-  case IWORKToken::formula_chart_model | IWORKToken::NS_URI_SF :
+  case +IWORKToken::formula_chart_model | IWORKToken::NS_URI_SF :
     return std::make_shared<FormulaChartModelElement>(getState(), m_chart);
   default:
     break;
@@ -202,7 +202,7 @@
 {
   switch (name)
   {
-  case IWORKToken::chart_type | IWORKToken::NS_URI_SF :
+  case +IWORKToken::chart_type | IWORKToken::NS_URI_SF :
     m_chart.m_chartType = (unsigned) int_cast(value);
   default:
     break;
@@ -213,9 +213,9 @@
 {
   switch (name)
   {
-  case IWORKToken::geometry | IWORKToken::NS_URI_SF :
+  case +IWORKToken::geometry | IWORKToken::NS_URI_SF :
     return std::make_shared<IWORKGeometryElement>(getState());
-  case IWORKToken::chart_model_object | IWORKToken::NS_URI_SF :
+  case +IWORKToken::chart_model_object | IWORKToken::NS_URI_SF :
     return std::make_shared<ChartModelObjectElement>(getState(), m_chart);
   default:
     break;
--- src/lib/contexts/IWORKColorElement.cpp
+++ src/lib/contexts/IWORKColorElement.cpp
@@ -44,34 +44,34 @@
     switch (name)
     {
     // TODO: check xsi:type too
-    case IWORKToken::NS_URI_SFA | IWORKToken::a :
+    case +IWORKToken::NS_URI_SFA | IWORKToken::a :
       m_a = lexical_cast<double>(value);
       break;
-    case IWORKToken::NS_URI_SFA | IWORKToken::b :
+    case +IWORKToken::NS_URI_SFA | IWORKToken::b :
       m_b = lexical_cast<double>(value);
       break;
-    case IWORKToken::NS_URI_SFA | IWORKToken::c :
+    case +IWORKToken::NS_URI_SFA | IWORKToken::c :
       m_c = lexical_cast<double>(value);
       break;
-    case IWORKToken::NS_URI_SFA | IWORKToken::g :
+    case +IWORKToken::NS_URI_SFA | IWORKToken::g :
       m_g = lexical_cast<double>(value);
       break;
-    case IWORKToken::NS_URI_SFA | IWORKToken::k :
+    case +IWORKToken::NS_URI_SFA | IWORKToken::k :
       m_k = lexical_cast<double>(value);
       break;
-    case IWORKToken::NS_URI_SFA | IWORKToken::m :
+    case +IWORKToken::NS_URI_SFA | IWORKToken::m :
       m_m = lexical_cast<double>(value);
       break;
-    case IWORKToken::NS_URI_SFA | IWORKToken::r :
+    case +IWORKToken::NS_URI_SFA | IWORKToken::r :
       m_r = lexical_cast<double>(value);
       break;
-    case IWORKToken::NS_URI_SFA | IWORKToken::w :
+    case +IWORKToken::NS_URI_SFA | IWORKToken::w :
       m_w = lexical_cast<double>(value);
       break;
-    case IWORKToken::NS_URI_SFA | IWORKToken::y :
+    case +IWORKToken::NS_URI_SFA | IWORKToken::y :
       m_y = lexical_cast<double>(value);
       break;
-    case IWORKToken::NS_URI_XSI | IWORKToken::type :
+    case +IWORKToken::NS_URI_XSI | IWORKToken::type :
       m_type = value;
       break;
     default:
@@ -88,7 +88,7 @@
 {
   switch (name)
   {
-  case IWORKToken::custom_space_color | IWORKToken::NS_URI_SFA :
+  case +IWORKToken::custom_space_color | IWORKToken::NS_URI_SFA :
   {
     static bool first=true;
     if (first)
--- src/lib/contexts/IWORKContainerContext.h
+++ src/lib/contexts/IWORKContainerContext.h
@@ -59,7 +59,7 @@
       return m_collector.template makeContext<NestedParser>(getState());
     else if ((RefId != 0) && (name == RefId))
       return std::make_shared<IWORKRefContext>(getState(), m_ref);
-    else if (name!=(IWORKToken::NS_URI_SF | IWORKToken::null))
+    else if (name!=(+IWORKToken::NS_URI_SF | IWORKToken::null))
     {
       ETONYEK_DEBUG_MSG(("IWORKContainerContext::handleRef: find unknown element %d\n", int(name)));
     }
--- src/lib/contexts/IWORKCoreImageFilterDescriptorElement.cpp
+++ src/lib/contexts/IWORKCoreImageFilterDescriptorElement.cpp
@@ -25,7 +25,7 @@
 
 void IWORKCoreImageFilterDescriptorElement::attribute(const int name, const char *const value)
 {
-  if ((IWORKToken::NS_URI_SF | IWORKToken::filterClassName) == name)
+  if ((+IWORKToken::NS_URI_SF | IWORKToken::filterClassName) == name)
     m_isShadow = getState().getTokenizer().getId(value) == IWORKToken::SFIUDropShadow;
   else
     IWORKXMLEmptyContextBase::attribute(name, value);
--- src/lib/contexts/IWORKDataElement.cpp
+++ src/lib/contexts/IWORKDataElement.cpp
@@ -35,10 +35,10 @@
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SF | IWORKToken::displayname :
+  case +IWORKToken::NS_URI_SF | IWORKToken::displayname :
     m_displayName = value;
     break;
-  case IWORKToken::NS_URI_SF | IWORKToken::hfs_type :
+  case +IWORKToken::NS_URI_SF | IWORKToken::hfs_type :
   {
     switch (getState().getTokenizer().getId(value))
     {
@@ -62,7 +62,7 @@
     }
     break;
   }
-  case IWORKToken::NS_URI_SF | IWORKToken::path :
+  case +IWORKToken::NS_URI_SF | IWORKToken::path :
     m_stream.reset(getState().getParser().getPackage()->getSubStreamByName(value));
     if (!m_stream)
     {
--- src/lib/contexts/IWORKFieldElement.cpp
+++ src/lib/contexts/IWORKFieldElement.cpp
@@ -30,10 +30,10 @@
 {
   switch (name)
   {
-  case IWORKToken::val | IWORKToken::NS_URI_SF : // date-time
+  case +IWORKToken::val | IWORKToken::NS_URI_SF : // date-time
     m_val=value;
     break;
-  case IWORKToken::value | IWORKToken::NS_URI_SF : // page-count, page-number
+  case +IWORKToken::value | IWORKToken::NS_URI_SF : // page-count, page-number
     m_value=int_cast(value);
     break;
   default:
@@ -50,7 +50,7 @@
 
   switch (name)
   {
-  case IWORKToken::NS_URI_SF | IWORKToken::span :
+  case +IWORKToken::NS_URI_SF | IWORKToken::span :
     return std::make_shared<IWORKSpanElement>(getState());
   default:
     break;
--- src/lib/contexts/IWORKFillElement.cpp
+++ src/lib/contexts/IWORKFillElement.cpp
@@ -64,13 +64,13 @@
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SF | IWORKToken::fraction :
+  case +IWORKToken::NS_URI_SF | IWORKToken::fraction :
     m_fraction = double_cast(value);
     break;
-  case IWORKToken::NS_URI_SF | IWORKToken::inflection :
+  case +IWORKToken::NS_URI_SF | IWORKToken::inflection :
     m_inflection = double_cast(value);
     break;
-  case IWORKToken::NS_URI_SFA | IWORKToken::ID :
+  case +IWORKToken::NS_URI_SFA | IWORKToken::ID :
     IWORKXMLElementContextBase::attribute(name, value);
     break;
   default:
@@ -82,7 +82,7 @@
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SF | IWORKToken::color :
+  case +IWORKToken::NS_URI_SF | IWORKToken::color :
     return std::make_shared<IWORKColorElement>(getState(), m_color);
   default:
     ETONYEK_DEBUG_MSG(("GradientStopElement::element[IWORKFillElement.cpp]: find unknown element\n"));
@@ -110,7 +110,7 @@
 namespace
 {
 
-typedef IWORKContainerContext<IWORKGradientStop, GradientStopElement, IWORKDirectCollector, IWORKToken::NS_URI_SF | IWORKToken::gradient_stop, IWORKToken::NS_URI_SF | IWORKToken::gradient_stop_ref> StopsElement;
+typedef IWORKContainerContext<IWORKGradientStop, GradientStopElement, IWORKDirectCollector, +IWORKToken::NS_URI_SF | IWORKToken::gradient_stop, +IWORKToken::NS_URI_SF | IWORKToken::gradient_stop_ref> StopsElement;
 
 }
 
@@ -149,13 +149,13 @@
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SF | IWORKToken::angle :
+  case +IWORKToken::NS_URI_SF | IWORKToken::angle :
     m_angle = double_cast(value);
     break;
-  case IWORKToken::NS_URI_SF | IWORKToken::opacity :
+  case +IWORKToken::NS_URI_SF | IWORKToken::opacity :
     m_opacity = double_cast(value);
     break;
-  case IWORKToken::NS_URI_SF | IWORKToken::type :
+  case +IWORKToken::NS_URI_SF | IWORKToken::type :
     switch (getState().getTokenizer().getId(value))
     {
     case IWORKToken::linear :
@@ -168,7 +168,7 @@
       ETONYEK_DEBUG_MSG(("AngleGradientElement::attribute[IWORKFillElement.cpp]: unknown type attribute\n"));
     }
     break;
-  case IWORKToken::NS_URI_SFA | IWORKToken::ID :
+  case +IWORKToken::NS_URI_SFA | IWORKToken::ID :
     IWORKXMLElementContextBase::attribute(name, value);
     break;
   default:
@@ -180,7 +180,7 @@
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SF | IWORKToken::stops :
+  case +IWORKToken::NS_URI_SF | IWORKToken::stops :
     return std::make_shared<StopsElement>(getState(), getState().getDictionary().m_gradientStops, m_stops);
   default:
     ETONYEK_DEBUG_MSG(("AngleGradientElement::element[IWORKFillElement.cpp]: unknown element\n"));
@@ -244,10 +244,10 @@
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SF | IWORKToken::opacity :
+  case +IWORKToken::NS_URI_SF | IWORKToken::opacity :
     m_opacity = double_cast(value);
     break;
-  case IWORKToken::NS_URI_SF | IWORKToken::type :
+  case +IWORKToken::NS_URI_SF | IWORKToken::type :
     switch (getState().getTokenizer().getId(value))
     {
     case IWORKToken::linear :
@@ -260,7 +260,7 @@
       ETONYEK_DEBUG_MSG(("TransformGradientElement::attribute[IWORKFillElement.cpp]: unknown type\n"));
     }
     break;
-  case IWORKToken::NS_URI_SFA | IWORKToken::ID :
+  case +IWORKToken::NS_URI_SFA | IWORKToken::ID :
     IWORKXMLElementContextBase::attribute(name, value);
     break;
   default:
@@ -272,13 +272,13 @@
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SF | IWORKToken::baseSize :
+  case +IWORKToken::NS_URI_SF | IWORKToken::baseSize :
     return std::make_shared<IWORKSizeElement>(getState(), m_baseSize);
-  case IWORKToken::NS_URI_SF | IWORKToken::end :
+  case +IWORKToken::NS_URI_SF | IWORKToken::end :
     return std::make_shared<IWORKPositionElement>(getState(), m_endPosition);
-  case IWORKToken::NS_URI_SF | IWORKToken::stops :
+  case +IWORKToken::NS_URI_SF | IWORKToken::stops :
     return std::make_shared<StopsElement>(getState(), getState().getDictionary().m_gradientStops, m_stops);
-  case IWORKToken::NS_URI_SF | IWORKToken::start :
+  case +IWORKToken::NS_URI_SF | IWORKToken::start :
     return std::make_shared<IWORKPositionElement>(getState(), m_startPosition);
   default:
     ETONYEK_DEBUG_MSG(("TransformGradientElement::element[IWORKFillElement.cpp]: unknown element\n"));
@@ -337,9 +337,9 @@
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_XSI | IWORKToken::type :
+  case +IWORKToken::NS_URI_XSI | IWORKToken::type :
     break;
-  case IWORKToken::NS_URI_SF | IWORKToken::technique :
+  case +IWORKToken::NS_URI_SF | IWORKToken::technique :
     switch (getState().getTokenizer().getId(value))
     {
     case IWORKToken::natural :
@@ -362,7 +362,7 @@
       break;
     }
     break;
-  case IWORKToken::NS_URI_SFA | IWORKToken::ID :
+  case +IWORKToken::NS_URI_SFA | IWORKToken::ID :
     IWORKXMLElementContextBase::attribute(name, value);
     break;
   default:
@@ -375,15 +375,15 @@
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SF | IWORKToken::color :
+  case +IWORKToken::NS_URI_SF | IWORKToken::color :
     return std::make_shared<IWORKColorElement>(getState(), m_color);
-  case IWORKToken::NS_URI_SF | IWORKToken::filtered_image :
+  case +IWORKToken::NS_URI_SF | IWORKToken::filtered_image :
     return std::make_shared<IWORKFilteredImageElement>(getState(), m_content);
-  case IWORKToken::NS_URI_SF | IWORKToken::filtered_image_ref :
+  case +IWORKToken::NS_URI_SF | IWORKToken::filtered_image_ref :
     return std::make_shared<IWORKRefContext>(getState(), m_filteredImageRef);
-  case IWORKToken::NS_URI_SF | IWORKToken::image :
+  case +IWORKToken::NS_URI_SF | IWORKToken::image :
     return std::make_shared<IWORKImageElement>(getState(), m_content);
-  case IWORKToken::NS_URI_SF | IWORKToken::image_ref :
+  case +IWORKToken::NS_URI_SF | IWORKToken::image_ref :
     return std::make_shared<IWORKRefContext>(getState(), m_imageRef);
   default:
     ETONYEK_DEBUG_MSG(("TexturedFillElement::element[IWORKFillElement.cpp]: unknown element\n"));
@@ -443,22 +443,22 @@
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SF | IWORKToken::angle_gradient :
+  case +IWORKToken::NS_URI_SF | IWORKToken::angle_gradient :
     return std::make_shared<AngleGradientElement>(getState(), m_gradient);
-  case IWORKToken::NS_URI_SF | IWORKToken::angle_gradient_ref :
+  case +IWORKToken::NS_URI_SF | IWORKToken::angle_gradient_ref :
     return std::make_shared<IWORKRefContext>(getState(), m_gradientRef);
-  case IWORKToken::NS_URI_SF | IWORKToken::color :
+  case +IWORKToken::NS_URI_SF | IWORKToken::color :
     return std::make_shared<IWORKColorElement>(getState(), m_color);
-  case IWORKToken::NS_URI_SF | IWORKToken::texture_fill : // CHECKME: a dictionary
-  case IWORKToken::NS_URI_SF | IWORKToken::texture_fill_ref : // CHECKME: ref to previous element
+  case +IWORKToken::NS_URI_SF | IWORKToken::texture_fill : // CHECKME: a dictionary
+  case +IWORKToken::NS_URI_SF | IWORKToken::texture_fill_ref : // CHECKME: ref to previous element
     break;
-  case IWORKToken::NS_URI_SF | IWORKToken::textured_fill :
+  case +IWORKToken::NS_URI_SF | IWORKToken::textured_fill :
     return std::make_shared<TexturedFillElement>(getState(), m_bitmap);
-  case IWORKToken::NS_URI_SF | IWORKToken::textured_fill_ref :
+  case +IWORKToken::NS_URI_SF | IWORKToken::textured_fill_ref :
     return std::make_shared<IWORKRefContext>(getState(), m_texturedFillRef);
-  case IWORKToken::NS_URI_SF | IWORKToken::transform_gradient :
+  case +IWORKToken::NS_URI_SF | IWORKToken::transform_gradient :
     return std::make_shared<TransformGradientElement>(getState(), m_gradient);
-  case IWORKToken::NS_URI_SF | IWORKToken::null :
+  case +IWORKToken::NS_URI_SF | IWORKToken::null :
     break;
   default:
     ETONYEK_DEBUG_MSG(("IWORKFillElement::element: unknown element\n"));
--- src/lib/contexts/IWORKFilteredImageElement.cpp
+++ src/lib/contexts/IWORKFilteredImageElement.cpp
@@ -43,16 +43,16 @@
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SF | IWORKToken::unfiltered :
+  case +IWORKToken::NS_URI_SF | IWORKToken::unfiltered :
     return std::make_shared<IWORKUnfilteredElement>(getState(), m_unfiltered);
-  case IWORKToken::NS_URI_SF | IWORKToken::unfiltered_ref :
+  case +IWORKToken::NS_URI_SF | IWORKToken::unfiltered_ref :
     return std::make_shared<IWORKRefContext>(getState(), m_unfilteredId);
-  case IWORKToken::NS_URI_SF | IWORKToken::filtered :
+  case +IWORKToken::NS_URI_SF | IWORKToken::filtered :
     return std::make_shared<IWORKFilteredElement>(getState(), m_filtered);
-  case IWORKToken::NS_URI_SF | IWORKToken::leveled :
+  case +IWORKToken::NS_URI_SF | IWORKToken::leveled :
     return std::make_shared<LeveledElement>(getState(), m_leveled);
-  case IWORKToken::NS_URI_SF | IWORKToken::extent : // TODO readme
-  case IWORKToken::NS_URI_SF | IWORKToken::filter_properties :
+  case +IWORKToken::NS_URI_SF | IWORKToken::extent : // TODO readme
+  case +IWORKToken::NS_URI_SF | IWORKToken::filter_properties :
     break;
   default:
     ETONYEK_DEBUG_MSG(("IWORKFilteredImageElement::element: unknown element\n"));
--- src/lib/contexts/IWORKFormatElement.cpp
+++ src/lib/contexts/IWORKFormatElement.cpp
@@ -38,10 +38,10 @@
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SF | IWORKToken::fmt:
+  case +IWORKToken::NS_URI_SF | IWORKToken::fmt:
     get(m_value).m_format = value;
     break;
-  case IWORKToken::NS_URI_SFA | IWORKToken::ID :
+  case +IWORKToken::NS_URI_SFA | IWORKToken::ID :
     IWORKXMLEmptyContextBase::attribute(name, value);
     break;
   default:
@@ -67,10 +67,10 @@
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SF | IWORKToken::fmt:
+  case +IWORKToken::NS_URI_SF | IWORKToken::fmt:
     get(m_value).m_format = value;
     break;
-  case IWORKToken::NS_URI_SFA | IWORKToken::ID :
+  case +IWORKToken::NS_URI_SFA | IWORKToken::ID :
     IWORKXMLEmptyContextBase::attribute(name, value);
     break;
   default:
@@ -96,44 +96,44 @@
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SF | IWORKToken::format_base :
+  case +IWORKToken::NS_URI_SF | IWORKToken::format_base :
     get(m_value).m_base = int_cast(value);
     break;
-  case IWORKToken::NS_URI_SF | IWORKToken::format_base_places :
+  case +IWORKToken::NS_URI_SF | IWORKToken::format_base_places :
     get(m_value).m_basePlaces = int_cast(value);
     break;
-  case IWORKToken::NS_URI_SF | IWORKToken::format_base_use_minus_sign :
+  case +IWORKToken::NS_URI_SF | IWORKToken::format_base_use_minus_sign :
     get(m_value).m_baseUseMinusSign = bool_cast(value);
     break;
-  case IWORKToken::NS_URI_SF | IWORKToken::format_currency_code :
+  case +IWORKToken::NS_URI_SF | IWORKToken::format_currency_code :
     get(m_value).m_currencyCode = value;
     break;
-  case IWORKToken::NS_URI_SF | IWORKToken::format_decimal_places :
+  case +IWORKToken::NS_URI_SF | IWORKToken::format_decimal_places :
     get(m_value).m_decimalPlaces = int_cast(value);
     break;
-  case IWORKToken::NS_URI_SF | IWORKToken::format_fraction_accuracy :
+  case +IWORKToken::NS_URI_SF | IWORKToken::format_fraction_accuracy :
     get(m_value).m_fractionAccuracy = int_cast(value);
     break;
-  case IWORKToken::NS_URI_SF | IWORKToken::format_negative_style :
+  case +IWORKToken::NS_URI_SF | IWORKToken::format_negative_style :
     get(m_value).m_negativeStyle = int_cast(value);
     break;
-  case IWORKToken::NS_URI_SF | IWORKToken::format_show_thousands_separator :
+  case +IWORKToken::NS_URI_SF | IWORKToken::format_show_thousands_separator :
     get(m_value).m_thousandsSeparator = bool_cast(value);
     break;
-  case IWORKToken::NS_URI_SF | IWORKToken::format_string :
+  case +IWORKToken::NS_URI_SF | IWORKToken::format_string :
     get(m_value).m_string = value;
     break;
-  case IWORKToken::NS_URI_SF | IWORKToken::format_type :
+  case +IWORKToken::NS_URI_SF | IWORKToken::format_type :
     get(m_value).m_type = get(IWORKNumberConverter<IWORKCellNumberType>::convert(value));
     break;
-  case IWORKToken::NS_URI_SF | IWORKToken::format_use_accounting_style :
+  case +IWORKToken::NS_URI_SF | IWORKToken::format_use_accounting_style :
     get(m_value).m_accountingStyle = bool_cast(value);
     break;
-  case IWORKToken::NS_URI_SFA | IWORKToken::ID :
+  case +IWORKToken::NS_URI_SFA | IWORKToken::ID :
     IWORKXMLEmptyContextBase::attribute(name, value);
     break;
-  case IWORKToken::NS_URI_SF | IWORKToken::custom :
-  case IWORKToken::NS_URI_SF | IWORKToken::format_name :
+  case +IWORKToken::NS_URI_SF | IWORKToken::custom :
+  case +IWORKToken::NS_URI_SF | IWORKToken::format_name :
     break;
   default:
     ETONYEK_DEBUG_MSG(("IWORKNumberFormatElement::attribute[IWORKFormatElement.cpp]: find unknown attribute\n"));
--- src/lib/contexts/IWORKFormulaElement.cpp
+++ src/lib/contexts/IWORKFormulaElement.cpp
@@ -75,10 +75,10 @@
 {
   switch (name)
   {
-  case IWORKToken::column | IWORKToken::NS_URI_SF:
+  case +IWORKToken::column | IWORKToken::NS_URI_SF:
     m_col = int_cast(value);
     break;
-  case IWORKToken::row | IWORKToken::NS_URI_SF:
+  case +IWORKToken::row | IWORKToken::NS_URI_SF:
     m_row = int_cast(value);
     break;
   default :
@@ -122,10 +122,10 @@
 {
   switch (name)
   {
-  case IWORKToken::x_coordinate | IWORKToken::NS_URI_SF:
+  case +IWORKToken::x_coordinate | IWORKToken::NS_URI_SF:
     m_x = int_cast(value);
     break;
-  case IWORKToken::y_coordinate | IWORKToken::NS_URI_SF:
+  case +IWORKToken::y_coordinate | IWORKToken::NS_URI_SF:
     m_y = int_cast(value);
     break;
   default :
@@ -162,16 +162,16 @@
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SFA | IWORKToken::ID:
+  case +IWORKToken::NS_URI_SFA | IWORKToken::ID:
     m_id = value;
     break;
-  case IWORKToken::fs | IWORKToken::NS_URI_SF :
+  case +IWORKToken::fs | IWORKToken::NS_URI_SF :
     m_formula=value;
     break;
-  case IWORKToken::hc | IWORKToken::NS_URI_SF :
+  case +IWORKToken::hc | IWORKToken::NS_URI_SF :
     m_hc=int_cast(value);
     break;
-  case IWORKToken::ht | IWORKToken::NS_URI_SF : // big string
+  case +IWORKToken::ht | IWORKToken::NS_URI_SF : // big string
     break;
   default :
     IWORKXMLEmptyContextBase::attribute(name, value);
@@ -183,7 +183,7 @@
 {
   switch (name)
   {
-  case IWORKToken::fm | IWORKToken::NS_URI_SF :
+  case +IWORKToken::fm | IWORKToken::NS_URI_SF :
     return std::make_shared<FmElement>(getState());
     break;
   default:
@@ -219,7 +219,7 @@
 {
   switch (name)
   {
-  case IWORKToken::hc | IWORKToken::NS_URI_SF :
+  case +IWORKToken::hc | IWORKToken::NS_URI_SF :
     m_hc=int_cast(value);
     break;
   default :
@@ -232,10 +232,10 @@
 {
   switch (name)
   {
-  case IWORKToken::fm | IWORKToken::NS_URI_SF :
+  case +IWORKToken::fm | IWORKToken::NS_URI_SF :
     return std::make_shared<FmElement>(getState());
     break;
-  case IWORKToken::mf_ref | IWORKToken::NS_URI_SF :
+  case +IWORKToken::mf_ref | IWORKToken::NS_URI_SF :
     return std::make_shared<IWORKRefContext>(getState(), m_ref);
   default:
     break;
@@ -280,7 +280,7 @@
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SFA | IWORKToken::ID:
+  case +IWORKToken::NS_URI_SFA | IWORKToken::ID:
     m_id = value;
     break;
   default :
@@ -293,11 +293,11 @@
 {
   switch (name)
   {
-  case IWORKToken::formula_string | IWORKToken::NS_URI_SF :
+  case +IWORKToken::formula_string | IWORKToken::NS_URI_SF :
     return std::make_shared<IWORKStringElement>(getState(), m_formula);
-  case IWORKToken::host_cell_ID | IWORKToken::NS_URI_SF :
+  case +IWORKToken::host_cell_ID | IWORKToken::NS_URI_SF :
     return std::make_shared<HostCellIdElement>(getState());
-  case IWORKToken::host_table_ID | IWORKToken::NS_URI_SF :
+  case +IWORKToken::host_table_ID | IWORKToken::NS_URI_SF :
     break;
   default:
     ETONYEK_DEBUG_MSG(("IWORKFormulaElement::element: find unknown element %d\n", name));
@@ -336,7 +336,7 @@
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SFA | IWORKToken::ID:
+  case +IWORKToken::NS_URI_SFA | IWORKToken::ID:
     m_id = value;
     break;
   default :
@@ -349,11 +349,11 @@
 {
   switch (name)
   {
-  case IWORKToken::formula_string | IWORKToken::NS_URI_SF :
+  case +IWORKToken::formula_string | IWORKToken::NS_URI_SF :
     return std::make_shared<IWORKStringElement>(getState(), m_formula);
-  case IWORKToken::cell_address | IWORKToken::NS_URI_SF :
+  case +IWORKToken::cell_address | IWORKToken::NS_URI_SF :
     return std::make_shared<CellAddressElement>(getState());
-  case IWORKToken::host_table_ID | IWORKToken::NS_URI_SF :
+  case +IWORKToken::host_table_ID | IWORKToken::NS_URI_SF :
     return std::make_shared<IWORKStringElement>(getState(), m_tableId);
   default:
     ETONYEK_DEBUG_MSG(("IWORKTableCellFormulaElement::element: find unknown element %d\n", name));
--- src/lib/contexts/IWORKGeometryElement.cpp
+++ src/lib/contexts/IWORKGeometryElement.cpp
@@ -60,25 +60,25 @@
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SF | IWORKToken::angle :
+  case +IWORKToken::NS_URI_SF | IWORKToken::angle :
     m_angle = -deg2rad(lexical_cast<double>(value));
     break;
-  case IWORKToken::NS_URI_SF | IWORKToken::aspectRatioLocked :
+  case +IWORKToken::NS_URI_SF | IWORKToken::aspectRatioLocked :
     m_aspectRatioLocked = bool_cast(value);
     break;
-  case IWORKToken::NS_URI_SF | IWORKToken::horizontalFlip :
+  case +IWORKToken::NS_URI_SF | IWORKToken::horizontalFlip :
     m_horizontalFlip = bool_cast(value);
     break;
-  case IWORKToken::NS_URI_SF | IWORKToken::shearXAngle :
+  case +IWORKToken::NS_URI_SF | IWORKToken::shearXAngle :
     m_shearXAngle = deg2rad(lexical_cast<double>(value));
     break;
-  case IWORKToken::NS_URI_SF | IWORKToken::shearYAngle :
+  case +IWORKToken::NS_URI_SF | IWORKToken::shearYAngle :
     m_shearYAngle = deg2rad(lexical_cast<double>(value));
     break;
-  case IWORKToken::NS_URI_SF | IWORKToken::sizesLocked :
+  case +IWORKToken::NS_URI_SF | IWORKToken::sizesLocked :
     m_sizesLocked = bool_cast(value);
     break;
-  case IWORKToken::NS_URI_SF | IWORKToken::verticalFlip :
+  case +IWORKToken::NS_URI_SF | IWORKToken::verticalFlip :
     m_verticalFlip = bool_cast(value);
     break;
   default :
@@ -91,11 +91,11 @@
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SF | IWORKToken::naturalSize :
+  case +IWORKToken::NS_URI_SF | IWORKToken::naturalSize :
     return std::make_shared<IWORKSizeElement>(getState(), m_naturalSize);
-  case IWORKToken::NS_URI_SF | IWORKToken::position :
+  case +IWORKToken::NS_URI_SF | IWORKToken::position :
     return std::make_shared<IWORKPositionElement>(getState(), m_pos);
-  case IWORKToken::NS_URI_SF | IWORKToken::size :
+  case +IWORKToken::NS_URI_SF | IWORKToken::size :
     return std::make_shared<IWORKSizeElement>(getState(), m_size);
   default:
     ETONYEK_DEBUG_MSG(("IWORKGeometryElement::element: find unknown element\n"));
--- src/lib/contexts/IWORKGroupElement.cpp
+++ src/lib/contexts/IWORKGroupElement.cpp
@@ -42,28 +42,28 @@
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SF | IWORKToken::geometry :
+  case +IWORKToken::NS_URI_SF | IWORKToken::geometry :
     return std::make_shared<IWORKGeometryElement>(getState());
-  case IWORKToken::NS_URI_SF | IWORKToken::group :
+  case +IWORKToken::NS_URI_SF | IWORKToken::group :
     ensureClosed(); // checkme: creating a group in a group must be often possible
     return std::make_shared<IWORKGroupElement>(getState());
-  case IWORKToken::NS_URI_SF | IWORKToken::image :
+  case +IWORKToken::NS_URI_SF | IWORKToken::image :
     ensureOpened();
     return std::make_shared<IWORKImageElement>(getState());
-  case IWORKToken::NS_URI_SF | IWORKToken::line :
+  case +IWORKToken::NS_URI_SF | IWORKToken::line :
     ensureOpened();
     return std::make_shared<IWORKLineElement>(getState());
-  case IWORKToken::NS_URI_SF | IWORKToken::media :
+  case +IWORKToken::NS_URI_SF | IWORKToken::media :
     ensureOpened();
     return std::make_shared<IWORKMediaElement>(getState());
-  case IWORKToken::NS_URI_SF | IWORKToken::drawable_shape :
-  case IWORKToken::NS_URI_SF | IWORKToken::shape :
+  case +IWORKToken::NS_URI_SF | IWORKToken::drawable_shape :
+  case +IWORKToken::NS_URI_SF | IWORKToken::shape :
     ensureOpened();
     return std::make_shared<IWORKShapeContext>(getState());
-  case IWORKToken::NS_URI_SF | IWORKToken::table_info :
+  case +IWORKToken::NS_URI_SF | IWORKToken::table_info :
     ensureClosed();
     return std::make_shared<IWORKTableInfoElement>(getState());
-  case IWORKToken::NS_URI_SF | IWORKToken::tabular_info :
+  case +IWORKToken::NS_URI_SF | IWORKToken::tabular_info :
     ensureClosed();
     return std::make_shared<IWORKTabularInfoElement>(getState());
   default:
--- src/lib/contexts/IWORKHeaderFooterContext.cpp
+++ src/lib/contexts/IWORKHeaderFooterContext.cpp
@@ -37,7 +37,7 @@
 
 void IWORKHeaderFooterContext::attribute(const int name, const char *const value)
 {
-  if (name == (IWORKToken::NS_URI_SF | IWORKToken::name))
+  if (name == (+IWORKToken::NS_URI_SF | IWORKToken::name))
     m_name = value;
   else
     IWORKXMLElementContextBase::attribute(name, value);
@@ -45,7 +45,7 @@
 
 IWORKXMLContextPtr_t IWORKHeaderFooterContext::element(const int name)
 {
-  if (name == (IWORKToken::NS_URI_SF | IWORKToken::text_storage))
+  if (name == (+IWORKToken::NS_URI_SF | IWORKToken::text_storage))
     return std::make_shared<IWORKTextStorageElement>(getState());
   return IWORKXMLContextPtr_t();
 }
--- src/lib/contexts/IWORKImageContext.cpp
+++ src/lib/contexts/IWORKImageContext.cpp
@@ -32,9 +32,9 @@
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SF | IWORKToken::data :
+  case +IWORKToken::NS_URI_SF | IWORKToken::data :
     return std::make_shared<IWORKDataElement>(getState(), m_data, m_fillColor);
-  case IWORKToken::NS_URI_SF | IWORKToken::size :
+  case +IWORKToken::NS_URI_SF | IWORKToken::size :
     return std::make_shared<IWORKSizeElement>(getState(), m_size);
   default:
     ETONYEK_DEBUG_MSG(("IWORKImageContext::element: find unknown element\n"));
--- src/lib/contexts/IWORKImageElement.cpp
+++ src/lib/contexts/IWORKImageElement.cpp
@@ -29,7 +29,7 @@
 
 namespace
 {
-typedef IWORKStyleContainer<IWORKToken::NS_URI_SF | IWORKToken::graphic_style, IWORKToken::NS_URI_SF | IWORKToken::graphic_style_ref> GraphicStyleContext;
+typedef IWORKStyleContainer<+IWORKToken::NS_URI_SF | IWORKToken::graphic_style, +IWORKToken::NS_URI_SF | IWORKToken::graphic_style_ref> GraphicStyleContext;
 }
 
 IWORKImageElement::IWORKImageElement(IWORKXMLParserState &state, IWORKMediaContentPtr_t &content)
@@ -74,9 +74,9 @@
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SFA | IWORKToken::version :
+  case +IWORKToken::NS_URI_SFA | IWORKToken::version :
     break;
-  case IWORKToken::NS_URI_SF | IWORKToken::locked :
+  case +IWORKToken::NS_URI_SF | IWORKToken::locked :
     m_locked = bool_cast(value);
     break;
   default :
@@ -89,19 +89,19 @@
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SF | IWORKToken::binary :
+  case +IWORKToken::NS_URI_SF | IWORKToken::binary :
     return std::make_shared<IWORKBinaryElement>(getState(), m_content);
-  case IWORKToken::NS_URI_SF | IWORKToken::binary_ref :
+  case +IWORKToken::NS_URI_SF | IWORKToken::binary_ref :
     return std::make_shared<IWORKRefContext>(getState(), m_binaryRef);
-  case IWORKToken::NS_URI_SF | IWORKToken::crop_geometry :
+  case +IWORKToken::NS_URI_SF | IWORKToken::crop_geometry :
     return std::make_shared<IWORKGeometryElement>(getState(), m_cropGeometry);
-  case IWORKToken::NS_URI_SF | IWORKToken::data :
+  case +IWORKToken::NS_URI_SF | IWORKToken::data :
     return std::make_shared<IWORKDataElement>(getState(), m_data, m_fillColor);
-  case IWORKToken::NS_URI_SF | IWORKToken::filtered_image :
+  case +IWORKToken::NS_URI_SF | IWORKToken::filtered_image :
     return std::make_shared<IWORKFilteredImageElement>(getState(), m_filteredImage);
-  case IWORKToken::NS_URI_SF | IWORKToken::geometry :
+  case +IWORKToken::NS_URI_SF | IWORKToken::geometry :
     return std::make_shared<IWORKGeometryElement>(getState());
-  case IWORKToken::NS_URI_SF | IWORKToken::masking_shape_path_source :
+  case +IWORKToken::NS_URI_SF | IWORKToken::masking_shape_path_source :
   {
     static bool first=true;
     if (first)
@@ -111,11 +111,11 @@
     }
     break;
   }
-  case IWORKToken::NS_URI_SF | IWORKToken::placeholder_size : // USEME
+  case +IWORKToken::NS_URI_SF | IWORKToken::placeholder_size : // USEME
     return std::make_shared<IWORKSizeElement>(getState(),m_placeholderSize);
-  case IWORKToken::NS_URI_SF | IWORKToken::size :
+  case +IWORKToken::NS_URI_SF | IWORKToken::size :
     return std::make_shared<IWORKSizeElement>(getState(),m_size);
-  case IWORKToken::NS_URI_SF | IWORKToken::style : // USEME
+  case +IWORKToken::NS_URI_SF | IWORKToken::style : // USEME
     return std::make_shared<GraphicStyleContext>(getState(), m_style, getState().getDictionary().m_graphicStyles);
   default:
     ETONYEK_DEBUG_MSG(("IWORKImageElement::element: find some unknown element\n"));
--- src/lib/contexts/IWORKLayoutElement.cpp
+++ src/lib/contexts/IWORKLayoutElement.cpp
@@ -28,7 +28,7 @@
 
 void IWORKLayoutElement::attribute(const int name, const char *const value)
 {
-  if ((IWORKToken::NS_URI_SF | IWORKToken::style) == name)
+  if ((+IWORKToken::NS_URI_SF | IWORKToken::style) == name)
     m_style=getState().getStyleByName(value, getState().getDictionary().m_layoutStyles);
   else // also sfa:ID
   {
@@ -41,7 +41,7 @@
   if (!m_opened)
     open();
 
-  if ((IWORKToken::NS_URI_SF | IWORKToken::p) == name)
+  if ((+IWORKToken::NS_URI_SF | IWORKToken::p) == name)
     return std::make_shared<IWORKPElement>(getState());
 
   return IWORKXMLContextPtr_t();
--- src/lib/contexts/IWORKLineElement.cpp
+++ src/lib/contexts/IWORKLineElement.cpp
@@ -22,7 +22,7 @@
 {
 namespace
 {
-typedef IWORKStyleContainer<IWORKToken::NS_URI_SF | IWORKToken::graphic_style, IWORKToken::NS_URI_SF | IWORKToken::graphic_style_ref> GraphicStyleContext;
+typedef IWORKStyleContainer<+IWORKToken::NS_URI_SF | IWORKToken::graphic_style, +IWORKToken::NS_URI_SF | IWORKToken::graphic_style_ref> GraphicStyleContext;
 }
 
 IWORKLineElement::IWORKLineElement(IWORKXMLParserState &state)
@@ -43,13 +43,13 @@
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SF | IWORKToken::geometry :
+  case +IWORKToken::NS_URI_SF | IWORKToken::geometry :
     return std::make_shared<IWORKGeometryElement>(getState());
-  case IWORKToken::NS_URI_SF | IWORKToken::head :
+  case +IWORKToken::NS_URI_SF | IWORKToken::head :
     return std::make_shared<IWORKPositionElement>(getState(), m_head);
-  case IWORKToken::NS_URI_SF | IWORKToken::style :
+  case +IWORKToken::NS_URI_SF | IWORKToken::style :
     return std::make_shared<GraphicStyleContext>(getState(), m_style, getState().getDictionary().m_graphicStyles);
-  case IWORKToken::NS_URI_SF | IWORKToken::tail :
+  case +IWORKToken::NS_URI_SF | IWORKToken::tail :
     return std::make_shared<IWORKPositionElement>(getState(), m_tail);
   default:
     break;
--- src/lib/contexts/IWORKLineEndElement.cpp
+++ src/lib/contexts/IWORKLineEndElement.cpp
@@ -45,13 +45,13 @@
 {
   switch (name)
   {
-  case IWORKToken::ID | IWORKToken::NS_URI_SFA :
+  case +IWORKToken::ID | IWORKToken::NS_URI_SFA :
     m_id=value;
     break;
-  case IWORKToken::path | IWORKToken::NS_URI_SFA :
+  case +IWORKToken::path | IWORKToken::NS_URI_SFA :
     m_value=value;
     break;
-  case IWORKToken::version | IWORKToken::NS_URI_SFA :
+  case +IWORKToken::version | IWORKToken::NS_URI_SFA :
     break;
   default :
     ETONYEK_DEBUG_MSG(("PathElement::attribute[IWORKLineEndElement]: find unknown attribute\n"));
@@ -78,21 +78,21 @@
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SFA | IWORKToken::ID :
+  case +IWORKToken::NS_URI_SFA | IWORKToken::ID :
     /* checkme: do we need to store this element in the dictionary ?
        I never seen sf:line-end-ref so maybe not
      */
     m_id=value;
     break;
-  case IWORKToken::NS_URI_SF | IWORKToken::filled :
+  case +IWORKToken::NS_URI_SF | IWORKToken::filled :
     m_value->m_filled = bool_cast(value);
     break;
-  case IWORKToken::NS_URI_SF | IWORKToken::identifier : // needed ?
+  case +IWORKToken::NS_URI_SF | IWORKToken::identifier : // needed ?
     break;
-  case IWORKToken::NS_URI_SF | IWORKToken::scale :
+  case +IWORKToken::NS_URI_SF | IWORKToken::scale :
     m_value->m_scale = double_cast(value);
     break;
-  case IWORKToken::NS_URI_SF | IWORKToken::path_join :
+  case +IWORKToken::NS_URI_SF | IWORKToken::path_join :
     m_value->m_pathJoin = int_cast(value);
     break;
   default:
@@ -104,9 +104,9 @@
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SF | IWORKToken::path :
+  case +IWORKToken::NS_URI_SF | IWORKToken::path :
     return std::make_shared<PathElement>(getState(), m_value->m_path);
-  case IWORKToken::NS_URI_SF | IWORKToken::end_point :
+  case +IWORKToken::NS_URI_SF | IWORKToken::end_point :
     return std::make_shared<IWORKPositionElement>(getState(), m_value->m_endPoint);
   default:
     break;
--- src/lib/contexts/IWORKLinkElement.cpp
+++ src/lib/contexts/IWORKLinkElement.cpp
@@ -37,7 +37,7 @@
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SF | IWORKToken::span :
+  case +IWORKToken::NS_URI_SF | IWORKToken::span :
     return std::make_shared<IWORKSpanElement>(getState());
   default:
     ETONYEK_DEBUG_MSG(("IWORKLinkElement::element: find unknown element\n"));
--- src/lib/contexts/IWORKListLabelGeometriesProperty.cpp
+++ src/lib/contexts/IWORKListLabelGeometriesProperty.cpp
@@ -25,7 +25,7 @@
 namespace
 {
 
-typedef IWORKMutableArrayElement<IWORKListLabelGeometry, IWORKListLabelGeometryElement, IWORKPushCollector, IWORKToken::NS_URI_SF | IWORKToken::list_label_geometry, IWORKToken::NS_URI_SF | IWORKToken::list_label_geometry_ref> MutableArrayElement;
+typedef IWORKMutableArrayElement<IWORKListLabelGeometry, IWORKListLabelGeometryElement, IWORKPushCollector, +IWORKToken::NS_URI_SF | IWORKToken::list_label_geometry, +IWORKToken::NS_URI_SF | IWORKToken::list_label_geometry_ref> MutableArrayElement;
 }
 
 IWORKListLabelGeometriesProperty::IWORKListLabelGeometriesProperty(IWORKXMLParserState &state, IWORKPropertyMap &propMap)
@@ -40,13 +40,13 @@
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SF | IWORKToken::array:
-  case IWORKToken::NS_URI_SF | IWORKToken::mutable_array :
+  case +IWORKToken::NS_URI_SF | IWORKToken::array:
+  case +IWORKToken::NS_URI_SF | IWORKToken::mutable_array :
     return std::make_shared<MutableArrayElement>(getState(), getState().getDictionary().m_listLabelGeometriesArrays,
                                                  getState().getDictionary().m_listLabelGeometries,
                                                  m_elements);
-  case IWORKToken::NS_URI_SF | IWORKToken::array_ref:
-  case IWORKToken::NS_URI_SF | IWORKToken::mutable_array_ref :
+  case +IWORKToken::NS_URI_SF | IWORKToken::array_ref:
+  case +IWORKToken::NS_URI_SF | IWORKToken::mutable_array_ref :
     return std::make_shared<IWORKRefContext>(getState(), m_ref);
   default:
     break;
--- src/lib/contexts/IWORKListLabelGeometryElement.cpp
+++ src/lib/contexts/IWORKListLabelGeometryElement.cpp
@@ -30,13 +30,13 @@
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SF | IWORKToken::scale :
+  case +IWORKToken::NS_URI_SF | IWORKToken::scale :
     m_scale = try_double_cast(value);
     break;
-  case IWORKToken::NS_URI_SF | IWORKToken::offset :
+  case +IWORKToken::NS_URI_SF | IWORKToken::offset :
     m_offset = try_double_cast(value);
     break;
-  case IWORKToken::NS_URI_SF | IWORKToken::scale_with_text :
+  case +IWORKToken::NS_URI_SF | IWORKToken::scale_with_text :
     m_scaleWithText = try_bool_cast(value);
     break;
   default:
--- src/lib/contexts/IWORKListLabelIndentsProperty.cpp
+++ src/lib/contexts/IWORKListLabelIndentsProperty.cpp
@@ -24,7 +24,7 @@
 namespace
 {
 
-typedef IWORKMutableArrayElement<double, IWORKNumberElement<double>, IWORKPushCollector, IWORKToken::NS_URI_SF | IWORKToken::number> MutableArrayElement;
+typedef IWORKMutableArrayElement<double, IWORKNumberElement<double>, IWORKPushCollector, +IWORKToken::NS_URI_SF | IWORKToken::number> MutableArrayElement;
 
 }
 
@@ -40,11 +40,11 @@
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SF | IWORKToken::array :
-  case IWORKToken::NS_URI_SF | IWORKToken::mutable_array :
+  case +IWORKToken::NS_URI_SF | IWORKToken::array :
+  case +IWORKToken::NS_URI_SF | IWORKToken::mutable_array :
     return std::make_shared<MutableArrayElement>(getState(), getState().getDictionary().m_doubleArrays, m_elements);
-  case IWORKToken::NS_URI_SF | IWORKToken::mutable_array_ref :
-  case IWORKToken::NS_URI_SF | IWORKToken::array_ref :
+  case +IWORKToken::NS_URI_SF | IWORKToken::mutable_array_ref :
+  case +IWORKToken::NS_URI_SF | IWORKToken::array_ref :
     return std::make_shared<IWORKRefContext>(getState(), m_ref);
   default:
     break;
--- src/lib/contexts/IWORKListLabelTypeinfoElement.cpp
+++ src/lib/contexts/IWORKListLabelTypeinfoElement.cpp
@@ -37,7 +37,7 @@
 
 void IWORKListLabelTypeinfoElement::attribute(const int name, const char *const value)
 {
-  if (name == (IWORKToken::NS_URI_SF | IWORKToken::type))
+  if (name == (+IWORKToken::NS_URI_SF | IWORKToken::type))
   {
     switch (getState().getTokenizer().getId(value))
     {
@@ -62,13 +62,13 @@
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SF | IWORKToken::binary :
+  case +IWORKToken::NS_URI_SF | IWORKToken::binary :
     return std::make_shared<IWORKBinaryElement>(getState(), m_image);
-  case IWORKToken::NS_URI_SF | IWORKToken::binary_ref :
+  case +IWORKToken::NS_URI_SF | IWORKToken::binary_ref :
     return std::make_shared<IWORKRefContext>(getState(), m_imageRef);
-  case IWORKToken::NS_URI_SF | IWORKToken::text_label :
+  case +IWORKToken::NS_URI_SF | IWORKToken::text_label :
     return std::make_shared<IWORKTextLabelElement>(getState(), m_text);
-  case IWORKToken::NS_URI_SF | IWORKToken::text_label_ref :
+  case +IWORKToken::NS_URI_SF | IWORKToken::text_label_ref :
     return std::make_shared<IWORKRefContext>(getState(), m_textRef);
   default:
     break;
--- src/lib/contexts/IWORKListLabelTypesProperty.cpp
+++ src/lib/contexts/IWORKListLabelTypesProperty.cpp
@@ -25,7 +25,7 @@
 
 namespace
 {
-typedef IWORKMutableArrayElement<IWORKListLabelTypeInfo_t, IWORKListLabelTypeinfoElement, IWORKPushCollector, IWORKToken::NS_URI_SF | IWORKToken::list_label_typeinfo, IWORKToken::NS_URI_SF | IWORKToken::list_label_typeinfo_ref> MutableArrayElement;
+typedef IWORKMutableArrayElement<IWORKListLabelTypeInfo_t, IWORKListLabelTypeinfoElement, IWORKPushCollector, +IWORKToken::NS_URI_SF | IWORKToken::list_label_typeinfo, +IWORKToken::NS_URI_SF | IWORKToken::list_label_typeinfo_ref> MutableArrayElement;
 }
 
 IWORKListLabelTypesProperty::IWORKListLabelTypesProperty(IWORKXMLParserState &state, ;IWORKPropertyMap &propMap)
@@ -40,12 +40,12 @@
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SF | IWORKToken::array:
-  case IWORKToken::NS_URI_SF | IWORKToken::mutable_array :
+  case +IWORKToken::NS_URI_SF | IWORKToken::array:
+  case +IWORKToken::NS_URI_SF | IWORKToken::mutable_array :
     return std::make_shared<MutableArrayElement>(getState(), getState().getDictionary().m_listLabelTypesArrays,
                                                  getState().getDictionary().m_listLabelTypeInfos, m_elements);
-  case IWORKToken::NS_URI_SF | IWORKToken::array_ref :
-  case IWORKToken::NS_URI_SF | IWORKToken::mutable_array_ref :
+  case +IWORKToken::NS_URI_SF | IWORKToken::array_ref :
+  case +IWORKToken::NS_URI_SF | IWORKToken::mutable_array_ref :
     return std::make_shared<IWORKRefContext>(getState(), m_ref);
   default:
     break;
--- src/lib/contexts/IWORKListTextIndentsProperty.cpp
+++ src/lib/contexts/IWORKListTextIndentsProperty.cpp
@@ -23,7 +23,7 @@
 
 namespace
 {
-typedef IWORKMutableArrayElement<double, IWORKNumberElement<double>, IWORKPushCollector, IWORKToken::NS_URI_SF | IWORKToken::number> MutableArrayElement;
+typedef IWORKMutableArrayElement<double, IWORKNumberElement<double>, IWORKPushCollector, +IWORKToken::NS_URI_SF | IWORKToken::number> MutableArrayElement;
 }
 
 IWORKListTextIndentsProperty::IWORKListTextIndentsProperty(IWORKXMLParserState &state,&nbsp;IWORKPropertyMap &propMap)
@@ -38,11 +38,11 @@
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SF | IWORKToken::array :
-  case IWORKToken::NS_URI_SF | IWORKToken::mutable_array :
+  case +IWORKToken::NS_URI_SF | IWORKToken::array :
+  case +IWORKToken::NS_URI_SF | IWORKToken::mutable_array :
     return std::make_shared<MutableArrayElement>(getState(), getState().getDictionary().m_doubleArrays, m_elements);
-  case IWORKToken::NS_URI_SF | IWORKToken::array_ref :
-  case IWORKToken::NS_URI_SF | IWORKToken::mutable_array_ref :
+  case +IWORKToken::NS_URI_SF | IWORKToken::array_ref :
+  case +IWORKToken::NS_URI_SF | IWORKToken::mutable_array_ref :
     return std::make_shared<IWORKRefContext>(getState(), m_ref);
   default:
     break;
--- src/lib/contexts/IWORKMediaElement.cpp
+++ src/lib/contexts/IWORKMediaElement.cpp
@@ -62,11 +62,11 @@
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SF | IWORKToken::alpha_mask_path : // README
+  case +IWORKToken::NS_URI_SF | IWORKToken::alpha_mask_path : // README
     break;
-  case IWORKToken::NS_URI_SF | IWORKToken::filtered_image :
+  case +IWORKToken::NS_URI_SF | IWORKToken::filtered_image :
     return std::make_shared<IWORKFilteredImageElement>(getState(), m_content);
-  case IWORKToken::NS_URI_SF | IWORKToken::traced_path : // README
+  case +IWORKToken::NS_URI_SF | IWORKToken::traced_path : // README
     break;
   default:
     ETONYEK_DEBUG_MSG(("ImageMediaElement::element[IWORKMediaElement.cpp]: unknown element %d\n", name));
@@ -107,9 +107,9 @@
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SF | IWORKToken::data :
+  case +IWORKToken::NS_URI_SF | IWORKToken::data :
     return std::make_shared<IWORKDataElement>(getState(), m_data, m_fillColor);
-  case IWORKToken::NS_URI_SF | IWORKToken::data_ref :
+  case +IWORKToken::NS_URI_SF | IWORKToken::data_ref :
     return std::make_shared<IWORKRefContext>(getState(), m_dataRef);
   default:
     ETONYEK_DEBUG_MSG(("OtherDatasElement::element[IWORKMediaElement.cpp]: unknown element %d\n", name));
@@ -166,11 +166,11 @@
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SF | IWORKToken::main_movie :
+  case +IWORKToken::NS_URI_SF | IWORKToken::main_movie :
     return std::make_shared<IWORKDataElement>(getState(), m_data, m_fillColor);
-  case IWORKToken::NS_URI_SF | IWORKToken::main_movie_ref :
+  case +IWORKToken::NS_URI_SF | IWORKToken::main_movie_ref :
     return std::make_shared<IWORKRefContext>(getState(), m_mainMovieRef);
-  case IWORKToken::NS_URI_SF | IWORKToken::other_datas :
+  case +IWORKToken::NS_URI_SF | IWORKToken::other_datas :
     return std::make_shared<OtherDatasElement>(getState(), m_otherData);
   default:
     ETONYEK_DEBUG_MSG(("SelfContainedMovieElement::element[IWORKMediaElement.cpp]: unknown element %d\n", name));
@@ -234,13 +234,13 @@
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SF | IWORKToken::audio_only_image :
+  case +IWORKToken::NS_URI_SF | IWORKToken::audio_only_image :
     return std::make_shared<IWORKBinaryElement>(getState(), m_audioOnlyImage);
-  case IWORKToken::NS_URI_SF | IWORKToken::audio_only_image_ref :
+  case +IWORKToken::NS_URI_SF | IWORKToken::audio_only_image_ref :
     return std::make_shared<IWORKRefContext>(getState(), m_audioOnlyImageRef);
-  case IWORKToken::NS_URI_SF | IWORKToken::poster_image :
+  case +IWORKToken::NS_URI_SF | IWORKToken::poster_image :
     return std::make_shared<IWORKBinaryElement>(getState(), m_posterImage);
-  case IWORKToken::NS_URI_SF | IWORKToken::self_contained_movie :
+  case +IWORKToken::NS_URI_SF | IWORKToken::self_contained_movie :
     return std::make_shared<SelfContainedMovieElement>(getState(), m_data);
   default:
     ETONYEK_DEBUG_MSG(("MovieMediaElement::element[IWORKMediaElement.cpp]: unknown element %d\n", name));
@@ -305,9 +305,9 @@
 
   switch (name)
   {
-  case IWORKToken::NS_URI_SF | IWORKToken::image_media :
+  case +IWORKToken::NS_URI_SF | IWORKToken::image_media :
     return std::make_shared<ImageMediaElement>(getState(), m_content);
-  case IWORKToken::NS_URI_SF | IWORKToken::movie_media :
+  case +IWORKToken::NS_URI_SF | IWORKToken::movie_media :
     return std::make_shared<MovieMediaElement>(getState(), m_content);
   default:
     ETONYEK_DEBUG_MSG(("ContentElement::element[IWORKMediaElement.cpp]: unknown element %d\n", name));
@@ -320,7 +320,7 @@
 
 namespace
 {
-typedef IWORKStyleContainer<IWORKToken::NS_URI_SF | IWORKToken::graphic_style, IWORKToken::NS_URI_SF | IWORKToken::graphic_style_ref> GraphicStyleContext;
+typedef IWORKStyleContainer<+IWORKToken::NS_URI_SF | IWORKToken::graphic_style, +IWORKToken::NS_URI_SF | IWORKToken::graphic_style_ref> GraphicStyleContext;
 }
 
 IWORKMediaElement::IWORKMediaElement(IWORKXMLParserState &state)
@@ -342,7 +342,7 @@
 {
   switch (name)
   {
-  case PAG1Token::order | PAG1Token::NS_URI_SL :
+  case +PAG1Token::order | PAG1Token::NS_URI_SL :
     m_order=try_int_cast(value);
     break;
   default:
@@ -360,17 +360,17 @@
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SF | IWORKToken::audio_only_image :
+  case +IWORKToken::NS_URI_SF | IWORKToken::audio_only_image :
     return std::make_shared<IWORKBinaryElement>(getState(), m_audioOnlyImage);
-  case IWORKToken::NS_URI_SF | IWORKToken::audio_only_image_ref :
+  case +IWORKToken::NS_URI_SF | IWORKToken::audio_only_image_ref :
     return std::make_shared<IWORKRefContext>(getState(), m_audioOnlyImageRef);
-  case IWORKToken::NS_URI_SF | IWORKToken::content :
+  case +IWORKToken::NS_URI_SF | IWORKToken::content :
     return std::make_shared<ContentElement>(getState(), m_content);
-  case IWORKToken::NS_URI_SF | IWORKToken::crop_geometry :
+  case +IWORKToken::NS_URI_SF | IWORKToken::crop_geometry :
     return std::make_shared<IWORKGeometryElement>(getState(), m_cropGeometry);
-  case IWORKToken::NS_URI_SF | IWORKToken::geometry :
+  case +IWORKToken::NS_URI_SF | IWORKToken::geometry :
     return std::make_shared<IWORKGeometryElement>(getState());
-  case IWORKToken::NS_URI_SF | IWORKToken::masking_shape_path_source :
+  case +IWORKToken::NS_URI_SF | IWORKToken::masking_shape_path_source :
   {
     static bool first=true;
     if (first)
@@ -380,15 +380,15 @@
     }
     break;
   }
-  case IWORKToken::NS_URI_SF | IWORKToken::placeholder_size : // USEME
+  case +IWORKToken::NS_URI_SF | IWORKToken::placeholder_size : // USEME
     return std::make_shared<IWORKSizeElement>(getState(),m_placeholderSize);
-  case IWORKToken::NS_URI_SF | IWORKToken::poster_image :
+  case +IWORKToken::NS_URI_SF | IWORKToken::poster_image :
     return std::make_shared<IWORKBinaryElement>(getState(), m_posterImage);
-  case IWORKToken::NS_URI_SF | IWORKToken::self_contained_movie :
+  case +IWORKToken::NS_URI_SF | IWORKToken::self_contained_movie :
     return std::make_shared<SelfContainedMovieElement>(getState(), m_movieData);
-  case IWORKToken::NS_URI_SF | IWORKToken::style : // USEME
+  case +IWORKToken::NS_URI_SF | IWORKToken::style : // USEME
     return std::make_shared<GraphicStyleContext>(getState(), m_style, getState().getDictionary().m_graphicStyles);
-  case IWORKToken::NS_URI_SF | IWORKToken::wrap : // USEME
+  case +IWORKToken::NS_URI_SF | IWORKToken::wrap : // USEME
     return std::make_shared<IWORKWrapElement>(getState(), m_wrap);
   default:
     ETONYEK_DEBUG_MSG(("IWORKMediaElement::element: find some unknown elements\n"));
--- src/lib/contexts/IWORKMetadataElement.cpp
+++ src/lib/contexts/IWORKMetadataElement.cpp
@@ -45,7 +45,7 @@
 
 IWORKXMLContextPtr_t StringContext::element(const int name)
 {
-  if (name == (IWORKToken::NS_URI_SF | IWORKToken::string))
+  if (name == (+IWORKToken::NS_URI_SF | IWORKToken::string))
     return std::make_shared<IWORKStringElement>(getState(), m_value);
   return IWORKXMLContextPtr_t();
 }
@@ -65,16 +65,16 @@
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SF | IWORKToken::authors :
+  case +IWORKToken::NS_URI_SF | IWORKToken::authors :
     return std::make_shared<StringContext>(getState(), m_author);
-  case IWORKToken::NS_URI_SF | IWORKToken::comment :
+  case +IWORKToken::NS_URI_SF | IWORKToken::comment :
     return std::make_shared<StringContext>(getState(), m_comment);
-  case IWORKToken::NS_URI_SF | IWORKToken::keywords :
+  case +IWORKToken::NS_URI_SF | IWORKToken::keywords :
     return std::make_shared<StringContext>(getState(), m_keywords);
-  case IWORKToken::NS_URI_SF | IWORKToken::title :
+  case +IWORKToken::NS_URI_SF | IWORKToken::title :
     return std::make_shared<StringContext>(getState(), m_title);
-  case IWORKToken::NS_URI_SF | IWORKToken::copyright :
-  case IWORKToken::NS_URI_SF | IWORKToken::projects :
+  case +IWORKToken::NS_URI_SF | IWORKToken::copyright :
+  case +IWORKToken::NS_URI_SF | IWORKToken::projects :
     // TODO: retrieve them as generic metadata
     return IWORKXMLContextPtr_t();
   default:
--- src/lib/contexts/IWORKNumberElement.h
+++ src/lib/contexts/IWORKNumberElement.h
@@ -42,11 +42,11 @@
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SFA | IWORKToken::number :
+  case +IWORKToken::NS_URI_SFA | IWORKToken::number :
     m_value = IWORKNumberConverter<T>::convert(value);
     break;
-  case IWORKToken::NS_URI_SFA | IWORKToken::sfclass : // with value number
-  case IWORKToken::NS_URI_SFA | IWORKToken::type :
+  case +IWORKToken::NS_URI_SFA | IWORKToken::sfclass : // with value number
+  case +IWORKToken::NS_URI_SFA | IWORKToken::type :
     break;
   default:
     ETONYEK_DEBUG_MSG(("IWORKNumberElement<...>::attribute: found unexpected attribute\n"));
--- src/lib/contexts/IWORKNumericPropertyContext.h
+++ src/lib/contexts/IWORKNumericPropertyContext.h
@@ -17,9 +17,9 @@
 {
 
 template<class Property, int TokenId2=0>
-class IWORKNumericPropertyContext : public IWORKPropertyContext<Property, IWORKNumberElement<typename IWORKPropertyInfo<Property>::ValueType>, IWORKToken::NS_URI_SF | IWORKToken::number, TokenId2>
+class IWORKNumericPropertyContext : public IWORKPropertyContext<Property, IWORKNumberElement<typename IWORKPropertyInfo<Property>::ValueType>, +IWORKToken::NS_URI_SF | IWORKToken::number, TokenId2>
 {
-  typedef IWORKPropertyContext<Property, IWORKNumberElement<typename IWORKPropertyInfo<Property>::ValueType>, IWORKToken::NS_URI_SF | IWORKToken::number, TokenId2> Parent_t;
+  typedef IWORKPropertyContext<Property, IWORKNumberElement<typename IWORKPropertyInfo<Property>::ValueType>, +IWORKToken::NS_URI_SF | IWORKToken::number, TokenId2> Parent_t;
 
 public:
   IWORKNumericPropertyContext(IWORKXMLParserState &state, IWORKPropertyMap &propMap);
--- src/lib/contexts/IWORKPElement.cpp
+++ src/lib/contexts/IWORKPElement.cpp
@@ -47,10 +47,10 @@
 {
   switch (name)
   {
-  case IWORKToken::localize | IWORKToken::NS_URI_SF : // a bool
+  case +IWORKToken::localize | IWORKToken::NS_URI_SF : // a bool
     break;
-  case IWORKToken::ID | IWORKToken::NS_URI_SFA :
-  case IWORKToken::IDREF | IWORKToken::NS_URI_SFA :
+  case +IWORKToken::ID | IWORKToken::NS_URI_SFA :
+  case +IWORKToken::IDREF | IWORKToken::NS_URI_SFA :
     /* storeme? */
     IWORKXMLEmptyContextBase::attribute(name, value);
     break;
@@ -64,27 +64,27 @@
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SF | IWORKToken::br : // ok to ignore?
+  case +IWORKToken::NS_URI_SF | IWORKToken::br : // ok to ignore?
     return IWORKXMLContextPtr_t();
-  case IWORKToken::NS_URI_SF | IWORKToken::crbr :
-  case IWORKToken::NS_URI_SF | IWORKToken::intratopicbr :
-  case IWORKToken::NS_URI_SF | IWORKToken::lnbr :
+  case +IWORKToken::NS_URI_SF | IWORKToken::crbr :
+  case +IWORKToken::NS_URI_SF | IWORKToken::intratopicbr :
+  case +IWORKToken::NS_URI_SF | IWORKToken::lnbr :
     return std::make_shared<IWORKBrContext>(getState());
-  case IWORKToken::NS_URI_SF | IWORKToken::pgbr :
+  case +IWORKToken::NS_URI_SF | IWORKToken::pgbr :
     return IWORKXMLContextPtr_t();
-  case IWORKToken::NS_URI_SF | IWORKToken::span :
+  case +IWORKToken::NS_URI_SF | IWORKToken::span :
     return std::make_shared<IWORKSpanElement>(getState());
-  case IWORKToken::NS_URI_SF | IWORKToken::tab :
+  case +IWORKToken::NS_URI_SF | IWORKToken::tab :
     return std::make_shared<IWORKTabElement>(getState());
-  case IWORKToken::NS_URI_SF | IWORKToken::link :
+  case +IWORKToken::NS_URI_SF | IWORKToken::link :
     return std::make_shared<IWORKLinkElement>(getState());
-  case IWORKToken::NS_URI_SF | IWORKToken::date_time :
+  case +IWORKToken::NS_URI_SF | IWORKToken::date_time :
     return std::make_shared<IWORKFieldElement>(getState(),IWORK_FIELD_DATETIME);
-  case IWORKToken::NS_URI_SF | IWORKToken::filename :
+  case +IWORKToken::NS_URI_SF | IWORKToken::filename :
     return std::make_shared<IWORKFieldElement>(getState(),IWORK_FIELD_FILENAME);
-  case IWORKToken::NS_URI_SF | IWORKToken::page_count :
+  case +IWORKToken::NS_URI_SF | IWORKToken::page_count :
     return std::make_shared<IWORKFieldElement>(getState(),IWORK_FIELD_PAGECOUNT);
-  case IWORKToken::NS_URI_SF | IWORKToken::page_number :
+  case +IWORKToken::NS_URI_SF | IWORKToken::page_number :
     return std::make_shared<IWORKFieldElement>(getState(),IWORK_FIELD_PAGENUMBER);
   default:
     ETONYEK_DEBUG_MSG(("GhostTextElement::element[IWORKPElement.cpp]: find unknown element\n"));
@@ -119,13 +119,13 @@
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SF | IWORKToken::list_level :
+  case +IWORKToken::NS_URI_SF | IWORKToken::list_level :
     m_listLevel = try_int_cast(value);
     break;
-  case IWORKToken::NS_URI_SF | IWORKToken::restart_list :
+  case +IWORKToken::NS_URI_SF | IWORKToken::restart_list :
     m_restartList = try_bool_cast(value);
     break;
-  case IWORKToken::NS_URI_SF | IWORKToken::style :
+  case +IWORKToken::NS_URI_SF | IWORKToken::style :
     m_style = getState().getStyleByName(value, getState().getDictionary().m_paragraphStyles);
     break;
   default:
@@ -140,34 +140,34 @@
 
   switch (name)
   {
-  case IWORKToken::NS_URI_SF | IWORKToken::br : // ok to ignore?
+  case +IWORKToken::NS_URI_SF | IWORKToken::br : // ok to ignore?
     return IWORKXMLContextPtr_t();
-  case IWORKToken::NS_URI_SF | IWORKToken::crbr :
-  case IWORKToken::NS_URI_SF | IWORKToken::intratopicbr :
-  case IWORKToken::NS_URI_SF | IWORKToken::lnbr :
+  case +IWORKToken::NS_URI_SF | IWORKToken::crbr :
+  case +IWORKToken::NS_URI_SF | IWORKToken::intratopicbr :
+  case +IWORKToken::NS_URI_SF | IWORKToken::lnbr :
     return std::make_shared<IWORKBrContext>(getState());
-  case IWORKToken::NS_URI_SF | IWORKToken::pgbr :
+  case +IWORKToken::NS_URI_SF | IWORKToken::pgbr :
     m_delayedPageBreak=true;
     return IWORKXMLContextPtr_t();
-  case IWORKToken::NS_URI_SF | IWORKToken::span :
+  case +IWORKToken::NS_URI_SF | IWORKToken::span :
     return std::make_shared<IWORKSpanElement>(getState());
-  case IWORKToken::NS_URI_SF | IWORKToken::tab :
+  case +IWORKToken::NS_URI_SF | IWORKToken::tab :
     return std::make_shared<IWORKTabElement>(getState());
-  case IWORKToken::NS_URI_SF | IWORKToken::link :
+  case +IWORKToken::NS_URI_SF | IWORKToken::link :
     return std::make_shared<IWORKLinkElement>(getState());
-  case IWORKToken::NS_URI_SF | IWORKToken::date_time :
+  case +IWORKToken::NS_URI_SF | IWORKToken::date_time :
     return std::make_shared<IWORKFieldElement>(getState(),IWORK_FIELD_DATETIME);
-  case IWORKToken::NS_URI_SF | IWORKToken::filename :
+  case +IWORKToken::NS_URI_SF | IWORKToken::filename :
     return std::make_shared<IWORKFieldElement>(getState(),IWORK_FIELD_FILENAME);
-  case IWORKToken::NS_URI_SF | IWORKToken::ghost_text :
-  case IWORKToken::NS_URI_SF | IWORKToken::ghost_text_ref :
+  case +IWORKToken::NS_URI_SF | IWORKToken::ghost_text :
+  case +IWORKToken::NS_URI_SF | IWORKToken::ghost_text_ref :
     /* checkme: sf:ghost-text and sf:ghost-text-ref seems similar, but maybe
        sf:ghost-text-ref can also be called without the text data...
      */
     return std::make_shared<GhostTextElement>(getState());
-  case IWORKToken::NS_URI_SF | IWORKToken::page_count :
+  case +IWORKToken::NS_URI_SF | IWORKToken::page_count :
     return std::make_shared<IWORKFieldElement>(getState(),IWORK_FIELD_PAGECOUNT);
-  case IWORKToken::NS_URI_SF | IWORKToken::page_number :
+  case +IWORKToken::NS_URI_SF | IWORKToken::page_number :
     return std::make_shared<IWORKFieldElement>(getState(),IWORK_FIELD_PAGENUMBER);
   default:
     ETONYEK_DEBUG_MSG(("IWORKPElement::element: find unknown element\n"));
--- src/lib/contexts/IWORKPathElement.cpp
+++ src/lib/contexts/IWORKPathElement.cpp
@@ -60,9 +60,9 @@
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SF | IWORKToken::point :
+  case +IWORKToken::NS_URI_SF | IWORKToken::point :
     return std::make_shared<IWORKPositionElement>(getState(), m_point);
-  case IWORKToken::NS_URI_SF | IWORKToken::size :
+  case +IWORKToken::NS_URI_SF | IWORKToken::size :
     return std::make_shared<IWORKSizeElement>(getState(), m_size);
   default:
     ETONYEK_DEBUG_MSG(("ConnectionPathElement::element[IWORKPathElement.cpp]: find unknown element\n"));
@@ -118,7 +118,7 @@
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SF | IWORKToken::type :
+  case +IWORKToken::NS_URI_SF | IWORKToken::type :
   {
     switch (getToken(value))
     {
@@ -146,9 +146,9 @@
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SF | IWORKToken::point :
+  case +IWORKToken::NS_URI_SF | IWORKToken::point :
     return std::make_shared<IWORKPositionElement>(getState(), m_point);
-  case IWORKToken::NS_URI_SF | IWORKToken::size :
+  case +IWORKToken::NS_URI_SF | IWORKToken::size :
     return std::make_shared<IWORKSizeElement>(getState(), m_size);
   default:
     ETONYEK_DEBUG_MSG(("PointPathElement::element[IWORKPathElement.cpp]: find unknown element\n"));
@@ -215,10 +215,10 @@
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SF | IWORKToken::scalar :
+  case +IWORKToken::NS_URI_SF | IWORKToken::scalar :
     m_value = double_cast(value);
     break;
-  case IWORKToken::NS_URI_SF | IWORKToken::type :
+  case +IWORKToken::NS_URI_SF | IWORKToken::type :
   {
     switch (getToken(value))
     {
@@ -243,7 +243,7 @@
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SF | IWORKToken::size :
+  case +IWORKToken::NS_URI_SF | IWORKToken::size :
     return std::make_shared<IWORKSizeElement>(getState(), m_size);
   default:
     ETONYEK_DEBUG_MSG(("ScalarPathElement::element[IWORKPathElement.cpp]: find unknown element\n"));
@@ -296,9 +296,9 @@
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SF | IWORKToken::bezier :
+  case +IWORKToken::NS_URI_SF | IWORKToken::bezier :
     return std::make_shared<IWORKBezierElement>(getState(), m_path);
-  case IWORKToken::NS_URI_SF | IWORKToken::bezier_ref :
+  case +IWORKToken::NS_URI_SF | IWORKToken::bezier_ref :
     return std::make_shared<IWORKRefContext>(getState(), m_ref);
   default:
     ETONYEK_DEBUG_MSG(("BezierPathElement::element[IWORKPathElement.cpp]: find unknown element\n"));
@@ -364,19 +364,19 @@
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SF | IWORKToken::cornerRadius :
+  case +IWORKToken::NS_URI_SF | IWORKToken::cornerRadius :
     m_cornerRadius = double_cast(value);
     break;
-  case IWORKToken::NS_URI_SF | IWORKToken::tailAtCenter :
+  case +IWORKToken::NS_URI_SF | IWORKToken::tailAtCenter :
     m_tailAtCenter = bool_cast(value);
     break;
-  case IWORKToken::NS_URI_SF | IWORKToken::tailPositionX :
+  case +IWORKToken::NS_URI_SF | IWORKToken::tailPositionX :
     m_tailPosX = double_cast(value);
     break;
-  case IWORKToken::NS_URI_SF | IWORKToken::tailPositionY :
+  case +IWORKToken::NS_URI_SF | IWORKToken::tailPositionY :
     m_tailPosY = double_cast(value);
     break;
-  case IWORKToken::NS_URI_SF | IWORKToken::tailSize :
+  case +IWORKToken::NS_URI_SF | IWORKToken::tailSize :
     m_tailSize = double_cast(value);
     break;
   default :
@@ -389,7 +389,7 @@
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SF | IWORKToken::size :
+  case +IWORKToken::NS_URI_SF | IWORKToken::size :
     return std::make_shared<IWORKSizeElement>(getState(), m_size);
   default:
     ETONYEK_DEBUG_MSG(("Callout2PathElement::element[IWORKPathElement.cpp]: find unknown element\n"));
@@ -415,16 +415,16 @@
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SF | IWORKToken::bezier_path :
-  case IWORKToken::NS_URI_SF | IWORKToken::editable_bezier_path :
+  case +IWORKToken::NS_URI_SF | IWORKToken::bezier_path :
+  case +IWORKToken::NS_URI_SF | IWORKToken::editable_bezier_path :
     return std::make_shared<BezierPathElement>(getState());
-  case IWORKToken::NS_URI_SF | IWORKToken::callout2_path :
+  case +IWORKToken::NS_URI_SF | IWORKToken::callout2_path :
     return std::make_shared<Callout2PathElement>(getState());
-  case IWORKToken::NS_URI_SF | IWORKToken::connection_path :
+  case +IWORKToken::NS_URI_SF | IWORKToken::connection_path :
     return std::make_shared<ConnectionPathElement>(getState());
-  case IWORKToken::NS_URI_SF | IWORKToken::point_path :
+  case +IWORKToken::NS_URI_SF | IWORKToken::point_path :
     return std::make_shared<PointPathElement>(getState());
-  case IWORKToken::NS_URI_SF | IWORKToken::scalar_path :
+  case +IWORKToken::NS_URI_SF | IWORKToken::scalar_path :
     return std::make_shared<ScalarPathElement>(getState());
   default:
     ETONYEK_DEBUG_MSG(("IWORKPathElement::element: find unknown element\n"));
--- src/lib/contexts/IWORKPositionElement.cpp
+++ src/lib/contexts/IWORKPositionElement.cpp
@@ -30,10 +30,10 @@
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SFA | IWORKToken::x :
+  case +IWORKToken::NS_URI_SFA | IWORKToken::x :
     m_x = try_double_cast(value);
     break;
-  case IWORKToken::NS_URI_SFA | IWORKToken::y :
+  case +IWORKToken::NS_URI_SFA | IWORKToken::y :
     m_y = try_double_cast(value);
     break;
   default:
--- src/lib/contexts/IWORKPropertyContext.h
+++ src/lib/contexts/IWORKPropertyContext.h
@@ -46,7 +46,7 @@
   m_default = false;
   if (TokenId == name || (TokenId2 != 0 && TokenId2 == name))
     return std::make_shared<Context>(getState(), m_value);
-  else if (name != (IWORKToken::NS_URI_SF | IWORKToken::null))
+  else if (name != (+IWORKToken::NS_URI_SF | IWORKToken::null))
   {
     ETONYEK_DEBUG_MSG(("IWORKPropertyContext<...>::element: found unexpected element %d\n", name));
   }
--- src/lib/contexts/IWORKPropertyMapElement.cpp
+++ src/lib/contexts/IWORKPropertyMapElement.cpp
@@ -127,7 +127,7 @@
     return std::make_shared<Context>(getState(), m_data);
   case RefTokenId :
     return std::make_shared<IWORKRefContext>(getState(), m_ref);
-  case IWORKToken::NS_URI_SF | IWORKToken::null:
+  case +IWORKToken::NS_URI_SF | IWORKToken::null:
     return IWORKXMLContextPtr_t();
   default:
     break;
@@ -228,9 +228,9 @@
 
   switch (name)
   {
-  case IWORKToken::NS_URI_SF | IWORKToken::tabs :
+  case +IWORKToken::NS_URI_SF | IWORKToken::tabs :
     return std::make_shared<IWORKTabsElement>(getState(), m_tabs);
-  case IWORKToken::NS_URI_SF | IWORKToken::tabs_ref :
+  case +IWORKToken::NS_URI_SF | IWORKToken::tabs_ref :
     return std::make_shared<IWORKRefContext>(getState(), m_ref);
   default:
     ETONYEK_DEBUG_MSG(("TabsProperty::element[IWORKPropertyMapElement.cpp]: find unknown element\n"));
@@ -293,13 +293,13 @@
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SF | IWORKToken::amt :
+  case +IWORKToken::NS_URI_SF | IWORKToken::amt :
     m_amount = double_cast(value);
     break;
-  case IWORKToken::NS_URI_SF | IWORKToken::mode :
+  case +IWORKToken::NS_URI_SF | IWORKToken::mode :
     m_relative = IWORKToken::relative == getToken(value);
     break;
-  case IWORKToken::NS_URI_SFA | IWORKToken::ID :
+  case +IWORKToken::NS_URI_SFA | IWORKToken::ID :
     IWORKXMLEmptyContextBase::attribute(name, value);
     break;
   default:
@@ -344,13 +344,13 @@
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SF | IWORKToken::spacing :
+  case +IWORKToken::NS_URI_SF | IWORKToken::spacing :
     m_value.m_spacing = get_optional_value_or(try_double_cast(value), 0);
     break;
-  case IWORKToken::NS_URI_SF | IWORKToken::width :
+  case +IWORKToken::NS_URI_SF | IWORKToken::width :
     m_value.m_width = get_optional_value_or(try_double_cast(value), 0);
     break;
-  case IWORKToken::NS_URI_SF | IWORKToken::index : // column index, probably save to ignore
+  case +IWORKToken::NS_URI_SF | IWORKToken::index : // column index, probably save to ignore
     break;
   default:
     ETONYEK_DEBUG_MSG(("ColumnElement::attribute[IWORKPropertyMapElement.cpp]: find unknown attribute\n"));
@@ -387,10 +387,10 @@
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SF | IWORKToken::equal_columns :
+  case +IWORKToken::NS_URI_SF | IWORKToken::equal_columns :
     get(m_value).m_equal = get_optional_value_or(try_bool_cast(value), false);
     break;
-  case IWORKToken::NS_URI_SFA | IWORKToken::ID :
+  case +IWORKToken::NS_URI_SFA | IWORKToken::ID :
     IWORKXMLElementContextBase::attribute(name, value);
     break;
   default:
@@ -403,7 +403,7 @@
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SF | IWORKToken::column :
+  case +IWORKToken::NS_URI_SF | IWORKToken::column :
     get(m_value).m_columns.push_back(IWORKColumns::Column());
     return std::make_shared<ColumnElement>(getState(), get(m_value).m_columns.back());
   default:
@@ -447,19 +447,19 @@
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SF | IWORKToken::bottom :
+  case +IWORKToken::NS_URI_SF | IWORKToken::bottom :
     get(m_value).m_bottom = try_double_cast(value);
     break;
-  case IWORKToken::NS_URI_SF | IWORKToken::left :
+  case +IWORKToken::NS_URI_SF | IWORKToken::left :
     get(m_value).m_left = try_double_cast(value);
     break;
-  case IWORKToken::NS_URI_SF | IWORKToken::right :
+  case +IWORKToken::NS_URI_SF | IWORKToken::right :
     get(m_value).m_right = try_double_cast(value);
     break;
-  case IWORKToken::NS_URI_SF | IWORKToken::top :
+  case +IWORKToken::NS_URI_SF | IWORKToken::top :
     get(m_value).m_top = try_double_cast(value);
     break;
-  case IWORKToken::NS_URI_SFA | IWORKToken::ID :
+  case +IWORKToken::NS_URI_SFA | IWORKToken::ID :
     IWORKXMLEmptyContextBase::attribute(name, value);
     break;
   default:
@@ -502,9 +502,9 @@
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SF | IWORKToken::string:
+  case +IWORKToken::NS_URI_SF | IWORKToken::string:
     return std::make_shared<IWORKStringElement>(getState(), m_lang);
-  case IWORKToken::NS_URI_SF | IWORKToken::null:
+  case +IWORKToken::NS_URI_SF | IWORKToken::null:
     break;
   default:
     ETONYEK_DEBUG_MSG(("LanguageElement::element[IWORKPropertyMapElement.cpp]: find unknown element\n"));
@@ -540,9 +540,9 @@
 
     note: This is probably similar for duration */
 template <typename Property>
-class PropertyDateTimeFormatElement : public RefPropertyContext<Property, IWORKDateTimeFormatElement, IWORKToken::NS_URI_SF | IWORKToken::date_format, IWORKToken::NS_URI_SF | IWORKToken::date_format_ref>
+class PropertyDateTimeFormatElement : public RefPropertyContext<Property, IWORKDateTimeFormatElement, +IWORKToken::NS_URI_SF | IWORKToken::date_format, +IWORKToken::NS_URI_SF | IWORKToken::date_format_ref>
 {
-  typedef RefPropertyContext<Property, IWORKDateTimeFormatElement, IWORKToken::NS_URI_SF | IWORKToken::date_format, IWORKToken::NS_URI_SF | IWORKToken::date_format_ref> Parent;
+  typedef RefPropertyContext<Property, IWORKDateTimeFormatElement, +IWORKToken::NS_URI_SF | IWORKToken::date_format, +IWORKToken::NS_URI_SF | IWORKToken::date_format_ref> Parent;
   typedef std::unordered_map<ID_t, IWORKDateTimeFormat> RedirectMap_t;
 
 public:
@@ -554,7 +554,7 @@
 private:
   IWORKXMLContextPtr_t element(int name) override
   {
-    if (name==(IWORKToken::NS_URI_SF | IWORKToken::string))
+    if (name==(+IWORKToken::NS_URI_SF | IWORKToken::string))
       return std::make_shared<IWORKStringElement>(Parent::getState(), m_string);
     else
       return Parent::element(name);
@@ -582,8 +582,8 @@
   OverridesElement(IWORKXMLParserState &state, IWORKShadow &value);
 
 private:
-  typedef IWORKValueContext<double, IWORKNumberElement<double>, IWORKToken::NS_URI_SF | IWORKToken::number> NumberProperty;
-  typedef IWORKValueContext<IWORKColor, IWORKColorElement, IWORKToken::NS_URI_SF | IWORKToken::color> ColorProperty;
+  typedef IWORKValueContext<double, IWORKNumberElement<double>, +IWORKToken::NS_URI_SF | IWORKToken::number> NumberProperty;
+  typedef IWORKValueContext<IWORKColor, IWORKColorElement, +IWORKToken::NS_URI_SF | IWORKToken::color> ColorProperty;
 
 private:
   void attribute(int name, const char *value) override;
@@ -604,7 +604,7 @@
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SFA | IWORKToken::ID :
+  case +IWORKToken::NS_URI_SFA | IWORKToken::ID :
     IWORKXMLElementContextBase::attribute(name, value);
     break;
   default:
@@ -617,17 +617,17 @@
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SF | IWORKToken::inputAngle :
+  case +IWORKToken::NS_URI_SF | IWORKToken::inputAngle :
     return std::make_shared<NumberProperty>(getState(), m_value.m_angle);
-  case IWORKToken::NS_URI_SF | IWORKToken::inputColor :
+  case +IWORKToken::NS_URI_SF | IWORKToken::inputColor :
     return std::make_shared<ColorProperty>(getState(), m_value.m_color);
-  case IWORKToken::NS_URI_SF | IWORKToken::inputDistance :
+  case +IWORKToken::NS_URI_SF | IWORKToken::inputDistance :
     return std::make_shared<NumberProperty>(getState(), m_value.m_offset);
-  case IWORKToken::NS_URI_SF | IWORKToken::inputGlossiness :
+  case +IWORKToken::NS_URI_SF | IWORKToken::inputGlossiness :
     return std::make_shared<NumberProperty>(getState(), m_value.m_glossiness);
-  case IWORKToken::NS_URI_SF | IWORKToken::inputOpacity :
+  case +IWORKToken::NS_URI_SF | IWORKToken::inputOpacity :
     return std::make_shared<NumberProperty>(getState(), m_value.m_opacity);
-  case IWORKToken::NS_URI_SF | IWORKToken::inputRadius :
+  case +IWORKToken::NS_URI_SF | IWORKToken::inputRadius :
     return std::make_shared<NumberProperty>(getState(), m_value.m_radius);
   default:
     ETONYEK_DEBUG_MSG(("OverridesElement::element[IWORKPropertyMapElement.cpp]: find unknown element\n"));
@@ -677,7 +677,7 @@
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SFA | IWORKToken::ID :
+  case +IWORKToken::NS_URI_SFA | IWORKToken::ID :
     IWORKXMLElementContextBase::attribute(name, value);
     break;
   case IWORKToken::filter_visibility: // USEME? a bool
@@ -692,13 +692,13 @@
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SF | IWORKToken::core_image_filter_descriptor :
+  case +IWORKToken::NS_URI_SF | IWORKToken::core_image_filter_descriptor :
     return std::make_shared<IWORKCoreImageFilterDescriptorElement>(getState(), m_isShadow);
-  case IWORKToken::NS_URI_SF | IWORKToken::core_image_filter_descriptor_ref :
+  case +IWORKToken::NS_URI_SF | IWORKToken::core_image_filter_descriptor_ref :
     return std::make_shared<IWORKRefContext>(getState(), m_descriptorRef);
-  case IWORKToken::NS_URI_SF | IWORKToken::overrides :
+  case +IWORKToken::NS_URI_SF | IWORKToken::overrides :
     return std::make_shared<OverridesElement>(getState(), m_value);
-  case IWORKToken::NS_URI_SF | IWORKToken::overrides_ref :
+  case +IWORKToken::NS_URI_SF | IWORKToken::overrides_ref :
     return std::make_shared<IWORKRefContext>(getState(), m_overridesRef);
   default:
     ETONYEK_DEBUG_MSG(("CoreImageFilterInfoElement::element[IWORKPropertyMapElement.cpp]: find unknown element\n"));
@@ -743,7 +743,7 @@
 
 class FiltersElement : public IWORKXMLElementContextBase
 {
-  typedef IWORKMutableArrayElement<IWORKShadow, CoreImageFilterInfoElement, IWORKDirectCollector, IWORKToken::NS_URI_SF | IWORKToken::core_image_filter_info, IWORKToken::NS_URI_SF | IWORKToken::core_image_filter_info_ref> MutableArrayElement;
+  typedef IWORKMutableArrayElement<IWORKShadow, CoreImageFilterInfoElement, IWORKDirectCollector, +IWORKToken::NS_URI_SF | IWORKToken::core_image_filter_info, +IWORKToken::NS_URI_SF | IWORKToken::core_image_filter_info_ref> MutableArrayElement;
 
 public:
   FiltersElement(IWORKXMLParserState &state, IWORKPropertyMap &propMap);
@@ -768,21 +768,21 @@
 {
 }
 
-typedef IWORKStyleContainer<IWORKToken::NS_URI_SF | IWORKToken::layoutstyle, IWORKToken::NS_URI_SF | IWORKToken::layoutstyle_ref> FiltersLayoutStyle;
+typedef IWORKStyleContainer<+IWORKToken::NS_URI_SF | IWORKToken::layoutstyle, +IWORKToken::NS_URI_SF | IWORKToken::layoutstyle_ref> FiltersLayoutStyle;
 
 IWORKXMLContextPtr_t FiltersElement::element(const int name)
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SF | IWORKToken::mutable_array:
-  case IWORKToken::NS_URI_SF | IWORKToken::array:
+  case +IWORKToken::NS_URI_SF | IWORKToken::mutable_array:
+  case +IWORKToken::NS_URI_SF | IWORKToken::array:
     return std::make_shared<MutableArrayElement>(getState(), getState().getDictionary().m_filters, getState().getDictionary().m_coreImageFilterInfos, m_elements);
-  case IWORKToken::NS_URI_SF | IWORKToken::mutable_array_ref:
-  case IWORKToken::NS_URI_SF | IWORKToken::array_ref:
+  case +IWORKToken::NS_URI_SF | IWORKToken::mutable_array_ref:
+  case +IWORKToken::NS_URI_SF | IWORKToken::array_ref:
     return std::make_shared<IWORKRefContext>(getState(), m_ref);
-  case IWORKToken::NS_URI_SF | IWORKToken::layoutStyle: // useme
+  case +IWORKToken::NS_URI_SF | IWORKToken::layoutStyle: // useme
     return std::make_shared<FiltersLayoutStyle>(getState(), m_layout, getState().getDictionary().m_layoutStyles);
-  case IWORKToken::NS_URI_SF | IWORKToken::null:
+  case +IWORKToken::NS_URI_SF | IWORKToken::null:
     break;
   default:
     ETONYEK_DEBUG_MSG(("FiltersElement::element[FiltersElements.cpp]: find unknown element\n"));
@@ -814,37 +814,37 @@
 namespace
 {
 
-typedef RefPropertyContext<property::Columns, ColumnsElement, IWORKToken::NS_URI_SF | IWORKToken::columns, IWORKToken::NS_URI_SF | IWORKToken::columns_ref> ColumnsPropertyElement;
-typedef RefPropertyContext<property::ExternalTextWrap, IWORKExternalTextWrapElement, IWORKToken::NS_URI_SF | IWORKToken::external_text_wrap, IWORKToken::NS_URI_SF | IWORKToken::external_text_wrap_ref> ExternalTextWrapElement;
+typedef RefPropertyContext<property::Columns, ColumnsElement, +IWORKToken::NS_URI_SF | IWORKToken::columns, +IWORKToken::NS_URI_SF | IWORKToken::columns_ref> ColumnsPropertyElement;
+typedef RefPropertyContext<property::ExternalTextWrap, IWORKExternalTextWrapElement, +IWORKToken::NS_URI_SF | IWORKToken::external_text_wrap, +IWORKToken::NS_URI_SF | IWORKToken::external_text_wrap_ref> ExternalTextWrapElement;
 typedef RedirectPropertyContext<property::Fill, IWORKFillElement> FillPropertyElement;
-typedef IWORKPropertyContext<property::FontColor, IWORKColorElement, IWORKToken::NS_URI_SF | IWORKToken::color> FontColorElement;
-typedef IWORKPropertyContext<property::FontName, IWORKStringElement, IWORKToken::NS_URI_SF | IWORKToken::string> FontNameElement;
-typedef IWORKPropertyContext<property::HeadLineEnd, IWORKLineEndElement, IWORKToken::NS_URI_SF | IWORKToken::line_end> HeadLineEndElement;
-typedef RefPropertyContext<property::LayoutMargins, PaddingElement, IWORKToken::NS_URI_SF | IWORKToken::padding, IWORKToken::NS_URI_SF | IWORKToken::padding_ref> LayoutMarginsElement;
-typedef RefPropertyContext<property::LineSpacing, LinespacingElement, IWORKToken::NS_URI_SF | IWORKToken::linespacing, IWORKToken::NS_URI_SF | IWORKToken::linespacing_ref> LineSpacingElement;
-typedef RefPropertyContext<property::Padding, PaddingElement, IWORKToken::NS_URI_SF | IWORKToken::padding, IWORKToken::NS_URI_SF | IWORKToken::padding_ref> PaddingContext;
-typedef IWORKPropertyContext<property::ParagraphFill, IWORKColorElement, IWORKToken::NS_URI_SF | IWORKToken::color> ParagraphFillElement;
+typedef IWORKPropertyContext<property::FontColor, IWORKColorElement, +IWORKToken::NS_URI_SF | IWORKToken::color> FontColorElement;
+typedef IWORKPropertyContext<property::FontName, IWORKStringElement, +IWORKToken::NS_URI_SF | IWORKToken::string> FontNameElement;
+typedef IWORKPropertyContext<property::HeadLineEnd, IWORKLineEndElement, +IWORKToken::NS_URI_SF | IWORKToken::line_end> HeadLineEndElement;
+typedef RefPropertyContext<property::LayoutMargins, PaddingElement, +IWORKToken::NS_URI_SF | IWORKToken::padding, +IWORKToken::NS_URI_SF | IWORKToken::padding_ref> LayoutMarginsElement;
+typedef RefPropertyContext<property::LineSpacing, LinespacingElement, +IWORKToken::NS_URI_SF | IWORKToken::linespacing, +IWORKToken::NS_URI_SF | IWORKToken::linespacing_ref> LineSpacingElement;
+typedef RefPropertyContext<property::Padding, PaddingElement, +IWORKToken::NS_URI_SF | IWORKToken::padding, +IWORKToken::NS_URI_SF | IWORKToken::padding_ref> PaddingContext;
+typedef IWORKPropertyContext<property::ParagraphFill, IWORKColorElement, +IWORKToken::NS_URI_SF | IWORKToken::color> ParagraphFillElement;
 typedef RedirectPropertyContext<property::ParagraphStroke, IWORKStrokeContext> ParagraphStrokeElement;
-typedef IWORKPropertyContext<property::TailLineEnd, IWORKLineEndElement, IWORKToken::NS_URI_SF | IWORKToken::line_end> TailLineEndElement;
+typedef IWORKPropertyContext<property::TailLineEnd, IWORKLineEndElement, +IWORKToken::NS_URI_SF | IWORKToken::line_end> TailLineEndElement;
 typedef PropertyDateTimeFormatElement<property::SFTCellStylePropertyDateTimeFormat> SFTCellStylePropertyDateTimeFormatElement;
-typedef RefPropertyContext<property::SFTCellStylePropertyDurationFormat, IWORKDurationFormatElement, IWORKToken::NS_URI_SF | IWORKToken::duration_format, IWORKToken::NS_URI_SF | IWORKToken::duration_format_ref> SFTCellStylePropertyDurationFormatElement;
-typedef RefPropertyContext<property::SFTCellStylePropertyNumberFormat, IWORKNumberFormatElement, IWORKToken::NS_URI_SF | IWORKToken::number_format, IWORKToken::NS_URI_SF | IWORKToken::number_format_ref> SFTCellStylePropertyNumberFormatElement;
+typedef RefPropertyContext<property::SFTCellStylePropertyDurationFormat, IWORKDurationFormatElement, +IWORKToken::NS_URI_SF | IWORKToken::duration_format, +IWORKToken::NS_URI_SF | IWORKToken::duration_format_ref> SFTCellStylePropertyDurationFormatElement;
+typedef RefPropertyContext<property::SFTCellStylePropertyNumberFormat, IWORKNumberFormatElement, +IWORKToken::NS_URI_SF | IWORKToken::number_format, +IWORKToken::NS_URI_SF | IWORKToken::number_format_ref> SFTCellStylePropertyNumberFormatElement;
 typedef RedirectPropertyContext<property::SFTStrokeProperty, IWORKStrokeContext> SFTStrokePropertyElement;
 typedef RedirectPropertyContext<property::Stroke, IWORKStrokeContext> StrokePropertyElement;
-typedef IWORKPropertyContext<property::TextBackground, IWORKColorElement, IWORKToken::NS_URI_SF | IWORKToken::color> TextBackgroundElement;
+typedef IWORKPropertyContext<property::TextBackground, IWORKColorElement, +IWORKToken::NS_URI_SF | IWORKToken::color> TextBackgroundElement;
 
-typedef IWORKPtrPropertyContext<property::Geometry, IWORKGeometryElement, IWORKToken::NS_URI_SF | IWORKToken::geometry> GeometryElement;
+typedef IWORKPtrPropertyContext<property::Geometry, IWORKGeometryElement, +IWORKToken::NS_URI_SF | IWORKToken::geometry> GeometryElement;
 
-typedef StylePropertyContext<property::FollowingLayoutStyle, IWORKToken::NS_URI_SF | IWORKToken::layoutstyle, IWORKToken::NS_URI_SF | IWORKToken::layoutstyle_ref> FollowingLayoutStyleElement;
-typedef StylePropertyContext<property::FollowingParagraphStyle, IWORKToken::NS_URI_SF | IWORKToken::paragraphstyle, IWORKToken::NS_URI_SF | IWORKToken::paragraphstyle_ref> FollowingParagraphStyleElement;
-typedef StylePropertyContext<property::LabelCharacterStyle, IWORKToken::NS_URI_SF | IWORKToken::characterstyle, IWORKToken::NS_URI_SF | IWORKToken::characterstyle_ref> LabelCharacterStyleElement;
-typedef StylePropertyContext<property::LayoutParagraphStyle, IWORKToken::NS_URI_SF | IWORKToken::paragraphstyle, IWORKToken::NS_URI_SF | IWORKToken::paragraphstyle_ref> LayoutParagraphStyleElement;
-typedef StylePropertyContext<property::LayoutStyle, IWORKToken::NS_URI_SF | IWORKToken::layoutstyle, IWORKToken::NS_URI_SF | IWORKToken::layoutstyle_ref> LayoutStyleElement;
-typedef StylePropertyContext<property::ListStyle, IWORKToken::NS_URI_SF | IWORKToken::liststyle, IWORKToken::NS_URI_SF | IWORKToken::liststyle_ref> ListStyleElement;
+typedef StylePropertyContext<property::FollowingLayoutStyle, +IWORKToken::NS_URI_SF | IWORKToken::layoutstyle, +IWORKToken::NS_URI_SF | IWORKToken::layoutstyle_ref> FollowingLayoutStyleElement;
+typedef StylePropertyContext<property::FollowingParagraphStyle, +IWORKToken::NS_URI_SF | IWORKToken::paragraphstyle, +IWORKToken::NS_URI_SF | IWORKToken::paragraphstyle_ref> FollowingParagraphStyleElement;
+typedef StylePropertyContext<property::LabelCharacterStyle, +IWORKToken::NS_URI_SF | IWORKToken::characterstyle, +IWORKToken::NS_URI_SF | IWORKToken::characterstyle_ref> LabelCharacterStyleElement;
+typedef StylePropertyContext<property::LayoutParagraphStyle, +IWORKToken::NS_URI_SF | IWORKToken::paragraphstyle, +IWORKToken::NS_URI_SF | IWORKToken::paragraphstyle_ref> LayoutParagraphStyleElement;
+typedef StylePropertyContext<property::LayoutStyle, +IWORKToken::NS_URI_SF | IWORKToken::layoutstyle, +IWORKToken::NS_URI_SF | IWORKToken::layoutstyle_ref> LayoutStyleElement;
+typedef StylePropertyContext<property::ListStyle, +IWORKToken::NS_URI_SF | IWORKToken::liststyle, +IWORKToken::NS_URI_SF | IWORKToken::liststyle_ref> ListStyleElement;
 // in Pages, followed by a tocstyle, in Number by a paragraph-style ?
-typedef StylePropertyContext<property::TocStyle, IWORKToken::NS_URI_SF | IWORKToken::tocstyle, IWORKToken::NS_URI_SF | IWORKToken::tocstyle_ref
-, IWORKToken::NS_URI_SF | IWORKToken::paragraphstyle, IWORKToken::NS_URI_SF | IWORKToken::paragraphstyle_ref> TocStyleElement;
-typedef StylePropertyContext<property::SFSeries, IWORKToken::NS_URI_SF | IWORKToken::chart_series_style, IWORKToken::NS_URI_SF | IWORKToken::chart_series_style_ref> SFSeriesElement;
+typedef StylePropertyContext<property::TocStyle, +IWORKToken::NS_URI_SF | IWORKToken::tocstyle, +IWORKToken::NS_URI_SF | IWORKToken::tocstyle_ref
+, +IWORKToken::NS_URI_SF | IWORKToken::paragraphstyle, +IWORKToken::NS_URI_SF | IWORKToken::paragraphstyle_ref> TocStyleElement;
+typedef StylePropertyContext<property::SFSeries, +IWORKToken::NS_URI_SF | IWORKToken::chart_series_style, +IWORKToken::NS_URI_SF | IWORKToken::chart_series_style_ref> SFSeriesElement;
 typedef RedirectPropertyContext<property::SFC2DAreaFillProperty, IWORKFillElement> SFC2DAreaFillPropertyElement;
 typedef RedirectPropertyContext<property::SFC2DColumnFillProperty, IWORKFillElement> SFC2DColumnFillPropertyElement;
 typedef RedirectPropertyContext<property::SFC2DMixedColumnFillProperty, IWORKFillElement> SFC2DMixedColumnFillPropertyElement;
@@ -853,25 +853,25 @@
 typedef RedirectPropertyContext<property::SFC3DColumnFillProperty, IWORKFillElement> SFC3DColumnFillPropertyElement;
 typedef RedirectPropertyContext<property::SFC3DPieFillProperty, IWORKFillElement> SFC3DPieFillPropertyElement;
 typedef RedirectPropertyContext<property::SFTableCellStylePropertyFill, IWORKFillElement> SFTableCellStylePropertyFillElement;
-typedef StylePropertyContext<property::SFTableStylePropertyCellStyle, IWORKToken::NS_URI_SF | IWORKToken::table_cell_style, IWORKToken::NS_URI_SF | IWORKToken::table_cell_style_ref> SFTableStylePropertyCellStyleElement;
-typedef StylePropertyContext<property::SFTableStylePropertyHeaderColumnCellStyle, IWORKToken::NS_URI_SF | IWORKToken::table_cell_style, IWORKToken::NS_URI_SF | IWORKToken::table_cell_style_ref> SFTableStylePropertyHeaderColumnCellStyleElement;
-typedef StylePropertyContext<property::SFTableStylePropertyHeaderRowCellStyle, IWORKToken::NS_URI_SF | IWORKToken::table_cell_style, IWORKToken::NS_URI_SF | IWORKToken::table_cell_style_ref> SFTableStylePropertyHeaderRowCellStyleElement;
-typedef StylePropertyContext<property::SFTCellStylePropertyLayoutStyle, IWORKToken::NS_URI_SF | IWORKToken::layoutstyle, IWORKToken::NS_URI_SF | IWORKToken::layoutstyle_ref> SFTCellStylePropertyLayoutStylePropertyElement;
-typedef StylePropertyContext<property::SFTCellStylePropertyParagraphStyle, IWORKToken::NS_URI_SF | IWORKToken::paragraphstyle, IWORKToken::NS_URI_SF | IWORKToken::paragraphstyle_ref> SFTCellStylePropertyParagraphStylePropertyElement;
-typedef StylePropertyContext<property::SFTDefaultBodyCellStyleProperty, IWORKToken::NS_URI_SF | IWORKToken::cell_style, IWORKToken::NS_URI_SF | IWORKToken::cell_style_ref> SFTDefaultBodyCellStylePropertyElement;
-typedef StylePropertyContext<property::SFTDefaultBodyVectorStyleProperty, IWORKToken::NS_URI_SF | IWORKToken::vector_style, IWORKToken::NS_URI_SF | IWORKToken::vector_style_ref> SFTDefaultBodyVectorStylePropertyElement;
-typedef StylePropertyContext<property::SFTDefaultBorderVectorStyleProperty, IWORKToken::NS_URI_SF | IWORKToken::vector_style, IWORKToken::NS_URI_SF | IWORKToken::vector_style_ref> SFTDefaultBorderVectorStylePropertyElement;
-typedef StylePropertyContext<property::SFTDefaultFooterBodyVectorStyleProperty, IWORKToken::NS_URI_SF | IWORKToken::vector_style, IWORKToken::NS_URI_SF | IWORKToken::vector_style_ref> SFTDefaultFooterBodyVectorStylePropertyElement;
-typedef StylePropertyContext<property::SFTDefaultFooterRowCellStyleProperty, IWORKToken::NS_URI_SF | IWORKToken::cell_style, IWORKToken::NS_URI_SF | IWORKToken::cell_style_ref> SFTDefaultFooterRowCellStylePropertyElement;
-typedef StylePropertyContext<property::SFTDefaultFooterSeparatorVectorStyleProperty, IWORKToken::NS_URI_SF | IWORKToken::vector_style, IWORKToken::NS_URI_SF | IWORKToken::vector_style_ref> SFTDefaultFooterSeparatorVectorStylePropertyElement;
-typedef StylePropertyContext<property::SFTDefaultGroupingLevelVectorStyleProperty, IWORKToken::NS_URI_SF | IWORKToken::vector_style, IWORKToken::NS_URI_SF | IWORKToken::vector_style_ref> SFTDefaultGroupingLevelVectorStylePropertyElement;
-typedef StylePropertyContext<property::SFTDefaultGroupingRowCellStyleProperty, IWORKToken::NS_URI_SF | IWORKToken::cell_style, IWORKToken::NS_URI_SF | IWORKToken::cell_style_ref> SFTDefaultGroupingRowCellStylePropertyElement;
-typedef StylePropertyContext<property::SFTDefaultHeaderBodyVectorStyleProperty, IWORKToken::NS_URI_SF | IWORKToken::vector_style, IWORKToken::NS_URI_SF | IWORKToken::vector_style_ref> SFTDefaultHeaderBodyVectorStylePropertyElement;
-typedef StylePropertyContext<property::SFTDefaultHeaderColumnCellStyleProperty, IWORKToken::NS_URI_SF | IWORKToken::cell_style, IWORKToken::NS_URI_SF | IWORKToken::cell_style_ref> SFTDefaultHeaderColumnCellStylePropertyElement;
-typedef StylePropertyContext<property::SFTDefaultHeaderRowCellStyleProperty, IWORKToken::NS_URI_SF | IWORKToken::cell_style, IWORKToken::NS_URI_SF | IWORKToken::cell_style_ref> SFTDefaultHeaderRowCellStylePropertyElement;
-typedef StylePropertyContext<property::SFTDefaultHeaderSeparatorVectorStyleProperty, IWORKToken::NS_URI_SF | IWORKToken::vector_style, IWORKToken::NS_URI_SF | IWORKToken::vector_style_ref> SFTDefaultHeaderSeparatorVectorStylePropertyElement;
-typedef StylePropertyContext<property::SFTTableNameStylePropertyLayoutStyle, IWORKToken::NS_URI_SF | IWORKToken::layoutstyle, IWORKToken::NS_URI_SF | IWORKToken::layoutstyle_ref> SFTTableNameStylePropertyLayoutStyleElement;
-typedef StylePropertyContext<property::SFTTableNameStylePropertyParagraphStyle, IWORKToken::NS_URI_SF | IWORKToken::paragraphstyle, IWORKToken::NS_URI_SF | IWORKToken::paragraphstyle_ref> SFTTableNameStylePropertyParagraphStyleElement;
+typedef StylePropertyContext<property::SFTableStylePropertyCellStyle, +IWORKToken::NS_URI_SF | IWORKToken::table_cell_style, +IWORKToken::NS_URI_SF | IWORKToken::table_cell_style_ref> SFTableStylePropertyCellStyleElement;
+typedef StylePropertyContext<property::SFTableStylePropertyHeaderColumnCellStyle, +IWORKToken::NS_URI_SF | IWORKToken::table_cell_style, +IWORKToken::NS_URI_SF | IWORKToken::table_cell_style_ref> SFTableStylePropertyHeaderColumnCellStyleElement;
+typedef StylePropertyContext<property::SFTableStylePropertyHeaderRowCellStyle, +IWORKToken::NS_URI_SF | IWORKToken::table_cell_style, +IWORKToken::NS_URI_SF | IWORKToken::table_cell_style_ref> SFTableStylePropertyHeaderRowCellStyleElement;
+typedef StylePropertyContext<property::SFTCellStylePropertyLayoutStyle, +IWORKToken::NS_URI_SF | IWORKToken::layoutstyle, +IWORKToken::NS_URI_SF | IWORKToken::layoutstyle_ref> SFTCellStylePropertyLayoutStylePropertyElement;
+typedef StylePropertyContext<property::SFTCellStylePropertyParagraphStyle, +IWORKToken::NS_URI_SF | IWORKToken::paragraphstyle, +IWORKToken::NS_URI_SF | IWORKToken::paragraphstyle_ref> SFTCellStylePropertyParagraphStylePropertyElement;
+typedef StylePropertyContext<property::SFTDefaultBodyCellStyleProperty, +IWORKToken::NS_URI_SF | IWORKToken::cell_style, +IWORKToken::NS_URI_SF | IWORKToken::cell_style_ref> SFTDefaultBodyCellStylePropertyElement;
+typedef StylePropertyContext<property::SFTDefaultBodyVectorStyleProperty, +IWORKToken::NS_URI_SF | IWORKToken::vector_style, +IWORKToken::NS_URI_SF | IWORKToken::vector_style_ref> SFTDefaultBodyVectorStylePropertyElement;
+typedef StylePropertyContext<property::SFTDefaultBorderVectorStyleProperty, +IWORKToken::NS_URI_SF | IWORKToken::vector_style, +IWORKToken::NS_URI_SF | IWORKToken::vector_style_ref> SFTDefaultBorderVectorStylePropertyElement;
+typedef StylePropertyContext<property::SFTDefaultFooterBodyVectorStyleProperty, +IWORKToken::NS_URI_SF | IWORKToken::vector_style, +IWORKToken::NS_URI_SF | IWORKToken::vector_style_ref> SFTDefaultFooterBodyVectorStylePropertyElement;
+typedef StylePropertyContext<property::SFTDefaultFooterRowCellStyleProperty, +IWORKToken::NS_URI_SF | IWORKToken::cell_style, +IWORKToken::NS_URI_SF | IWORKToken::cell_style_ref> SFTDefaultFooterRowCellStylePropertyElement;
+typedef StylePropertyContext<property::SFTDefaultFooterSeparatorVectorStyleProperty, +IWORKToken::NS_URI_SF | IWORKToken::vector_style, +IWORKToken::NS_URI_SF | IWORKToken::vector_style_ref> SFTDefaultFooterSeparatorVectorStylePropertyElement;
+typedef StylePropertyContext<property::SFTDefaultGroupingLevelVectorStyleProperty, +IWORKToken::NS_URI_SF | IWORKToken::vector_style, +IWORKToken::NS_URI_SF | IWORKToken::vector_style_ref> SFTDefaultGroupingLevelVectorStylePropertyElement;
+typedef StylePropertyContext<property::SFTDefaultGroupingRowCellStyleProperty, +IWORKToken::NS_URI_SF | IWORKToken::cell_style, +IWORKToken::NS_URI_SF | IWORKToken::cell_style_ref> SFTDefaultGroupingRowCellStylePropertyElement;
+typedef StylePropertyContext<property::SFTDefaultHeaderBodyVectorStyleProperty, +IWORKToken::NS_URI_SF | IWORKToken::vector_style, +IWORKToken::NS_URI_SF | IWORKToken::vector_style_ref> SFTDefaultHeaderBodyVectorStylePropertyElement;
+typedef StylePropertyContext<property::SFTDefaultHeaderColumnCellStyleProperty, +IWORKToken::NS_URI_SF | IWORKToken::cell_style, +IWORKToken::NS_URI_SF | IWORKToken::cell_style_ref> SFTDefaultHeaderColumnCellStylePropertyElement;
+typedef StylePropertyContext<property::SFTDefaultHeaderRowCellStyleProperty, +IWORKToken::NS_URI_SF | IWORKToken::cell_style, +IWORKToken::NS_URI_SF | IWORKToken::cell_style_ref> SFTDefaultHeaderRowCellStylePropertyElement;
+typedef StylePropertyContext<property::SFTDefaultHeaderSeparatorVectorStyleProperty, +IWORKToken::NS_URI_SF | IWORKToken::vector_style, +IWORKToken::NS_URI_SF | IWORKToken::vector_style_ref> SFTDefaultHeaderSeparatorVectorStylePropertyElement;
+typedef StylePropertyContext<property::SFTTableNameStylePropertyLayoutStyle, +IWORKToken::NS_URI_SF | IWORKToken::layoutstyle, +IWORKToken::NS_URI_SF | IWORKToken::layoutstyle_ref> SFTTableNameStylePropertyLayoutStyleElement;
+typedef StylePropertyContext<property::SFTTableNameStylePropertyParagraphStyle, +IWORKToken::NS_URI_SF | IWORKToken::paragraphstyle, +IWORKToken::NS_URI_SF | IWORKToken::paragraphstyle_ref> SFTTableNameStylePropertyParagraphStyleElement;
 
 typedef IWORKNumericPropertyContext<property::Alignment> AlignmentElement;
 typedef IWORKNumericPropertyContext<property::Baseline> SuperscriptElement;
@@ -923,206 +923,206 @@
 
   switch (name)
   {
-  case IWORKToken::NS_URI_SF | IWORKToken::alignment :
+  case +IWORKToken::NS_URI_SF | IWORKToken::alignment :
     return std::make_shared<AlignmentElement>(getState(), *m_propMap);
-  case IWORKToken::NS_URI_SF | IWORKToken::baselineShift :
+  case +IWORKToken::NS_URI_SF | IWORKToken::baselineShift :
     return std::make_shared<BaselineShiftElement>(getState(), *m_propMap);
-  case IWORKToken::NS_URI_SF | IWORKToken::bold :
+  case +IWORKToken::NS_URI_SF | IWORKToken::bold :
     return std::make_shared<BoldElement>(getState(), *m_propMap);
-  case IWORKToken::NS_URI_SF | IWORKToken::capitalization :
+  case +IWORKToken::NS_URI_SF | IWORKToken::capitalization :
     return std::make_shared<CapitalizationElement>(getState(), *m_propMap);
-  case IWORKToken::NS_URI_SF | IWORKToken::columns :
+  case +IWORKToken::NS_URI_SF | IWORKToken::columns :
     return std::make_shared<ColumnsPropertyElement>(getState(), *m_propMap, getState().getDictionary().m_columnSets);
-  case IWORKToken::NS_URI_SF | IWORKToken::externalTextWrap:
+  case +IWORKToken::NS_URI_SF | IWORKToken::externalTextWrap:
     return std::make_shared<ExternalTextWrapElement>(getState(), *m_propMap, getState().getDictionary().m_externalTextWraps);
-  case IWORKToken::NS_URI_SF | IWORKToken::fill :
+  case +IWORKToken::NS_URI_SF | IWORKToken::fill :
     return std::make_shared<FillPropertyElement>(getState(), *m_propMap);
-  case IWORKToken::NS_URI_SF | IWORKToken::filters :
+  case +IWORKToken::NS_URI_SF | IWORKToken::filters :
     return std::make_shared<FiltersElement>(getState(), *m_propMap);
-  case IWORKToken::NS_URI_SF | IWORKToken::firstLineIndent :
+  case +IWORKToken::NS_URI_SF | IWORKToken::firstLineIndent :
     return std::make_shared<FirstLineIndentElement>(getState(), *m_propMap);
-  case IWORKToken::NS_URI_SF | IWORKToken::followingLayoutStyle :
+  case +IWORKToken::NS_URI_SF | IWORKToken::followingLayoutStyle :
     return std::make_shared<FollowingLayoutStyleElement>(getState(), *m_propMap, getState().getDictionary().m_layoutStyles);
-  case IWORKToken::NS_URI_SF | IWORKToken::followingParagraphStyle :
+  case +IWORKToken::NS_URI_SF | IWORKToken::followingParagraphStyle :
     return std::make_shared<FollowingParagraphStyleElement>(getState(), *m_propMap, getState().getDictionary().m_paragraphStyles);
-  case IWORKToken::NS_URI_SF | IWORKToken::fontColor :
+  case +IWORKToken::NS_URI_SF | IWORKToken::fontColor :
     return std::make_shared<FontColorElement>(getState(), *m_propMap);
-  case IWORKToken::NS_URI_SF | IWORKToken::fontName :
+  case +IWORKToken::NS_URI_SF | IWORKToken::fontName :
     return std::make_shared<FontNameElement>(getState(), *m_propMap);
-  case IWORKToken::NS_URI_SF | IWORKToken::fontSize :
+  case +IWORKToken::NS_URI_SF | IWORKToken::fontSize :
     return std::make_shared<FontSizeElement>(getState(), *m_propMap);
-  case IWORKToken::NS_URI_SF | IWORKToken::geometry :
+  case +IWORKToken::NS_URI_SF | IWORKToken::geometry :
     return std::make_shared<GeometryElement>(getState(), *m_propMap);
-  case IWORKToken::NS_URI_SF | IWORKToken::headLineEnd :
+  case +IWORKToken::NS_URI_SF | IWORKToken::headLineEnd :
     return std::make_shared<HeadLineEndElement>(getState(), *m_propMap);
-  case IWORKToken::NS_URI_SF | IWORKToken::italic :
+  case +IWORKToken::NS_URI_SF | IWORKToken::italic :
     return std::make_shared<ItalicElement>(getState(), *m_propMap);
-  case IWORKToken::NS_URI_SF | IWORKToken::keepLinesTogether :
+  case +IWORKToken::NS_URI_SF | IWORKToken::keepLinesTogether :
     return std::make_shared<KeepLinesTogetherElement>(getState(), *m_propMap);
-  case IWORKToken::NS_URI_SF | IWORKToken::keepWithNext :
+  case +IWORKToken::NS_URI_SF | IWORKToken::keepWithNext :
     return std::make_shared<KeepWithNextElement>(getState(), *m_propMap);
-  case IWORKToken::NS_URI_SF | IWORKToken::labelCharacterStyle1 :
-  case IWORKToken::NS_URI_SF | IWORKToken::labelCharacterStyle2 :
-  case IWORKToken::NS_URI_SF | IWORKToken::labelCharacterStyle3 :
-  case IWORKToken::NS_URI_SF | IWORKToken::labelCharacterStyle4 :
-  case IWORKToken::NS_URI_SF | IWORKToken::labelCharacterStyle5 :
-  case IWORKToken::NS_URI_SF | IWORKToken::labelCharacterStyle6 :
-  case IWORKToken::NS_URI_SF | IWORKToken::labelCharacterStyle7 :
-  case IWORKToken::NS_URI_SF | IWORKToken::labelCharacterStyle8 :
-  case IWORKToken::NS_URI_SF | IWORKToken::labelCharacterStyle9 :
+  case +IWORKToken::NS_URI_SF | IWORKToken::labelCharacterStyle1 :
+  case +IWORKToken::NS_URI_SF | IWORKToken::labelCharacterStyle2 :
+  case +IWORKToken::NS_URI_SF | IWORKToken::labelCharacterStyle3 :
+  case +IWORKToken::NS_URI_SF | IWORKToken::labelCharacterStyle4 :
+  case +IWORKToken::NS_URI_SF | IWORKToken::labelCharacterStyle5 :
+  case +IWORKToken::NS_URI_SF | IWORKToken::labelCharacterStyle6 :
+  case +IWORKToken::NS_URI_SF | IWORKToken::labelCharacterStyle7 :
+  case +IWORKToken::NS_URI_SF | IWORKToken::labelCharacterStyle8 :
+  case +IWORKToken::NS_URI_SF | IWORKToken::labelCharacterStyle9 :
     // CHANGE: this must be used to retrieve some Wingdings bullet character
     return std::make_shared<LabelCharacterStyleElement>(getState(), *m_propMap, getState().getDictionary().m_characterStyles);
-  case IWORKToken::NS_URI_SF | IWORKToken::language :
+  case +IWORKToken::NS_URI_SF | IWORKToken::language :
     return std::make_shared<LanguageElement>(getState(), *m_propMap);
-  case IWORKToken::NS_URI_SF | IWORKToken::layoutMargins :
+  case +IWORKToken::NS_URI_SF | IWORKToken::layoutMargins :
     return std::make_shared<LayoutMarginsElement>(getState(), *m_propMap, getState().getDictionary().m_paddings);
-  case IWORKToken::NS_URI_SF | IWORKToken::layoutParagraphStyle :
+  case +IWORKToken::NS_URI_SF | IWORKToken::layoutParagraphStyle :
     return std::make_shared<LayoutParagraphStyleElement>(getState(), *m_propMap, getState().getDictionary().m_paragraphStyles);
-  case IWORKToken::NS_URI_SF | IWORKToken::layoutStyle :
+  case +IWORKToken::NS_URI_SF | IWORKToken::layoutStyle :
     return std::make_shared<LayoutStyleElement>(getState(), *m_propMap, getState().getDictionary().m_layoutStyles);
-  case IWORKToken::NS_URI_SF | IWORKToken::leftIndent :
+  case +IWORKToken::NS_URI_SF | IWORKToken::leftIndent :
     return std::make_shared<LeftIndentElement>(getState(), *m_propMap);
-  case IWORKToken::NS_URI_SF | IWORKToken::lineSpacing :
+  case +IWORKToken::NS_URI_SF | IWORKToken::lineSpacing :
     return std::make_shared<LineSpacingElement>(getState(), *m_propMap, getState().getDictionary().m_lineSpacings);
-  case IWORKToken::NS_URI_SF | IWORKToken::listLabelGeometries :
+  case +IWORKToken::NS_URI_SF | IWORKToken::listLabelGeometries :
     return std::make_shared<IWORKListLabelGeometriesProperty>(getState(), *m_propMap);
-  case IWORKToken::NS_URI_SF | IWORKToken::listLabelIndents :
+  case +IWORKToken::NS_URI_SF | IWORKToken::listLabelIndents :
     return std::make_shared<IWORKListLabelIndentsProperty>(getState(), *m_propMap);
-  case IWORKToken::NS_URI_SF | IWORKToken::listLabelTypes :
+  case +IWORKToken::NS_URI_SF | IWORKToken::listLabelTypes :
     return std::make_shared<IWORKListLabelTypesProperty>(getState(), *m_propMap);
-  case IWORKToken::NS_URI_SF | IWORKToken::listStyle :
+  case +IWORKToken::NS_URI_SF | IWORKToken::listStyle :
     return std::make_shared<ListStyleElement>(getState(), *m_propMap, getState().getDictionary().m_listStyles);
-  case IWORKToken::NS_URI_SF | IWORKToken::listTextIndents :
+  case +IWORKToken::NS_URI_SF | IWORKToken::listTextIndents :
     return std::make_shared<IWORKListTextIndentsProperty>(getState(), *m_propMap);
-  case IWORKToken::NS_URI_SF | IWORKToken::opacity :
+  case +IWORKToken::NS_URI_SF | IWORKToken::opacity :
     return std::make_shared<OpacityElement>(getState(), *m_propMap);
-  case IWORKToken::NS_URI_SF | IWORKToken::outline :
+  case +IWORKToken::NS_URI_SF | IWORKToken::outline :
     return std::make_shared<OutlineElement>(getState(), *m_propMap);
-  case IWORKToken::NS_URI_SF | IWORKToken::padding :
+  case +IWORKToken::NS_URI_SF | IWORKToken::padding :
     return std::make_shared<PaddingContext>(getState(), *m_propMap, getState().getDictionary().m_paddings);
-  case IWORKToken::NS_URI_SF | IWORKToken::pageBreakBefore :
+  case +IWORKToken::NS_URI_SF | IWORKToken::pageBreakBefore :
     return std::make_shared<PageBreakBeforeElement>(getState(), *m_propMap);
-  case IWORKToken::NS_URI_SF | IWORKToken::paragraphBorderType :
+  case +IWORKToken::NS_URI_SF | IWORKToken::paragraphBorderType :
     return std::make_shared<ParagraphBorderTypeElement>(getState(), *m_propMap);
-  case IWORKToken::NS_URI_SF | IWORKToken::paragraphFill :
+  case +IWORKToken::NS_URI_SF | IWORKToken::paragraphFill :
     return std::make_shared<ParagraphFillElement>(getState(), *m_propMap);
-  case IWORKToken::NS_URI_SF | IWORKToken::paragraphStroke :
+  case +IWORKToken::NS_URI_SF | IWORKToken::paragraphStroke :
     return std::make_shared<ParagraphStrokeElement>(getState(), *m_propMap);
-  case IWORKToken::NS_URI_SF | IWORKToken::rightIndent :
+  case +IWORKToken::NS_URI_SF | IWORKToken::rightIndent :
     return std::make_shared<RightIndentElement>(getState(), *m_propMap);
-  case IWORKToken::NS_URI_SF | IWORKToken::tailLineEnd :
+  case +IWORKToken::NS_URI_SF | IWORKToken::tailLineEnd :
     return std::make_shared<TailLineEndElement>(getState(), *m_propMap);
-  case IWORKToken::NS_URI_SF | IWORKToken::Series_0 :
-  case IWORKToken::NS_URI_SF | IWORKToken::Series_1 :
-  case IWORKToken::NS_URI_SF | IWORKToken::Series_2 :
-  case IWORKToken::NS_URI_SF | IWORKToken::Series_3 :
-  case IWORKToken::NS_URI_SF | IWORKToken::Series_4 :
-  case IWORKToken::NS_URI_SF | IWORKToken::Series_5 :
-  case IWORKToken::NS_URI_SF | IWORKToken::Series_6 :
-  case IWORKToken::NS_URI_SF | IWORKToken::Series_7 :
+  case +IWORKToken::NS_URI_SF | IWORKToken::Series_0 :
+  case +IWORKToken::NS_URI_SF | IWORKToken::Series_1 :
+  case +IWORKToken::NS_URI_SF | IWORKToken::Series_2 :
+  case +IWORKToken::NS_URI_SF | IWORKToken::Series_3 :
+  case +IWORKToken::NS_URI_SF | IWORKToken::Series_4 :
+  case +IWORKToken::NS_URI_SF | IWORKToken::Series_5 :
+  case +IWORKToken::NS_URI_SF | IWORKToken::Series_6 :
+  case +IWORKToken::NS_URI_SF | IWORKToken::Series_7 :
     // CHANGEME
     return std::make_shared<SFSeriesElement>(getState(), *m_propMap, getState().getDictionary().m_chartSeriesStyles);
-  case IWORKToken::NS_URI_SF | IWORKToken::SFC2DAreaFillProperty :
+  case +IWORKToken::NS_URI_SF | IWORKToken::SFC2DAreaFillProperty :
     return std::make_shared<SFC2DAreaFillPropertyElement>(getState(), *m_propMap);
-  case IWORKToken::NS_URI_SF | IWORKToken::SFC2DColumnFillProperty :
+  case +IWORKToken::NS_URI_SF | IWORKToken::SFC2DColumnFillProperty :
     return std::make_shared<SFC2DColumnFillPropertyElement>(getState(), *m_propMap);
-  case IWORKToken::NS_URI_SF | IWORKToken::SFC2DMixedColumnFillProperty :
+  case +IWORKToken::NS_URI_SF | IWORKToken::SFC2DMixedColumnFillProperty :
     return std::make_shared<SFC2DMixedColumnFillPropertyElement>(getState(), *m_propMap);
-  case IWORKToken::NS_URI_SF | IWORKToken::SFC2DPieFillProperty :
+  case +IWORKToken::NS_URI_SF | IWORKToken::SFC2DPieFillProperty :
     return std::make_shared<SFC2DPieFillPropertyElement>(getState(), *m_propMap);
-  case IWORKToken::NS_URI_SF | IWORKToken::SFC3DAreaFillProperty :
+  case +IWORKToken::NS_URI_SF | IWORKToken::SFC3DAreaFillProperty :
     return std::make_shared<SFC3DAreaFillPropertyElement>(getState(), *m_propMap);
-  case IWORKToken::NS_URI_SF | IWORKToken::SFC3DColumnFillProperty :
+  case +IWORKToken::NS_URI_SF | IWORKToken::SFC3DColumnFillProperty :
     return std::make_shared<SFC3DColumnFillPropertyElement>(getState(), *m_propMap);
-  case IWORKToken::NS_URI_SF | IWORKToken::SFC3DPieFillProperty :
+  case +IWORKToken::NS_URI_SF | IWORKToken::SFC3DPieFillProperty :
     return std::make_shared<SFC2DPieFillPropertyElement>(getState(), *m_propMap);
-  case IWORKToken::NS_URI_SF | IWORKToken::SFTableCellStylePropertyFill :
+  case +IWORKToken::NS_URI_SF | IWORKToken::SFTableCellStylePropertyFill :
     return std::make_shared<SFTableCellStylePropertyFillElement>(getState(), *m_propMap);
-  case IWORKToken::NS_URI_SF | IWORKToken::SFTableStylePropertyCellStyle :
+  case +IWORKToken::NS_URI_SF | IWORKToken::SFTableStylePropertyCellStyle :
     return std::make_shared<SFTableStylePropertyCellStyleElement>(getState(), *m_propMap, getState().getDictionary().m_tableCellStyles);
-  case IWORKToken::NS_URI_SF | IWORKToken::SFTableStylePropertyHeaderColumnCellStyle :
+  case +IWORKToken::NS_URI_SF | IWORKToken::SFTableStylePropertyHeaderColumnCellStyle :
     return std::make_shared<SFTableStylePropertyHeaderColumnCellStyleElement>(getState(), *m_propMap, getState().getDictionary().m_tableCellStyles);
-  case IWORKToken::NS_URI_SF | IWORKToken::SFTableStylePropertyHeaderRowCellStyle :
+  case +IWORKToken::NS_URI_SF | IWORKToken::SFTableStylePropertyHeaderRowCellStyle :
     return std::make_shared<SFTableStylePropertyHeaderRowCellStyleElement>(getState(), *m_propMap, getState().getDictionary().m_tableCellStyles);
-  case IWORKToken::NS_URI_SF | IWORKToken::SFTCellStylePropertyNumberFormat :
+  case +IWORKToken::NS_URI_SF | IWORKToken::SFTCellStylePropertyNumberFormat :
     return std::make_shared<SFTCellStylePropertyNumberFormatElement>(getState(), *m_propMap, getState().getDictionary().m_numberFormats);
-  case IWORKToken::NS_URI_SF | IWORKToken::SFTCellStylePropertyDateTimeFormat :
+  case +IWORKToken::NS_URI_SF | IWORKToken::SFTCellStylePropertyDateTimeFormat :
     return std::make_shared<SFTCellStylePropertyDateTimeFormatElement>(getState(), *m_propMap, getState().getDictionary().m_dateTimeFormats);
-  case IWORKToken::NS_URI_SF | IWORKToken::SFTCellStylePropertyDurationFormat :
+  case +IWORKToken::NS_URI_SF | IWORKToken::SFTCellStylePropertyDurationFormat :
     return std::make_shared<SFTCellStylePropertyDurationFormatElement>(getState(), *m_propMap, getState().getDictionary().m_durationFormats);
-  case IWORKToken::NS_URI_SF | IWORKToken::SFTCellStylePropertyLayoutStyle :
+  case +IWORKToken::NS_URI_SF | IWORKToken::SFTCellStylePropertyLayoutStyle :
     return std::make_shared<SFTCellStylePropertyLayoutStylePropertyElement>(getState(), *m_propMap, getState().getDictionary().m_layoutStyles);
-  case IWORKToken::NS_URI_SF | IWORKToken::SFTCellStylePropertyParagraphStyle :
+  case +IWORKToken::NS_URI_SF | IWORKToken::SFTCellStylePropertyParagraphStyle :
     return std::make_shared<SFTCellStylePropertyParagraphStylePropertyElement>(getState(), *m_propMap, getState().getDictionary().m_paragraphStyles);
-  case IWORKToken::NS_URI_SF | IWORKToken::SFTDefaultBodyCellStyleProperty :
+  case +IWORKToken::NS_URI_SF | IWORKToken::SFTDefaultBodyCellStyleProperty :
     return std::make_shared<SFTDefaultBodyCellStylePropertyElement>(getState(), *m_propMap, getState().getDictionary().m_cellStyles);
-  case IWORKToken::NS_URI_SF | IWORKToken::SFTDefaultBodyVectorStyleProperty :
+  case +IWORKToken::NS_URI_SF | IWORKToken::SFTDefaultBodyVectorStyleProperty :
     return std::make_shared<SFTDefaultBodyVectorStylePropertyElement>(getState(), *m_propMap, getState().getDictionary().m_vectorStyles);
-  case IWORKToken::NS_URI_SF | IWORKToken::SFTDefaultBorderVectorStyleProperty :
+  case +IWORKToken::NS_URI_SF | IWORKToken::SFTDefaultBorderVectorStyleProperty :
     return std::make_shared<SFTDefaultBorderVectorStylePropertyElement>(getState(), *m_propMap, getState().getDictionary().m_vectorStyles);
-  case IWORKToken::NS_URI_SF | IWORKToken::SFTDefaultFooterBodyVectorStyleProperty :
+  case +IWORKToken::NS_URI_SF | IWORKToken::SFTDefaultFooterBodyVectorStyleProperty :
     return std::make_shared<SFTDefaultFooterBodyVectorStylePropertyElement>(getState(), *m_propMap, getState().getDictionary().m_vectorStyles);
-  case IWORKToken::NS_URI_SF | IWORKToken::SFTDefaultFooterRowCellStyleProperty :
+  case +IWORKToken::NS_URI_SF | IWORKToken::SFTDefaultFooterRowCellStyleProperty :
     return std::make_shared<SFTDefaultFooterRowCellStylePropertyElement>(getState(), *m_propMap, getState().getDictionary().m_cellStyles);
-  case IWORKToken::NS_URI_SF | IWORKToken::SFTDefaultFooterSeparatorVectorStyleProperty :
+  case +IWORKToken::NS_URI_SF | IWORKToken::SFTDefaultFooterSeparatorVectorStyleProperty :
     return std::make_shared<SFTDefaultFooterSeparatorVectorStylePropertyElement>(getState(), *m_propMap, getState().getDictionary().m_vectorStyles);
-  case IWORKToken::NS_URI_SF | IWORKToken::SFTDefaultGroupingLevel0VectorStyleProperty:
-  case IWORKToken::NS_URI_SF | IWORKToken::SFTDefaultGroupingLevel1VectorStyleProperty:
-  case IWORKToken::NS_URI_SF | IWORKToken::SFTDefaultGroupingLevel2VectorStyleProperty:
-  case IWORKToken::NS_URI_SF | IWORKToken::SFTDefaultGroupingLevel3VectorStyleProperty:
-  case IWORKToken::NS_URI_SF | IWORKToken::SFTDefaultGroupingLevel4VectorStyleProperty:
-  case IWORKToken::NS_URI_SF | IWORKToken::SFTDefaultGroupingLevel5VectorStyleProperty:
+  case +IWORKToken::NS_URI_SF | IWORKToken::SFTDefaultGroupingLevel0VectorStyleProperty:
+  case +IWORKToken::NS_URI_SF | IWORKToken::SFTDefaultGroupingLevel1VectorStyleProperty:
+  case +IWORKToken::NS_URI_SF | IWORKToken::SFTDefaultGroupingLevel2VectorStyleProperty:
+  case +IWORKToken::NS_URI_SF | IWORKToken::SFTDefaultGroupingLevel3VectorStyleProperty:
+  case +IWORKToken::NS_URI_SF | IWORKToken::SFTDefaultGroupingLevel4VectorStyleProperty:
+  case +IWORKToken::NS_URI_SF | IWORKToken::SFTDefaultGroupingLevel5VectorStyleProperty:
     return std::make_shared<SFTDefaultGroupingLevelVectorStylePropertyElement>(getState(), *m_propMap, getState().getDictionary().m_vectorStyles);
-  case IWORKToken::NS_URI_SF | IWORKToken::SFTDefaultGroupingRowCell0StyleProperty :
-  case IWORKToken::NS_URI_SF | IWORKToken::SFTDefaultGroupingRowCell1StyleProperty :
-  case IWORKToken::NS_URI_SF | IWORKToken::SFTDefaultGroupingRowCell2StyleProperty :
-  case IWORKToken::NS_URI_SF | IWORKToken::SFTDefaultGroupingRowCell3StyleProperty :
-  case IWORKToken::NS_URI_SF | IWORKToken::SFTDefaultGroupingRowCell4StyleProperty :
-  case IWORKToken::NS_URI_SF | IWORKToken::SFTDefaultGroupingRowCell5StyleProperty :
+  case +IWORKToken::NS_URI_SF | IWORKToken::SFTDefaultGroupingRowCell0StyleProperty :
+  case +IWORKToken::NS_URI_SF | IWORKToken::SFTDefaultGroupingRowCell1StyleProperty :
+  case +IWORKToken::NS_URI_SF | IWORKToken::SFTDefaultGroupingRowCell2StyleProperty :
+  case +IWORKToken::NS_URI_SF | IWORKToken::SFTDefaultGroupingRowCell3StyleProperty :
+  case +IWORKToken::NS_URI_SF | IWORKToken::SFTDefaultGroupingRowCell4StyleProperty :
+  case +IWORKToken::NS_URI_SF | IWORKToken::SFTDefaultGroupingRowCell5StyleProperty :
     return std::make_shared<SFTDefaultGroupingRowCellStylePropertyElement>(getState(), *m_propMap, getState().getDictionary().m_cellStyles);
-  case IWORKToken::NS_URI_SF | IWORKToken::SFTDefaultHeaderBodyVectorStyleProperty :
+  case +IWORKToken::NS_URI_SF | IWORKToken::SFTDefaultHeaderBodyVectorStyleProperty :
     return std::make_shared<SFTDefaultHeaderBodyVectorStylePropertyElement>(getState(), *m_propMap, getState().getDictionary().m_vectorStyles);
-  case IWORKToken::NS_URI_SF | IWORKToken::SFTDefaultHeaderColumnCellStyleProperty :
+  case +IWORKToken::NS_URI_SF | IWORKToken::SFTDefaultHeaderColumnCellStyleProperty :
     return std::make_shared<SFTDefaultHeaderColumnCellStylePropertyElement>(getState(), *m_propMap, getState().getDictionary().m_cellStyles);
-  case IWORKToken::NS_URI_SF | IWORKToken::SFTDefaultHeaderRowCellStyleProperty :
+  case +IWORKToken::NS_URI_SF | IWORKToken::SFTDefaultHeaderRowCellStyleProperty :
     return std::make_shared<SFTDefaultHeaderRowCellStylePropertyElement>(getState(), *m_propMap, getState().getDictionary().m_cellStyles);
-  case IWORKToken::NS_URI_SF | IWORKToken::SFTDefaultHeaderSeparatorVectorStyleProperty :
+  case +IWORKToken::NS_URI_SF | IWORKToken::SFTDefaultHeaderSeparatorVectorStyleProperty :
     return std::make_shared<SFTDefaultHeaderSeparatorVectorStylePropertyElement>(getState(), *m_propMap, getState().getDictionary().m_vectorStyles);
-  case IWORKToken::NS_URI_SF | IWORKToken::SFTTableNameStylePropertyLayoutStyle :
+  case +IWORKToken::NS_URI_SF | IWORKToken::SFTTableNameStylePropertyLayoutStyle :
     return std::make_shared<SFTTableNameStylePropertyLayoutStyleElement>(getState(), *m_propMap, getState().getDictionary().m_layoutStyles);
-  case IWORKToken::NS_URI_SF | IWORKToken::SFTTableNameStylePropertyParagraphStyle :
+  case +IWORKToken::NS_URI_SF | IWORKToken::SFTTableNameStylePropertyParagraphStyle :
     return std::make_shared<SFTTableNameStylePropertyParagraphStyleElement>(getState(), *m_propMap, getState().getDictionary().m_paragraphStyles);
-  case IWORKToken::NS_URI_SF | IWORKToken::SFTHeaderColumnRepeatsProperty :
+  case +IWORKToken::NS_URI_SF | IWORKToken::SFTHeaderColumnRepeatsProperty :
     return std::make_shared<SFTHeaderColumnRepeatsPropertyElement>(getState(), *m_propMap);
-  case IWORKToken::NS_URI_SF | IWORKToken::SFTHeaderRowRepeatsProperty :
+  case +IWORKToken::NS_URI_SF | IWORKToken::SFTHeaderRowRepeatsProperty :
     return std::make_shared<SFTHeaderRowRepeatsPropertyElement>(getState(), *m_propMap);
-  case IWORKToken::NS_URI_SF | IWORKToken::SFTStrokeProperty :
+  case +IWORKToken::NS_URI_SF | IWORKToken::SFTStrokeProperty :
     return std::make_shared<SFTStrokePropertyElement>(getState(), *m_propMap);
-  case IWORKToken::NS_URI_SF | IWORKToken::SFTTableBandedRowsProperty :
+  case +IWORKToken::NS_URI_SF | IWORKToken::SFTTableBandedRowsProperty :
     return std::make_shared<SFTTableBandedRowsPropertyElement>(getState(), *m_propMap);
-  case IWORKToken::NS_URI_SF | IWORKToken::spaceAfter :
+  case +IWORKToken::NS_URI_SF | IWORKToken::spaceAfter :
     return std::make_shared<SpaceAfterElement>(getState(), *m_propMap);
-  case IWORKToken::NS_URI_SF | IWORKToken::spaceBefore :
+  case +IWORKToken::NS_URI_SF | IWORKToken::spaceBefore :
     return std::make_shared<SpaceBeforeElement>(getState(), *m_propMap);
-  case IWORKToken::NS_URI_SF | IWORKToken::strikethru :
+  case +IWORKToken::NS_URI_SF | IWORKToken::strikethru :
     return std::make_shared<StrikethruElement>(getState(), *m_propMap);
-  case IWORKToken::NS_URI_SF | IWORKToken::stroke :
+  case +IWORKToken::NS_URI_SF | IWORKToken::stroke :
     return std::make_shared<StrokePropertyElement>(getState(), *m_propMap);
-  case IWORKToken::NS_URI_SF | IWORKToken::superscript :
+  case +IWORKToken::NS_URI_SF | IWORKToken::superscript :
     return std::make_shared<SuperscriptElement>(getState(), *m_propMap);
-  case IWORKToken::NS_URI_SF | IWORKToken::tabs :
+  case +IWORKToken::NS_URI_SF | IWORKToken::tabs :
     return std::make_shared<TabsProperty>(getState(), *m_propMap);
-  case IWORKToken::NS_URI_SF | IWORKToken::textBackground :
+  case +IWORKToken::NS_URI_SF | IWORKToken::textBackground :
     return std::make_shared<TextBackgroundElement>(getState(), *m_propMap);
-  case IWORKToken::NS_URI_SF | IWORKToken::tocStyle :
+  case +IWORKToken::NS_URI_SF | IWORKToken::tocStyle :
     return std::make_shared<TocStyleElement>(getState(), *m_propMap, getState().getDictionary().m_tocStyles, getState().getDictionary().m_paragraphStyles);
-  case IWORKToken::NS_URI_SF | IWORKToken::tracking :
+  case +IWORKToken::NS_URI_SF | IWORKToken::tracking :
     return std::make_shared<TrackingElement>(getState(), *m_propMap);
-  case IWORKToken::NS_URI_SF | IWORKToken::underline :
+  case +IWORKToken::NS_URI_SF | IWORKToken::underline :
     return std::make_shared<UnderlineElement>(getState(), *m_propMap);
-  case IWORKToken::NS_URI_SF | IWORKToken::verticalAlignment :
+  case +IWORKToken::NS_URI_SF | IWORKToken::verticalAlignment :
     return std::make_shared<VerticalAlignmentElement>(getState(), *m_propMap);
-  case IWORKToken::NS_URI_SF | IWORKToken::widowControl :
+  case +IWORKToken::NS_URI_SF | IWORKToken::widowControl :
     return std::make_shared<WidowControlElement>(getState(), *m_propMap);
   default:
     if (name)
--- src/lib/contexts/IWORKShapeContext.cpp
+++ src/lib/contexts/IWORKShapeContext.cpp
@@ -30,7 +30,7 @@
 
 namespace
 {
-typedef IWORKStyleContainer<IWORKToken::NS_URI_SF | IWORKToken::graphic_style, IWORKToken::NS_URI_SF | IWORKToken::graphic_style_ref> GraphicStyleContext;
+typedef IWORKStyleContainer<+IWORKToken::NS_URI_SF | IWORKToken::graphic_style, +IWORKToken::NS_URI_SF | IWORKToken::graphic_style_ref> GraphicStyleContext;
 }
 
 IWORKShapeContext::IWORKShapeContext(IWORKXMLParserState &state)
@@ -46,12 +46,12 @@
 {
   switch (name)
   {
-  case IWORKToken::sfclass | IWORKToken::NS_URI_SFA : // shape
+  case +IWORKToken::sfclass | IWORKToken::NS_URI_SFA : // shape
     break;
-  case IWORKToken::locked | IWORKToken::NS_URI_SF :
+  case +IWORKToken::locked | IWORKToken::NS_URI_SF :
     m_locked=bool_cast(value);
     break;
-  case IWORKToken::ID | IWORKToken::NS_URI_SFA :
+  case +IWORKToken::ID | IWORKToken::NS_URI_SFA :
     IWORKXMLElementContextBase::attribute(name, value);
     break;
   default :
@@ -82,15 +82,15 @@
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SF | IWORKToken::geometry :
+  case +IWORKToken::NS_URI_SF | IWORKToken::geometry :
     return std::make_shared<IWORKGeometryElement>(getState());
-  case IWORKToken::NS_URI_SF | IWORKToken::path :
+  case +IWORKToken::NS_URI_SF | IWORKToken::path :
     return std::make_shared<IWORKPathElement>(getState());
-  case IWORKToken::NS_URI_SF | IWORKToken::style :
+  case +IWORKToken::NS_URI_SF | IWORKToken::style :
     return std::make_shared<GraphicStyleContext>(getState(), m_style, getState().getDictionary().m_graphicStyles);
-  case IWORKToken::NS_URI_SF | IWORKToken::text :
+  case +IWORKToken::NS_URI_SF | IWORKToken::text :
     return std::make_shared<IWORKTextElement>(getState());
-  case IWORKToken::NS_URI_SF | IWORKToken::wrap : // USEME
+  case +IWORKToken::NS_URI_SF | IWORKToken::wrap : // USEME
     return std::make_shared<IWORKWrapElement>(getState(), m_wrap);
   default:
     ETONYEK_DEBUG_MSG(("IWORKShapeContext::element: find some unknown element\n"));
--- src/lib/contexts/IWORKSizeElement.cpp
+++ src/lib/contexts/IWORKSizeElement.cpp
@@ -30,10 +30,10 @@
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SFA | IWORKToken::w :
+  case +IWORKToken::NS_URI_SFA | IWORKToken::w :
     m_width = try_double_cast(value);
     break;
-  case IWORKToken::NS_URI_SFA | IWORKToken::h :
+  case +IWORKToken::NS_URI_SFA | IWORKToken::h :
     m_height = try_double_cast(value);
     break;
   default:
--- src/lib/contexts/IWORKSpanElement.cpp
+++ src/lib/contexts/IWORKSpanElement.cpp
@@ -32,7 +32,7 @@
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SF | IWORKToken::style :
+  case +IWORKToken::NS_URI_SF | IWORKToken::style :
     m_style=getState().getStyleByName(value, getState().getDictionary().m_characterStyles);
     break;
   default:
@@ -45,35 +45,35 @@
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SF | IWORKToken::br : // ok to ignore ?
+  case +IWORKToken::NS_URI_SF | IWORKToken::br : // ok to ignore ?
     return IWORKXMLContextPtr_t();
-  case IWORKToken::NS_URI_SF | IWORKToken::crbr :
-  case IWORKToken::NS_URI_SF | IWORKToken::intratopicbr :
-  case IWORKToken::NS_URI_SF | IWORKToken::lnbr :
+  case +IWORKToken::NS_URI_SF | IWORKToken::crbr :
+  case +IWORKToken::NS_URI_SF | IWORKToken::intratopicbr :
+  case +IWORKToken::NS_URI_SF | IWORKToken::lnbr :
     ensureOpened();
     return std::make_shared<IWORKBrContext>(getState());
-  case IWORKToken::NS_URI_SF | IWORKToken::contbr :
+  case +IWORKToken::NS_URI_SF | IWORKToken::contbr :
     m_delayedBreak=IWORK_BREAK_COLUMN;
     return IWORKXMLContextPtr_t();
-  case IWORKToken::NS_URI_SF | IWORKToken::pgbr :
+  case +IWORKToken::NS_URI_SF | IWORKToken::pgbr :
     m_delayedBreak=IWORK_BREAK_PAGE;
     return IWORKXMLContextPtr_t();
-  case IWORKToken::NS_URI_SF | IWORKToken::tab :
+  case +IWORKToken::NS_URI_SF | IWORKToken::tab :
     ensureOpened();
     return std::make_shared<IWORKTabElement>(getState());
-  case IWORKToken::NS_URI_SF | IWORKToken::date_time :
+  case +IWORKToken::NS_URI_SF | IWORKToken::date_time :
     ensureOpened();
     return std::make_shared<IWORKFieldElement>(getState(),IWORK_FIELD_DATETIME);
-  case IWORKToken::NS_URI_SF | IWORKToken::filename :
+  case +IWORKToken::NS_URI_SF | IWORKToken::filename :
     ensureOpened();
     return std::make_shared<IWORKFieldElement>(getState(),IWORK_FIELD_FILENAME);
-  case IWORKToken::NS_URI_SF | IWORKToken::page_count :
+  case +IWORKToken::NS_URI_SF | IWORKToken::page_count :
     ensureOpened();
     return std::make_shared<IWORKFieldElement>(getState(),IWORK_FIELD_PAGECOUNT);
-  case IWORKToken::NS_URI_SF | IWORKToken::page_number :
+  case +IWORKToken::NS_URI_SF | IWORKToken::page_number :
     ensureOpened();
     return std::make_shared<IWORKFieldElement>(getState(),IWORK_FIELD_PAGENUMBER);
-  case IWORKToken::NS_URI_SF | IWORKToken::insertion_point :
+  case +IWORKToken::NS_URI_SF | IWORKToken::insertion_point :
     return IWORKXMLContextPtr_t();
   default:
     ETONYEK_DEBUG_MSG(("IWORKSpanElement::element: find some unknown element\n"));
--- src/lib/contexts/IWORKStringElement.cpp
+++ src/lib/contexts/IWORKStringElement.cpp
@@ -22,7 +22,7 @@
 
 void IWORKStringElement::attribute(const int name, const char *const value)
 {
-  if ((IWORKToken::NS_URI_SFA | IWORKToken::string) == name)
+  if ((+IWORKToken::NS_URI_SFA | IWORKToken::string) == name)
     m_string = value;
 }
 
--- src/lib/contexts/IWORKStrokeContext.cpp
+++ src/lib/contexts/IWORKStrokeContext.cpp
@@ -46,7 +46,7 @@
 
 void ElementElement::attribute(const int name, const char *const value)
 {
-  if (name == (IWORKToken::NS_URI_SF | IWORKToken::val))
+  if (name == (+IWORKToken::NS_URI_SF | IWORKToken::val))
     m_value = double_cast(value);
 }
 
@@ -78,7 +78,7 @@
 
 IWORKXMLContextPtr_t PatternContainerElement::element(const int name)
 {
-  if (name == (IWORKToken::NS_URI_SF | IWORKToken::element))
+  if (name == (+IWORKToken::NS_URI_SF | IWORKToken::element))
   {
     if (m_element)
     {
@@ -128,7 +128,7 @@
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SF | IWORKToken::type:
+  case +IWORKToken::NS_URI_SF | IWORKToken::type:
     switch (getState().getTokenizer().getId(value))
     {
     case IWORKToken::empty :
@@ -145,9 +145,9 @@
       break;
     }
     break;
-  case IWORKToken::NS_URI_SF | IWORKToken::phase:
+  case +IWORKToken::NS_URI_SF | IWORKToken::phase:
     break;
-  case IWORKToken::NS_URI_SFA | IWORKToken::ID:
+  case +IWORKToken::NS_URI_SFA | IWORKToken::ID:
     return IWORKXMLElementContextBase::attribute(name, value);
   default:
     ETONYEK_DEBUG_MSG(("PatternElement::attribute[IWORKStrokeContext.cpp]: unknown attribute\n"));
@@ -156,7 +156,7 @@
 
 IWORKXMLContextPtr_t PatternElement::element(const int name)
 {
-  if (name == (IWORKToken::NS_URI_SF | IWORKToken::pattern))
+  if (name == (+IWORKToken::NS_URI_SF | IWORKToken::pattern))
     return std::make_shared<PatternContainerElement>(getState(), m_pattern->m_values);
   return IWORKXMLContextPtr_t();
 }
@@ -250,7 +250,7 @@
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SF | IWORKToken::cap :
+  case +IWORKToken::NS_URI_SF | IWORKToken::cap :
     switch (getState().getTokenizer().getId(value))
     {
     case IWORKToken::butt :
@@ -263,7 +263,7 @@
       ETONYEK_DEBUG_MSG(("StrokeElement::attribute[IWORKStrokeContext.cpp]: find unknown cap\n"));
     }
     break;
-  case IWORKToken::NS_URI_SF | IWORKToken::join :
+  case +IWORKToken::NS_URI_SF | IWORKToken::join :
     switch (getState().getTokenizer().getId(value))
     {
     case IWORKToken::miter :
@@ -276,10 +276,10 @@
       ETONYEK_DEBUG_MSG(("StrokeElement::attribute[IWORKStrokeContext.cpp]: find unknown join\n"));
     }
     break;
-  case IWORKToken::NS_URI_SF | IWORKToken::width :
+  case +IWORKToken::NS_URI_SF | IWORKToken::width :
     m_width = double_cast(value);
     break;
-  case IWORKToken::NS_URI_SFA | IWORKToken::ID :
+  case +IWORKToken::NS_URI_SFA | IWORKToken::ID :
     IWORKXMLElementContextBase::attribute(name, value);
     break;
   default:
@@ -292,13 +292,13 @@
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SF | IWORKToken::color :
+  case +IWORKToken::NS_URI_SF | IWORKToken::color :
     return std::make_shared<IWORKColorElement>(getState(), m_color);
-  case IWORKToken::NS_URI_SF | IWORKToken::parameters : // in calligraphy-stroke defines angle, chisel, scale
+  case +IWORKToken::NS_URI_SF | IWORKToken::parameters : // in calligraphy-stroke defines angle, chisel, scale
     break;
-  case IWORKToken::NS_URI_SF | IWORKToken::pattern :
+  case +IWORKToken::NS_URI_SF | IWORKToken::pattern :
     return std::make_shared<PatternElement>(getState(), m_pattern);
-  case IWORKToken::NS_URI_SF | IWORKToken::pattern_ref :
+  case +IWORKToken::NS_URI_SF | IWORKToken::pattern_ref :
     return std::make_shared<IWORKRefContext>(getState(), m_patternRef);
   default:
     ETONYEK_DEBUG_MSG(("StrokeElement::element[IWORKStrokeContext.cpp]: find unknown element\n"));
@@ -345,15 +345,15 @@
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SF | IWORKToken::frame :
+  case +IWORKToken::NS_URI_SF | IWORKToken::frame :
     return std::make_shared<FrameElement>(getState(), m_value);
-  case IWORKToken::NS_URI_SF | IWORKToken::calligraphy_stroke :
-  case IWORKToken::NS_URI_SF | IWORKToken::manipulated_stroke :
-  case IWORKToken::NS_URI_SF | IWORKToken::stroke :
+  case +IWORKToken::NS_URI_SF | IWORKToken::calligraphy_stroke :
+  case +IWORKToken::NS_URI_SF | IWORKToken::manipulated_stroke :
+  case +IWORKToken::NS_URI_SF | IWORKToken::stroke :
     return std::make_shared<StrokeElement>(getState(), m_value);
-  case IWORKToken::NS_URI_SF | IWORKToken::stroke_ref :
+  case +IWORKToken::NS_URI_SF | IWORKToken::stroke_ref :
     return std::make_shared<IWORKRefContext>(getState(), m_ref);
-  case IWORKToken::NS_URI_SF | IWORKToken::null :
+  case +IWORKToken::NS_URI_SF | IWORKToken::null :
     break;
   default:
     ETONYEK_DEBUG_MSG(("IWORKStrokeContext::element: unknown element\n"));
--- src/lib/contexts/IWORKStyleContainer.h
+++ src/lib/contexts/IWORKStyleContainer.h
@@ -82,7 +82,7 @@
     return m_context;
   case RefTokenId :
     return std::make_shared<IWORKRefContext>(getState(), m_ref);
-  case IWORKToken::NS_URI_SF | IWORKToken::null:
+  case +IWORKToken::NS_URI_SF | IWORKToken::null:
     return IWORKXMLContextPtr_t();
   case IWORKToken::INVALID_TOKEN: // TokenId2 and RefTokenId2 are optional, so avoid unintentional match
     break;
--- src/lib/contexts/IWORKStyleContext.cpp
+++ src/lib/contexts/IWORKStyleContext.cpp
@@ -49,21 +49,21 @@
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SF | IWORKToken::ident :
+  case +IWORKToken::NS_URI_SF | IWORKToken::ident :
     m_ident = value;
     break;
-  case IWORKToken::NS_URI_SF | IWORKToken::parent_ident :
+  case +IWORKToken::NS_URI_SF | IWORKToken::parent_ident :
     m_parentIdent = value;
     break;
-  case IWORKToken::NS_URI_SFA | IWORKToken::ID :
+  case +IWORKToken::NS_URI_SFA | IWORKToken::ID :
     IWORKXMLElementContextBase::attribute(name, value);
     break;
-  case IWORKToken::NS_URI_SFA | IWORKToken::sfclass :
-  case IWORKToken::NS_URI_SF | IWORKToken::cell_style_default_line_height : // attribute of cell-style USEME
-  case IWORKToken::NS_URI_SF | IWORKToken::locked : // attribute of graphic-style
-  case IWORKToken::NS_URI_SF | IWORKToken::name :
-  case IWORKToken::NS_URI_SF | IWORKToken::seriesIndex : // attribute of chart-series-style
-  case IWORKToken::NS_URI_SF | IWORKToken::tabular_style_name_internal : // attribute of tabular-style
+  case +IWORKToken::NS_URI_SFA | IWORKToken::sfclass :
+  case +IWORKToken::NS_URI_SF | IWORKToken::cell_style_default_line_height : // attribute of cell-style USEME
+  case +IWORKToken::NS_URI_SF | IWORKToken::locked : // attribute of graphic-style
+  case +IWORKToken::NS_URI_SF | IWORKToken::name :
+  case +IWORKToken::NS_URI_SF | IWORKToken::seriesIndex : // attribute of chart-series-style
+  case +IWORKToken::NS_URI_SF | IWORKToken::tabular_style_name_internal : // attribute of tabular-style
     break;
   default :
     ETONYEK_DEBUG_MSG(("IWORKStyleContext::attribute: find some unknown attribute\n"));
@@ -76,7 +76,7 @@
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SF | IWORKToken::property_map :
+  case +IWORKToken::NS_URI_SF | IWORKToken::property_map :
     return std::make_shared<IWORKPropertyMapElement>(getState(), m_props);
   default :
     ETONYEK_DEBUG_MSG(("IWORKStyleContext::element: find some unknown element\n"));
--- src/lib/contexts/IWORKStylesContext.cpp
+++ src/lib/contexts/IWORKStylesContext.cpp
@@ -28,68 +28,68 @@
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SF | IWORKToken::connection_style :
+  case +IWORKToken::NS_URI_SF | IWORKToken::connection_style :
     return std::make_shared<IWORKStyleContext>(getState(), &getState().getDictionary().m_graphicStyles);
-  case IWORKToken::NS_URI_SF | IWORKToken::headline_style :
+  case +IWORKToken::NS_URI_SF | IWORKToken::headline_style :
     return std::make_shared<IWORKStyleContext>(getState(), &getState().getDictionary().m_headlineStyles);
-  case IWORKToken::NS_URI_SF | IWORKToken::liststyle :
+  case +IWORKToken::NS_URI_SF | IWORKToken::liststyle :
     return std::make_shared<IWORKStyleContext>(getState(), &getState().getDictionary().m_listStyles);
-  case IWORKToken::NS_URI_SF | IWORKToken::cell_style :
+  case +IWORKToken::NS_URI_SF | IWORKToken::cell_style :
     return std::make_shared<IWORKStyleContext>(getState(), &getState().getDictionary().m_cellStyles);
-  case IWORKToken::NS_URI_SF | IWORKToken::chart_style :
+  case +IWORKToken::NS_URI_SF | IWORKToken::chart_style :
     return std::make_shared<IWORKStyleContext>(getState(), &getState().getDictionary().m_chartStyles);
-  case IWORKToken::NS_URI_SF | IWORKToken::chart_series_style :
+  case +IWORKToken::NS_URI_SF | IWORKToken::chart_series_style :
     return std::make_shared<IWORKStyleContext>(getState(), &getState().getDictionary().m_chartSeriesStyles);
-  case IWORKToken::NS_URI_SF | IWORKToken::graphic_style :
+  case +IWORKToken::NS_URI_SF | IWORKToken::graphic_style :
     return std::make_shared<IWORKStyleContext>(getState(), &getState().getDictionary().m_graphicStyles);
-  case IWORKToken::NS_URI_SF | IWORKToken::characterstyle :
+  case +IWORKToken::NS_URI_SF | IWORKToken::characterstyle :
     return std::make_shared<IWORKStyleContext>(getState(), &getState().getDictionary().m_characterStyles);
-  case IWORKToken::NS_URI_SF | IWORKToken::layoutstyle :
+  case +IWORKToken::NS_URI_SF | IWORKToken::layoutstyle :
     return std::make_shared<IWORKStyleContext>(getState(), &getState().getDictionary().m_layoutStyles);
-  case IWORKToken::NS_URI_SF | IWORKToken::paragraphstyle :
+  case +IWORKToken::NS_URI_SF | IWORKToken::paragraphstyle :
     return std::make_shared<IWORKStyleContext>(getState(), &getState().getDictionary().m_paragraphStyles);
-  case IWORKToken::NS_URI_SF | IWORKToken::table_style :
+  case +IWORKToken::NS_URI_SF | IWORKToken::table_style :
     return std::make_shared<IWORKStyleContext>(getState(), &getState().getDictionary().m_tableStyles);
-  case IWORKToken::NS_URI_SF | IWORKToken::table_cell_style :
+  case +IWORKToken::NS_URI_SF | IWORKToken::table_cell_style :
     return std::make_shared<IWORKStyleContext>(getState(), &getState().getDictionary().m_tableCellStyles);
-  case IWORKToken::NS_URI_SF | IWORKToken::table_vector_style :
+  case +IWORKToken::NS_URI_SF | IWORKToken::table_vector_style :
     return std::make_shared<IWORKStyleContext>(getState(), &getState().getDictionary().m_tableVectorStyles);
-  case IWORKToken::NS_URI_SF | IWORKToken::tabular_style :
+  case +IWORKToken::NS_URI_SF | IWORKToken::tabular_style :
     return std::make_shared<IWORKStyleContext>(getState(), &getState().getDictionary().m_tabularStyles);
-  case IWORKToken::NS_URI_SF | IWORKToken::tocstyle :
+  case +IWORKToken::NS_URI_SF | IWORKToken::tocstyle :
     return std::make_shared<IWORKStyleContext>(getState(), &getState().getDictionary().m_tocStyles);
-  case IWORKToken::NS_URI_SF | IWORKToken::vector_style :
+  case +IWORKToken::NS_URI_SF | IWORKToken::vector_style :
     return std::make_shared<IWORKStyleContext>(getState(), &getState().getDictionary().m_vectorStyles);
 
-  case IWORKToken::NS_URI_SF | IWORKToken::cell_style_ref :
+  case +IWORKToken::NS_URI_SF | IWORKToken::cell_style_ref :
     return std::make_shared<IWORKStyleRefContext>(getState(), getState().getDictionary().m_cellStyles);
-  case IWORKToken::NS_URI_SF | IWORKToken::characterstyle_ref :
+  case +IWORKToken::NS_URI_SF | IWORKToken::characterstyle_ref :
     return std::make_shared<IWORKStyleRefContext>(getState(), getState().getDictionary().m_characterStyles);
-  case IWORKToken::NS_URI_SF | IWORKToken::chart_style_ref :
+  case +IWORKToken::NS_URI_SF | IWORKToken::chart_style_ref :
     return std::make_shared<IWORKStyleRefContext>(getState(), getState().getDictionary().m_chartStyles);
-  case IWORKToken::NS_URI_SF | IWORKToken::chart_series_style_ref :
+  case +IWORKToken::NS_URI_SF | IWORKToken::chart_series_style_ref :
     return std::make_shared<IWORKStyleRefContext>(getState(), getState().getDictionary().m_chartSeriesStyles);
-  case IWORKToken::NS_URI_SF | IWORKToken::connection_style_ref :
+  case +IWORKToken::NS_URI_SF | IWORKToken::connection_style_ref :
     return std::make_shared<IWORKStyleRefContext>(getState(), getState().getDictionary().m_graphicStyles);
-  case IWORKToken::NS_URI_SF | IWORKToken::graphic_style_ref :
+  case +IWORKToken::NS_URI_SF | IWORKToken::graphic_style_ref :
     return std::make_shared<IWORKStyleRefContext>(getState(), getState().getDictionary().m_graphicStyles);
-  case IWORKToken::NS_URI_SF | IWORKToken::layoutstyle_ref :
+  case +IWORKToken::NS_URI_SF | IWORKToken::layoutstyle_ref :
     return std::make_shared<IWORKStyleRefContext>(getState(), getState().getDictionary().m_layoutStyles);
-  case IWORKToken::NS_URI_SF | IWORKToken::liststyle_ref :
+  case +IWORKToken::NS_URI_SF | IWORKToken::liststyle_ref :
     return std::make_shared<IWORKStyleRefContext>(getState(), getState().getDictionary().m_listStyles);
-  case IWORKToken::NS_URI_SF | IWORKToken::paragraphstyle_ref :
+  case +IWORKToken::NS_URI_SF | IWORKToken::paragraphstyle_ref :
     return std::make_shared<IWORKStyleRefContext>(getState(), getState().getDictionary().m_paragraphStyles);
-  case IWORKToken::NS_URI_SF | IWORKToken::table_style_ref :
+  case +IWORKToken::NS_URI_SF | IWORKToken::table_style_ref :
     return std::make_shared<IWORKStyleRefContext>(getState(), getState().getDictionary().m_tableStyles);
-  case IWORKToken::NS_URI_SF | IWORKToken::table_cell_style_ref :
+  case +IWORKToken::NS_URI_SF | IWORKToken::table_cell_style_ref :
     return std::make_shared<IWORKStyleRefContext>(getState(), getState().getDictionary().m_tableCellStyles);
-  case IWORKToken::NS_URI_SF | IWORKToken::table_vector_style_ref :
+  case +IWORKToken::NS_URI_SF | IWORKToken::table_vector_style_ref :
     return std::make_shared<IWORKStyleRefContext>(getState(), getState().getDictionary().m_tableVectorStyles);
-  case IWORKToken::NS_URI_SF | IWORKToken::tabular_style_ref :
+  case +IWORKToken::NS_URI_SF | IWORKToken::tabular_style_ref :
     return std::make_shared<IWORKStyleRefContext>(getState(), getState().getDictionary().m_tabularStyles);
-  case IWORKToken::NS_URI_SF | IWORKToken::tocstyle_ref :
+  case +IWORKToken::NS_URI_SF | IWORKToken::tocstyle_ref :
     return std::make_shared<IWORKStyleRefContext>(getState(), getState().getDictionary().m_tocStyles);
-  case IWORKToken::NS_URI_SF | IWORKToken::vector_style_ref :
+  case +IWORKToken::NS_URI_SF | IWORKToken::vector_style_ref :
     return std::make_shared<IWORKStyleRefContext>(getState(), getState().getDictionary().m_vectorStyles);
   default:
     ETONYEK_DEBUG_MSG(("IWORKStylesContext::element: find some unknown element %d\n", int(name)));
--- src/lib/contexts/IWORKStylesheetBase.cpp
+++ src/lib/contexts/IWORKStylesheetBase.cpp
@@ -37,9 +37,9 @@
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SF | IWORKToken::styles :
+  case +IWORKToken::NS_URI_SF | IWORKToken::styles :
     return std::make_shared<IWORKStylesContext>(getState(), false);
-  case IWORKToken::NS_URI_SF | IWORKToken::anon_styles :
+  case +IWORKToken::NS_URI_SF | IWORKToken::anon_styles :
     return std::make_shared<IWORKStylesContext>(getState(), true);
   default:
     ETONYEK_DEBUG_MSG(("IWORKStylesContext::element: find some unknown element\n"));
--- src/lib/contexts/IWORKTableInfoElement.cpp
+++ src/lib/contexts/IWORKTableInfoElement.cpp
@@ -36,7 +36,7 @@
 
 namespace
 {
-typedef IWORKStyleContainer<IWORKToken::NS_URI_SF | IWORKToken::table_style, IWORKToken::NS_URI_SF | IWORKToken::table_style_ref> TableStyleContext;
+typedef IWORKStyleContainer<+IWORKToken::NS_URI_SF | IWORKToken::table_style, +IWORKToken::NS_URI_SF | IWORKToken::table_style_ref> TableStyleContext;
 }
 
 namespace
@@ -66,7 +66,7 @@
 {
   switch (name)
   {
-  case IWORKToken::ID | IWORKToken::NS_URI_SFA :
+  case +IWORKToken::ID | IWORKToken::NS_URI_SFA :
     IWORKXMLElementContextBase::attribute(name, value);
     break;
   default :
@@ -79,7 +79,7 @@
 {
   switch (name)
   {
-  case IWORKToken::text_storage | IWORKToken::NS_URI_SF :
+  case +IWORKToken::text_storage | IWORKToken::NS_URI_SF :
     getState().m_tableData->m_type = IWORK_CELL_TYPE_TEXT;
     return std::make_shared<IWORKTextStorageElement>(getState());
   default :
@@ -124,7 +124,7 @@
 {
   switch (name)
   {
-  case IWORKToken::number | IWORKToken::NS_URI_SF :
+  case +IWORKToken::number | IWORKToken::NS_URI_SF :
     getState().m_tableData->m_type = IWORK_CELL_TYPE_NUMBER;
     return std::make_shared<IWORKNumberElement<double> >(getState(), m_value);
   default:
@@ -177,10 +177,10 @@
 {
   switch (name)
   {
-  case IWORKToken::tableCellPreferredHeight | IWORKToken::NS_URI_SF :
+  case +IWORKToken::tableCellPreferredHeight | IWORKToken::NS_URI_SF :
     get(m_value).m_preferredHeight=try_double_cast(value);
     break;
-  case IWORKToken::ID | IWORKToken::NS_URI_SFA : // must we store this element ?
+  case +IWORKToken::ID | IWORKToken::NS_URI_SFA : // must we store this element ?
     IWORKXMLEmptyContextBase::attribute(name, value);
     break;
   default :
@@ -193,21 +193,21 @@
 {
   switch (name)
   {
-  case IWORKToken::tableCellStyle_ref | IWORKToken::NS_URI_SF :
+  case +IWORKToken::tableCellStyle_ref | IWORKToken::NS_URI_SF :
     return std::make_shared<IWORKRefContext>(getState(), m_styleRef);
-  case IWORKToken::tableCellMinXSide_ref | IWORKToken::NS_URI_SF :
+  case +IWORKToken::tableCellMinXSide_ref | IWORKToken::NS_URI_SF :
     return std::make_shared<IWORKRefContext>(getState(), m_minXBorderRef);
-  case IWORKToken::tableCellMaxXSide_ref | IWORKToken::NS_URI_SF :
+  case +IWORKToken::tableCellMaxXSide_ref | IWORKToken::NS_URI_SF :
     return std::make_shared<IWORKRefContext>(getState(), m_maxXBorderRef);
-  case IWORKToken::tableCellMinYSide_ref | IWORKToken::NS_URI_SF :
+  case +IWORKToken::tableCellMinYSide_ref | IWORKToken::NS_URI_SF :
     return std::make_shared<IWORKRefContext>(getState(), m_minYBorderRef);
-  case IWORKToken::tableCellMaxYSide_ref | IWORKToken::NS_URI_SF :
+  case +IWORKToken::tableCellMaxYSide_ref | IWORKToken::NS_URI_SF :
     return std::make_shared<IWORKRefContext>(getState(), m_maxYBorderRef);
-  case IWORKToken::tableCellContent | IWORKToken::NS_URI_SF :
+  case +IWORKToken::tableCellContent | IWORKToken::NS_URI_SF :
     return std::make_shared<TableCellContentElement>(getState());
-  case IWORKToken::tableCellFormula | IWORKToken::NS_URI_SF :
+  case +IWORKToken::tableCellFormula | IWORKToken::NS_URI_SF :
     return std::make_shared<IWORKTableCellFormulaElement>(getState());
-  case IWORKToken::tableCellValue | IWORKToken::NS_URI_SF :
+  case +IWORKToken::tableCellValue | IWORKToken::NS_URI_SF :
     return std::make_shared<TableCellValueElement>(getState());
   default:
     ETONYEK_DEBUG_MSG(("TableCellElement::element[IWORKTableInfoElement.cpp]: find some unknown element\n"));
@@ -341,7 +341,7 @@
 
 namespace
 {
-typedef IWORKMutableArrayElement<IWORKTableCell, TableCellElement, IWORKPushCollector, IWORKToken::NS_URI_SF | IWORKToken::table_cell, IWORKToken::NS_URI_SF | IWORKToken::table_cell_ref> TableCellArrayElement;
+typedef IWORKMutableArrayElement<IWORKTableCell, TableCellElement, IWORKPushCollector, +IWORKToken::NS_URI_SF | IWORKToken::table_cell, +IWORKToken::NS_URI_SF | IWORKToken::table_cell_ref> TableCellArrayElement;
 }
 
 namespace
@@ -371,9 +371,9 @@
 {
   switch (name)
   {
-  case IWORKToken::tableCellArrayCellsByColumn | IWORKToken::NS_URI_SF :
+  case +IWORKToken::tableCellArrayCellsByColumn | IWORKToken::NS_URI_SF :
     return std::make_shared<TableCellArrayElement>(getState(), m_dict, getState().getDictionary().m_tableCells, m_columnsCell);
-  case IWORKToken::tableCellArrayCellsByRow | IWORKToken::NS_URI_SF :
+  case +IWORKToken::tableCellArrayCellsByRow | IWORKToken::NS_URI_SF :
     return std::make_shared<TableCellArrayElement>(getState(), m_dict, getState().getDictionary().m_tableCells, m_rowsCell);
   default:
     ETONYEK_DEBUG_MSG(("TableModelCellsElement::element[IWORKTableInfoElement.cpp]: find some unknown element\n"));
@@ -414,19 +414,19 @@
 {
   switch (name)
   {
-  case IWORKToken::tableVectorAlong | IWORKToken::NS_URI_SF :
+  case +IWORKToken::tableVectorAlong | IWORKToken::NS_URI_SF :
     get(m_value).m_along=try_double_cast(value);
     break;
-  case IWORKToken::tableVectorAxis | IWORKToken::NS_URI_SF :
+  case +IWORKToken::tableVectorAxis | IWORKToken::NS_URI_SF :
     get(m_value).m_axis=try_int_cast(value);
     break;
-  case IWORKToken::tableVectorBegin | IWORKToken::NS_URI_SF :
+  case +IWORKToken::tableVectorBegin | IWORKToken::NS_URI_SF :
     get(m_value).m_beginCell=try_int_cast(value);
     break;
-  case IWORKToken::tableVectorEnd | IWORKToken::NS_URI_SF :
+  case +IWORKToken::tableVectorEnd | IWORKToken::NS_URI_SF :
     get(m_value).m_endCell=try_int_cast(value);
     break;
-  case IWORKToken::ID | IWORKToken::NS_URI_SFA :
+  case +IWORKToken::ID | IWORKToken::NS_URI_SFA :
     IWORKXMLEmptyContextBase::attribute(name, value);
     break;
   default :
@@ -439,7 +439,7 @@
 {
   switch (name)
   {
-  case IWORKToken::tableVectorStyle_ref | IWORKToken::NS_URI_SF :
+  case +IWORKToken::tableVectorStyle_ref | IWORKToken::NS_URI_SF :
     return std::make_shared<IWORKRefContext>(getState(), m_styleRef);
   default:
     ETONYEK_DEBUG_MSG(("TableVectorElement::element[IWORKTableInfoElement.cpp]: find some unknown element\n"));
@@ -459,7 +459,7 @@
 
 namespace
 {
-typedef IWORKMutableArrayElement<IWORKTableVector, TableVectorElement, IWORKPushCollector, IWORKToken::NS_URI_SF | IWORKToken::table_vector> TableVectorArrayElement;
+typedef IWORKMutableArrayElement<IWORKTableVector, TableVectorElement, IWORKPushCollector, +IWORKToken::NS_URI_SF | IWORKToken::table_vector> TableVectorArrayElement;
 }
 
 namespace
@@ -489,9 +489,9 @@
 {
   switch (name)
   {
-  case IWORKToken::tableVectorArrayColumnVectors | IWORKToken::NS_URI_SF :
+  case +IWORKToken::tableVectorArrayColumnVectors | IWORKToken::NS_URI_SF :
     return std::make_shared<TableVectorArrayElement>(getState(), m_dict, getState().getDictionary().m_tableVectors, m_columnsVector);
-  case IWORKToken::tableVectorArrayRowVectors | IWORKToken::NS_URI_SF :
+  case +IWORKToken::tableVectorArrayRowVectors | IWORKToken::NS_URI_SF :
     return std::make_shared<TableVectorArrayElement>(getState(), m_dict, getState().getDictionary().m_tableVectors, m_rowsVector);
   default:
     ETONYEK_DEBUG_MSG(("TableModelVectorsElement::element[IWORKTableInfoElement.cpp]: find some unknown element\n"));
@@ -592,13 +592,13 @@
 {
   switch (name)
   {
-  case IWORKToken::ID | IWORKToken::NS_URI_SFA :
+  case +IWORKToken::ID | IWORKToken::NS_URI_SFA :
     m_id=value;
     break;
-  case IWORKToken::tableModelIsHeaderColumn | IWORKToken::NS_URI_SF :
+  case +IWORKToken::tableModelIsHeaderColumn | IWORKToken::NS_URI_SF :
     m_hasHeaderColumn =bool_cast(value);
     break;
-  case IWORKToken::tableModelIsHeaderRow | IWORKToken::NS_URI_SF :
+  case +IWORKToken::tableModelIsHeaderRow | IWORKToken::NS_URI_SF :
     m_hasHeaderRow =bool_cast(value);
     break;
   default:
@@ -616,15 +616,15 @@
 {
   switch (name)
   {
-  case IWORKToken::tableModelStyle_ref | IWORKToken::NS_URI_SF :
+  case +IWORKToken::tableModelStyle_ref | IWORKToken::NS_URI_SF :
     return std::make_shared<IWORKRefContext>(getState(), m_styleRef);
-  case IWORKToken::tableModelPartitionSource | IWORKToken::NS_URI_SF : // contains id + frame data
+  case +IWORKToken::tableModelPartitionSource | IWORKToken::NS_URI_SF : // contains id + frame data
     break;
-  case IWORKToken::tableModelVectors | IWORKToken::NS_URI_SF :
+  case +IWORKToken::tableModelVectors | IWORKToken::NS_URI_SF :
     return std::make_shared<TableModelVectorsElement>(getState(), m_columnsVector, m_rowsVector);
-  case IWORKToken::tableModelCells | IWORKToken::NS_URI_SF :
+  case +IWORKToken::tableModelCells | IWORKToken::NS_URI_SF :
     return std::make_shared<TableModelCellsElement>(getState(), m_columnsCell, m_rowsCell);
-  case IWORKToken::tableModelTableID | IWORKToken::NS_URI_SF :
+  case +IWORKToken::tableModelTableID | IWORKToken::NS_URI_SF :
     return std::make_shared<IWORKStringElement>(getState(), m_tableId);
   default:
     ETONYEK_DEBUG_MSG(("TableInfoTableElement::element[IWORKTableInfoElement.cpp]: find some unknown element\n"));
@@ -669,13 +669,13 @@
 {
   switch (name)
   {
-  case IWORKToken::geometry | IWORKToken::NS_URI_SF :
+  case +IWORKToken::geometry | IWORKToken::NS_URI_SF :
     return std::make_shared<IWORKGeometryElement>(getState());
-  case IWORKToken::style | IWORKToken::NS_URI_SF :
+  case +IWORKToken::style | IWORKToken::NS_URI_SF :
     return std::make_shared<TableStyleContext>(getState(), m_style, getState().getDictionary().m_tableStyles);
-  case IWORKToken::tableInfoTable | IWORKToken::NS_URI_SF :
+  case +IWORKToken::tableInfoTable | IWORKToken::NS_URI_SF :
     return std::make_shared<TableInfoTableElement>(getState());
-  case IWORKToken::NS_URI_SF | IWORKToken::wrap : // USEME
+  case +IWORKToken::NS_URI_SF | IWORKToken::wrap : // USEME
     return std::make_shared<IWORKWrapElement>(getState(), m_wrap);
   default:
     ETONYEK_DEBUG_MSG(("IWORKTableInfoElement::element: find some unknown element\n"));
--- src/lib/contexts/IWORKTabsElement.cpp
+++ src/lib/contexts/IWORKTabsElement.cpp
@@ -48,7 +48,7 @@
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SF | IWORKToken::align :
+  case +IWORKToken::NS_URI_SF | IWORKToken::align :
     switch (getState().getTokenizer().getId(value))
     {
     case IWORKToken::center :
@@ -67,7 +67,7 @@
       ETONYEK_DEBUG_MSG(("TabstopElement::attribute: unknown alignment %s\n", value));
     }
     break;
-  case IWORKToken::NS_URI_SF | IWORKToken::pos :
+  case +IWORKToken::NS_URI_SF | IWORKToken::pos :
     get(m_tab).m_pos = double_cast(value);
     break;
   default :
@@ -92,7 +92,7 @@
     m_current.reset();
   }
 
-  if ((IWORKToken::NS_URI_SF | IWORKToken::tabstop) == name)
+  if ((+IWORKToken::NS_URI_SF | IWORKToken::tabstop) == name)
     return std::make_shared<TabstopElement>(getState(), m_current);
 
   return IWORKXMLContextPtr_t();
--- src/lib/contexts/IWORKTabularInfoElement.cpp
+++ src/lib/contexts/IWORKTabularInfoElement.cpp
@@ -33,7 +33,7 @@
 
 namespace
 {
-typedef IWORKStyleContainer<IWORKToken::NS_URI_SF | IWORKToken::tabular_style, IWORKToken::NS_URI_SF | IWORKToken::tabular_style_ref> TabularStyleContext;
+typedef IWORKStyleContainer<+IWORKToken::NS_URI_SF | IWORKToken::tabular_style, +IWORKToken::NS_URI_SF | IWORKToken::tabular_style_ref> TabularStyleContext;
 }
 
 IWORKTabularInfoElement::IWORKTabularInfoElement(IWORKXMLParserState &state)
@@ -49,7 +49,7 @@
 {
   switch (name)
   {
-  case PAG1Token::order | PAG1Token::NS_URI_SL :
+  case +PAG1Token::order | PAG1Token::NS_URI_SL :
     m_order=try_int_cast(value);
     break;
   default:
@@ -70,15 +70,15 @@
 {
   switch (name)
   {
-  case IWORKToken::geometry | IWORKToken::NS_URI_SF :
+  case +IWORKToken::geometry | IWORKToken::NS_URI_SF :
     return std::make_shared<IWORKGeometryElement>(getState());
-  case IWORKToken::style | IWORKToken::NS_URI_SF :
+  case +IWORKToken::style | IWORKToken::NS_URI_SF :
     return std::make_shared<TabularStyleContext>(getState(), m_style, getState().getDictionary().m_tabularStyles);
-  case IWORKToken::tabular_model | IWORKToken::NS_URI_SF :
+  case +IWORKToken::tabular_model | IWORKToken::NS_URI_SF :
     return std::make_shared<IWORKTabularModelElement>(getState());
-  case IWORKToken::NS_URI_SF | IWORKToken::tabular_model_ref :
+  case +IWORKToken::NS_URI_SF | IWORKToken::tabular_model_ref :
     return std::make_shared<IWORKRefContext>(getState(), m_tableRef);
-  case IWORKToken::NS_URI_SF | IWORKToken::wrap : // USEME
+  case +IWORKToken::NS_URI_SF | IWORKToken::wrap : // USEME
     return std::make_shared<IWORKWrapElement>(getState(), m_wrap);
   default:
     ETONYEK_DEBUG_MSG(("IWORKTabularInfoElement::element: find some unknown element\n"));
--- src/lib/contexts/IWORKTabularModelElement.cpp
+++ src/lib/contexts/IWORKTabularModelElement.cpp
@@ -64,10 +64,10 @@
 {
   switch (name)
   {
-  case IWORKToken::column | IWORKToken::NS_URI_SF :
+  case +IWORKToken::column | IWORKToken::NS_URI_SF :
     m_column=lexical_cast<unsigned>(value);
     break;
-  case IWORKToken::row | IWORKToken::NS_URI_SF :
+  case +IWORKToken::row | IWORKToken::NS_URI_SF :
     m_row=lexical_cast<unsigned>(value);
     break;
   default : // none
@@ -103,7 +103,7 @@
 {
   switch (name)
   {
-  case IWORKToken::cell_coordinates | IWORKToken::NS_URI_SF :
+  case +IWORKToken::cell_coordinates | IWORKToken::NS_URI_SF :
     return std::make_shared<CellCoordinates>(getState(), m_coordinates);
   default:
     return IWORKXMLEmptyContextBase::element(name);
@@ -134,9 +134,9 @@
 {
   switch (name)
   {
-  case IWORKToken::value_ref | IWORKToken::NS_URI_SFA : // attributes: sfa:IDREF and sfa:class
+  case +IWORKToken::value_ref | IWORKToken::NS_URI_SFA : // attributes: sfa:IDREF and sfa:class
     return std::make_shared<IWORKRefContext>(getState(), m_ref);
-  case IWORKToken::key | IWORKToken::NS_URI_SFA :
+  case +IWORKToken::key | IWORKToken::NS_URI_SFA :
     return std::make_shared<CellCommentMappingKey>(getState(), m_coordinates);
   default:
     return IWORKXMLEmptyContextBase::element(name);
@@ -172,7 +172,7 @@
 {
   switch (name)
   {
-  case IWORKToken::pair | IWORKToken::NS_URI_SFA :
+  case +IWORKToken::pair | IWORKToken::NS_URI_SFA :
     return std::make_shared<CellCommentMappingPair>(getState(), m_coordinateCommentRefMap);
   default:
     return IWORKXMLEmptyContextBase::element(name);
@@ -210,9 +210,9 @@
 {
   switch (name)
   {
-  case IWORKToken::implicit_format_type | IWORKToken::NS_URI_SF : // find 256|261|269
+  case +IWORKToken::implicit_format_type | IWORKToken::NS_URI_SF : // find 256|261|269
     break;
-  case IWORKToken::ID | IWORKToken::NS_URI_SFA : // must we store this element ?
+  case +IWORKToken::ID | IWORKToken::NS_URI_SFA : // must we store this element ?
     IWORKXMLEmptyContextBase::attribute(name, value);
     break;
   default :
@@ -225,11 +225,11 @@
 {
   switch (name)
   {
-  case IWORKToken::date_format | IWORKToken::NS_URI_SF : // USEME
+  case +IWORKToken::date_format | IWORKToken::NS_URI_SF : // USEME
     return std::make_shared<IWORKDateTimeFormatElement>(getState(), m_dateTimeFormat);
-  case IWORKToken::duration_format | IWORKToken::NS_URI_SF : // USEME
+  case +IWORKToken::duration_format | IWORKToken::NS_URI_SF : // USEME
     return std::make_shared<IWORKDurationFormatElement>(getState(), m_durationFormat);
-  case IWORKToken::number_format | IWORKToken::NS_URI_SF : // USEME
+  case +IWORKToken::number_format | IWORKToken::NS_URI_SF : // USEME
     return std::make_shared<IWORKNumberFormatElement>(getState(), m_numberFormat);
   default:
     ETONYEK_DEBUG_MSG(("CfElement::element[IWORKTabularModelElement.cpp]: find some unknown element\n"));
@@ -267,23 +267,23 @@
 {
   switch (name)
   {
-  case IWORKToken::col_span | IWORKToken::NS_URI_SF :
+  case +IWORKToken::col_span | IWORKToken::NS_URI_SF :
     getState().m_tableData->m_columnSpan = lexical_cast<unsigned>(value);
     break;
-  case IWORKToken::ct | IWORKToken::NS_URI_SF :
+  case +IWORKToken::ct | IWORKToken::NS_URI_SF :
     getState().m_tableData->m_cellMove = lexical_cast<unsigned>(value);
     break;
-  case IWORKToken::row_span | IWORKToken::NS_URI_SF :
+  case +IWORKToken::row_span | IWORKToken::NS_URI_SF :
     getState().m_tableData->m_rowSpan = lexical_cast<unsigned>(value);
     break;
-  case IWORKToken::s | IWORKToken::NS_URI_SF :
+  case +IWORKToken::s | IWORKToken::NS_URI_SF :
     getState().m_tableData->m_style = getState().getStyleByName(value, getState().getDictionary().m_cellStyles);
     break;
-  case IWORKToken::f | IWORKToken::NS_URI_SF : // format?
-  case IWORKToken::h | IWORKToken::NS_URI_SF : // height
-  case IWORKToken::w | IWORKToken::NS_URI_SF : // width
+  case +IWORKToken::f | IWORKToken::NS_URI_SF : // format?
+  case +IWORKToken::h | IWORKToken::NS_URI_SF : // height
+  case +IWORKToken::w | IWORKToken::NS_URI_SF : // width
     break;
-  case IWORKToken::ID | IWORKToken::NS_URI_SFA : // can appear in result, store me?
+  case +IWORKToken::ID | IWORKToken::NS_URI_SFA : // can appear in result, store me?
     IWORKXMLEmptyContextBase::attribute(name,value);
     break;
   default:
@@ -295,9 +295,9 @@
 {
   switch (name)
   {
-  case IWORKToken::cf | IWORKToken::NS_URI_SF :
+  case +IWORKToken::cf | IWORKToken::NS_URI_SF :
     return std::make_shared<CfElement>(getState());
-  case IWORKToken::cf_ref | IWORKToken::NS_URI_SF:
+  case +IWORKToken::cf_ref | IWORKToken::NS_URI_SF:
     return std::make_shared<IWORKRefContext>(getState(), m_ref);
   default:
     ETONYEK_DEBUG_MSG(("CellContextBase::element[IWORKTabularModelElement.cpp]: find some unknown element\n"));
@@ -399,14 +399,14 @@
 {
   switch (name)
   {
-  case IWORKToken::fitting_width | IWORKToken::NS_URI_SF :
-  case IWORKToken::nc | IWORKToken::NS_URI_SF : // look like the number of cells in column
-  case IWORKToken::ncoc | IWORKToken::NS_URI_SF :
-  case IWORKToken::nsc | IWORKToken::NS_URI_SF : // look like the number of special cells in column, ie covered cell
-  case IWORKToken::manually_sized | IWORKToken::NS_URI_SF :
-  case IWORKToken::preferred_width | IWORKToken::NS_URI_SF :
+  case +IWORKToken::fitting_width | IWORKToken::NS_URI_SF :
+  case +IWORKToken::nc | IWORKToken::NS_URI_SF : // look like the number of cells in column
+  case +IWORKToken::ncoc | IWORKToken::NS_URI_SF :
+  case +IWORKToken::nsc | IWORKToken::NS_URI_SF : // look like the number of special cells in column, ie covered cell
+  case +IWORKToken::manually_sized | IWORKToken::NS_URI_SF :
+  case +IWORKToken::preferred_width | IWORKToken::NS_URI_SF :
     break;
-  case IWORKToken::width | IWORKToken::NS_URI_SF :
+  case +IWORKToken::width | IWORKToken::NS_URI_SF :
     getState().m_tableData->m_columnSizes.push_back(IWORKColumnRowSize(lexical_cast<double>(value)));
     break;
   default :
@@ -419,7 +419,7 @@
 {
   switch (name)
   {
-  case IWORKToken::grouping_display | IWORKToken::NS_URI_SF :
+  case +IWORKToken::grouping_display | IWORKToken::NS_URI_SF :
   {
     static bool first=true;
     if (first)
@@ -459,7 +459,7 @@
 {
   switch (name)
   {
-  case IWORKToken::grid_column | IWORKToken::NS_URI_SF :
+  case +IWORKToken::grid_column | IWORKToken::NS_URI_SF :
     return std::make_shared<GridColumnElement>(getState());
   default:
     ETONYEK_DEBUG_MSG(("ColumnsElement::element[IWORKTabularModelElement.cpp]: find some unknown element\n"));
@@ -491,7 +491,7 @@
 {
   switch (name)
   {
-  case IWORKToken::v | IWORKToken::NS_URI_SF :
+  case +IWORKToken::v | IWORKToken::NS_URI_SF :
     getState().m_tableData->m_content = value;
     break;
   default :
@@ -523,7 +523,7 @@
 {
   switch (name)
   {
-  case IWORKToken::cell_date | IWORKToken::NS_URI_SF :
+  case +IWORKToken::cell_date | IWORKToken::NS_URI_SF :
     getState().m_tableData->m_content = value;
     break;
   default :
@@ -554,7 +554,7 @@
 {
   switch (name)
   {
-  case IWORKToken::du | IWORKToken::NS_URI_SF :
+  case +IWORKToken::du | IWORKToken::NS_URI_SF :
     getState().m_tableData->m_content = value;
     getState().m_tableData->m_type = IWORK_CELL_TYPE_DURATION;
     break;
@@ -587,8 +587,8 @@
 {
   switch (name)
   {
-  case IWORKToken::s | IWORKToken::NS_URI_SFA :
-  case IWORKToken::string | IWORKToken::NS_URI_SFA :
+  case +IWORKToken::s | IWORKToken::NS_URI_SFA :
+  case +IWORKToken::string | IWORKToken::NS_URI_SFA :
     getState().m_tableData->m_content = value;
     getState().m_tableData->m_type = IWORK_CELL_TYPE_TEXT;
     break;
@@ -602,8 +602,8 @@
 {
   switch (name)
   {
-  case IWORKToken::so | IWORKToken::NS_URI_SF :
-  case IWORKToken::cell_storage | IWORKToken::NS_URI_SF :
+  case +IWORKToken::so | IWORKToken::NS_URI_SF :
+  case +IWORKToken::cell_storage | IWORKToken::NS_URI_SF :
     if (getState().m_tableData->m_content)
     {
       ETONYEK_DEBUG_MSG(("found a text cell with both simple and formatted content\n"));
@@ -641,7 +641,7 @@
 {
   switch (name)
   {
-  case IWORKToken::v | IWORKToken::NS_URI_SF :
+  case +IWORKToken::v | IWORKToken::NS_URI_SF :
     getState().m_tableData->m_content = value;
     break;
   default :
@@ -672,7 +672,7 @@
 {
   switch (name)
   {
-  case IWORKToken::ho | IWORKToken::NS_URI_SF : // horizontal overlap?
+  case +IWORKToken::ho | IWORKToken::NS_URI_SF : // horizontal overlap?
     break;
   default :
     CellContextBase::attribute(name, value);
@@ -717,7 +717,7 @@
 {
   switch (name)
   {
-  case IWORKToken::ct | IWORKToken::NS_URI_SF :
+  case +IWORKToken::ct | IWORKToken::NS_URI_SF :
     if (m_isResult && !getState().m_currentText)
       getState().m_currentText = getCollector().createText(getState().m_langManager, false);
     return std::make_shared<CtElement>(getState());
@@ -751,7 +751,7 @@
 {
   switch (name)
   {
-  case IWORKToken::v | IWORKToken::NS_URI_SF :
+  case +IWORKToken::v | IWORKToken::NS_URI_SF :
     getState().m_tableData->m_content = value;
     break;
   default :
@@ -781,16 +781,16 @@
 {
   switch (name)
   {
-  case IWORKToken::rb | IWORKToken::NS_URI_SF :
+  case +IWORKToken::rb | IWORKToken::NS_URI_SF :
     return std::make_shared<RbElement>(getState());
     break;
-  case IWORKToken::rd | IWORKToken::NS_URI_SF :
+  case +IWORKToken::rd | IWORKToken::NS_URI_SF :
     return std::make_shared<DElement>(getState(), true);
     break;
-  case IWORKToken::rn | IWORKToken::NS_URI_SF :
+  case +IWORKToken::rn | IWORKToken::NS_URI_SF :
     return std::make_shared<NElement>(getState(), true);
     break;
-  case IWORKToken::rt | IWORKToken::NS_URI_SF :
+  case +IWORKToken::rt | IWORKToken::NS_URI_SF :
     return std::make_shared<TElement>(getState(), true);
     break;
   default:
@@ -824,11 +824,11 @@
 {
   switch (name)
   {
-  case IWORKToken::fo | IWORKToken::NS_URI_SF :
+  case +IWORKToken::fo | IWORKToken::NS_URI_SF :
     return std::make_shared<IWORKFoElement>(getState());
-  case IWORKToken::of | IWORKToken::NS_URI_SF :
+  case +IWORKToken::of | IWORKToken::NS_URI_SF :
     return std::make_shared<IWORKOfElement>(getState());
-  case IWORKToken::r | IWORKToken::NS_URI_SF :
+  case +IWORKToken::r | IWORKToken::NS_URI_SF :
     return std::make_shared<RElement>(getState());
   default:
     break;
@@ -877,9 +877,9 @@
 {
   switch (name)
   {
-  case IWORKToken::group_formula_string | IWORKToken::NS_URI_SF : // value
-  case IWORKToken::group_formula_value | IWORKToken::NS_URI_SF : // value
-  case IWORKToken::group_formula_value_valid | IWORKToken::NS_URI_SF : // true or false
+  case +IWORKToken::group_formula_string | IWORKToken::NS_URI_SF : // value
+  case +IWORKToken::group_formula_value | IWORKToken::NS_URI_SF : // value
+  case +IWORKToken::group_formula_value_valid | IWORKToken::NS_URI_SF : // true or false
     break;
   default :
     CellContextBase::attribute(name, value);
@@ -890,7 +890,7 @@
 {
   switch (name)
   {
-  case IWORKToken::groupings_element | IWORKToken::NS_URI_SF :
+  case +IWORKToken::groupings_element | IWORKToken::NS_URI_SF :
   {
     static bool first=true;
     if (first)
@@ -900,7 +900,7 @@
     }
     return IWORKXMLContextPtr_t();
   }
-  case IWORKToken::fo | IWORKToken::NS_URI_SF :
+  case +IWORKToken::fo | IWORKToken::NS_URI_SF :
     return std::make_shared<IWORKFoElement>(getState());
   default:
     break;
@@ -1026,7 +1026,7 @@
 
 IWORKXMLContextPtr_t MenuChoicesElement::element(int name)
 {
-  if (name == (IWORKToken::t | IWORKToken::NS_URI_SF))
+  if (name == (+IWORKToken::t | IWORKToken::NS_URI_SF))
     return std::make_shared<TElementInMenu>(getState(), m_contentMap);
 
   return IWORKXMLContextPtr_t();
@@ -1040,10 +1040,10 @@
 {
   switch (name)
   {
-  case IWORKToken::menu_choices | IWORKToken::NS_URI_SF :
+  case +IWORKToken::menu_choices | IWORKToken::NS_URI_SF :
     return std::make_shared<MenuChoicesElement>(getState(), m_contentMap);
     break;
-  case IWORKToken::proxied_cell_ref | IWORKToken::NS_URI_SF :
+  case +IWORKToken::proxied_cell_ref | IWORKToken::NS_URI_SF :
     return std::make_shared<IWORKRefContext>(getState(), m_ref);
     break;
   default:
@@ -1101,11 +1101,11 @@
 {
   switch (name)
   {
-  case IWORKToken::ct | IWORKToken::NS_URI_SF :
+  case +IWORKToken::ct | IWORKToken::NS_URI_SF :
     getState().m_tableData->m_cellMove = lexical_cast<unsigned>(value);
     break;
-  case IWORKToken::ho | IWORKToken::NS_URI_SF : // offset to main cell
-  case IWORKToken::vo | IWORKToken::NS_URI_SF :
+  case +IWORKToken::ho | IWORKToken::NS_URI_SF : // offset to main cell
+  case +IWORKToken::vo | IWORKToken::NS_URI_SF :
     break;
   default :
     CellContextBase::attribute(name,value);
@@ -1141,14 +1141,14 @@
 {
   switch (name)
   {
-  case IWORKToken::v | IWORKToken::NS_URI_SF :
+  case +IWORKToken::v | IWORKToken::NS_URI_SF :
     getState().m_tableData->m_content = value;
     break;
-  case IWORKToken::increment | IWORKToken::NS_URI_SF :
-  case IWORKToken::min_value | IWORKToken::NS_URI_SF :
-  case IWORKToken::max_value | IWORKToken::NS_URI_SF :
-  case IWORKToken::slider_orientation | IWORKToken::NS_URI_SF :
-  case IWORKToken::slider_position | IWORKToken::NS_URI_SF :
+  case +IWORKToken::increment | IWORKToken::NS_URI_SF :
+  case +IWORKToken::min_value | IWORKToken::NS_URI_SF :
+  case +IWORKToken::max_value | IWORKToken::NS_URI_SF :
+  case +IWORKToken::slider_orientation | IWORKToken::NS_URI_SF :
+  case +IWORKToken::slider_position | IWORKToken::NS_URI_SF :
     break;
   default :
     CellContextBase::attribute(name, value);
@@ -1179,12 +1179,12 @@
 {
   switch (name)
   {
-  case IWORKToken::v | IWORKToken::NS_URI_SF :
+  case +IWORKToken::v | IWORKToken::NS_URI_SF :
     getState().m_tableData->m_content = value;
     break;
-  case IWORKToken::increment | IWORKToken::NS_URI_SF :
-  case IWORKToken::min_value | IWORKToken::NS_URI_SF :
-  case IWORKToken::max_value | IWORKToken::NS_URI_SF :
+  case +IWORKToken::increment | IWORKToken::NS_URI_SF :
+  case +IWORKToken::min_value | IWORKToken::NS_URI_SF :
+  case +IWORKToken::max_value | IWORKToken::NS_URI_SF :
     break;
   default :
     CellContextBase::attribute(name, value);
@@ -1214,8 +1214,8 @@
 {
   switch (name)
   {
-  case IWORKToken::h | IWORKToken::NS_URI_SFA : // horizontal size
-  case IWORKToken::w | IWORKToken::NS_URI_SFA : // vertical size
+  case +IWORKToken::h | IWORKToken::NS_URI_SFA : // horizontal size
+  case +IWORKToken::w | IWORKToken::NS_URI_SFA : // vertical size
     break;
   default :
     ETONYEK_DEBUG_MSG(("ContentSizeElement::attribute[IWORKTabularModelElement.cpp]: found unexpected attribute\n"));
@@ -1267,25 +1267,25 @@
 {
   switch (name)
   {
-  case IWORKToken::ID | IWORKToken::NS_URI_SFA :
+  case +IWORKToken::ID | IWORKToken::NS_URI_SFA :
     if (!m_isResult)
     {
       ETONYEK_DEBUG_MSG(("GenericCellElement::attribute: found unexpected id field\n"));
     }
     m_id=value;
     break;
-  case IWORKToken::col | IWORKToken::NS_URI_SF :
+  case +IWORKToken::col | IWORKToken::NS_URI_SF :
     getState().m_tableData->m_column = (unsigned) int_cast(value);
     break;
-  case IWORKToken::flags | IWORKToken::NS_URI_SF : // find 4 ?
+  case +IWORKToken::flags | IWORKToken::NS_URI_SF : // find 4 ?
     break;
-  case IWORKToken::row | IWORKToken::NS_URI_SF :
+  case +IWORKToken::row | IWORKToken::NS_URI_SF :
     getState().m_tableData->m_row = (unsigned) int_cast(value);
     break;
-  case IWORKToken::col_span | IWORKToken::NS_URI_SF :
+  case +IWORKToken::col_span | IWORKToken::NS_URI_SF :
     getState().m_tableData->m_columnSpan = lexical_cast<unsigned>(value);
     break;
-  case IWORKToken::row_span | IWORKToken::NS_URI_SF :
+  case +IWORKToken::row_span | IWORKToken::NS_URI_SF :
     getState().m_tableData->m_rowSpan = lexical_cast<unsigned>(value);
     break;
   default :
@@ -1297,9 +1297,9 @@
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SF | IWORKToken::cell_style_ref :
+  case +IWORKToken::NS_URI_SF | IWORKToken::cell_style_ref :
     return std::make_shared<IWORKRefContext>(getState(), m_styleRef);
-  case IWORKToken::NS_URI_SF | IWORKToken::content_size :
+  case +IWORKToken::NS_URI_SF | IWORKToken::content_size :
     return std::make_shared<ContentSizeElement>(getState());
   default:
     break;
@@ -1383,7 +1383,7 @@
 {
   switch (name)
   {
-  case IWORKToken::value | IWORKToken::NS_URI_SF :
+  case +IWORKToken::value | IWORKToken::NS_URI_SF :
     getState().m_tableData->m_type = IWORK_CELL_TYPE_BOOL;
     getState().m_tableData->m_content = value;
     break;
@@ -1416,7 +1416,7 @@
 {
   switch (name)
   {
-  case IWORKToken::cell_date | IWORKToken::NS_URI_SF :
+  case +IWORKToken::cell_date | IWORKToken::NS_URI_SF :
   {
     IWORKDateTimeData time;
     if (value && sscanf(value,"%d-%d-%dT%d:%d:%f",&time.m_year, &time.m_month, &time.m_day, &time.m_hour, &time.m_minute, &time.m_second)==6)
@@ -1458,7 +1458,7 @@
 {
   switch (name)
   {
-  case IWORKToken::value | IWORKToken::NS_URI_SF :
+  case +IWORKToken::value | IWORKToken::NS_URI_SF :
     getState().m_tableData->m_type = IWORK_CELL_TYPE_NUMBER;
     getState().m_tableData->m_content = value;
     break;
@@ -1489,8 +1489,8 @@
 {
   switch (name)
   {
-  case IWORKToken::horizontal_offset | IWORKToken::NS_URI_SF :
-  case IWORKToken::vertical_offset | IWORKToken::NS_URI_SF :
+  case +IWORKToken::horizontal_offset | IWORKToken::NS_URI_SF :
+  case +IWORKToken::vertical_offset | IWORKToken::NS_URI_SF :
     break;
   default:
     return GenericCellElement::attribute(name,value);
@@ -1534,7 +1534,7 @@
 {
   switch (name)
   {
-  case IWORKToken::cell_text | IWORKToken::NS_URI_SF :
+  case +IWORKToken::cell_text | IWORKToken::NS_URI_SF :
     return std::make_shared<CtElement>(getState());
   default:
     break;
@@ -1568,13 +1568,13 @@
 {
   switch (name)
   {
-  case IWORKToken::result_bool_cell | IWORKToken::NS_URI_SF :
+  case +IWORKToken::result_bool_cell | IWORKToken::NS_URI_SF :
     return std::make_shared<BoolCellElement>(getState(), true);
-  case IWORKToken::result_date_cell | IWORKToken::NS_URI_SF :
+  case +IWORKToken::result_date_cell | IWORKToken::NS_URI_SF :
     return std::make_shared<DateCellElement>(getState(), true);
-  case IWORKToken::result_number_cell | IWORKToken::NS_URI_SF :
+  case +IWORKToken::result_number_cell | IWORKToken::NS_URI_SF :
     return std::make_shared<NumberCellElement>(getState(), true);
-  case IWORKToken::result_text_cell | IWORKToken::NS_URI_SF :
+  case +IWORKToken::result_text_cell | IWORKToken::NS_URI_SF :
     return std::make_shared<TextCellElement>(getState(), true);
   default:
     break;
@@ -1605,9 +1605,9 @@
 {
   switch (name)
   {
-  case IWORKToken::formula | IWORKToken::NS_URI_SF :
+  case +IWORKToken::formula | IWORKToken::NS_URI_SF :
     return std::make_shared<IWORKFormulaElement>(getState());
-  case IWORKToken::result_cell | IWORKToken::NS_URI_SF :
+  case +IWORKToken::result_cell | IWORKToken::NS_URI_SF :
     return std::make_shared<ResultCellElement>(getState());
   default:
     break;
@@ -1651,43 +1651,43 @@
 {
   switch (name)
   {
-  case IWORKToken::cb | IWORKToken::NS_URI_SF :
+  case +IWORKToken::cb | IWORKToken::NS_URI_SF :
     return std::make_shared<CbElement>(getState());
-  case IWORKToken::d | IWORKToken::NS_URI_SF :
+  case +IWORKToken::d | IWORKToken::NS_URI_SF :
     return std::make_shared<DElement>(getState());
-  case IWORKToken::du | IWORKToken::NS_URI_SF :
+  case +IWORKToken::du | IWORKToken::NS_URI_SF :
     return std::make_shared<DuElement>(getState());
-  case IWORKToken::f | IWORKToken::NS_URI_SF :
+  case +IWORKToken::f | IWORKToken::NS_URI_SF :
     return std::make_shared<FElement>(getState());
-  case IWORKToken::g | IWORKToken::NS_URI_SF :
+  case +IWORKToken::g | IWORKToken::NS_URI_SF :
     return std::make_shared<GElement>(getState());
-  case IWORKToken::grouping | IWORKToken::NS_URI_SF :
+  case +IWORKToken::grouping | IWORKToken::NS_URI_SF :
     return std::make_shared<GroupingElement>(getState());
-  case IWORKToken::n | IWORKToken::NS_URI_SF :
+  case +IWORKToken::n | IWORKToken::NS_URI_SF :
     return std::make_shared<NElement>(getState());
-  case IWORKToken::o | IWORKToken::NS_URI_SF :
+  case +IWORKToken::o | IWORKToken::NS_URI_SF :
     return std::make_shared<OElement>(getState());
-  case IWORKToken::pm | IWORKToken::NS_URI_SF :
+  case +IWORKToken::pm | IWORKToken::NS_URI_SF :
     return std::make_shared<PmElement>(getState());
-  case IWORKToken::s | IWORKToken::NS_URI_SF :
+  case +IWORKToken::s | IWORKToken::NS_URI_SF :
     return std::make_shared<SElement>(getState());
-  case IWORKToken::sl | IWORKToken::NS_URI_SF :
+  case +IWORKToken::sl | IWORKToken::NS_URI_SF :
     return std::make_shared<SlElement>(getState());
-  case IWORKToken::st | IWORKToken::NS_URI_SF :
+  case +IWORKToken::st | IWORKToken::NS_URI_SF :
     return std::make_shared<StElement>(getState());
-  case IWORKToken::t | IWORKToken::NS_URI_SF :
+  case +IWORKToken::t | IWORKToken::NS_URI_SF :
     return std::make_shared<TElement>(getState());
-  case IWORKToken::date_cell | IWORKToken::NS_URI_SF :
+  case +IWORKToken::date_cell | IWORKToken::NS_URI_SF :
     return std::make_shared<DateCellElement>(getState());
-  case IWORKToken::generic_cell | IWORKToken::NS_URI_SF :
+  case +IWORKToken::generic_cell | IWORKToken::NS_URI_SF :
     return std::make_shared<GenericCellElement>(getState());
-  case IWORKToken::formula_cell | IWORKToken::NS_URI_SF :
+  case +IWORKToken::formula_cell | IWORKToken::NS_URI_SF :
     return std::make_shared<FormulaCellElement>(getState());
-  case IWORKToken::number_cell | IWORKToken::NS_URI_SF :
+  case +IWORKToken::number_cell | IWORKToken::NS_URI_SF :
     return std::make_shared<NumberCellElement>(getState());
-  case IWORKToken::span_cell | IWORKToken::NS_URI_SF :
+  case +IWORKToken::span_cell | IWORKToken::NS_URI_SF :
     return std::make_shared<SpanCellElement>(getState());
-  case IWORKToken::text_cell | IWORKToken::NS_URI_SF :
+  case +IWORKToken::text_cell | IWORKToken::NS_URI_SF :
     return std::make_shared<TextCellElement>(getState());
   default:
     break;
@@ -1729,10 +1729,10 @@
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SF | IWORKToken::start_index :
+  case +IWORKToken::NS_URI_SF | IWORKToken::start_index :
     m_startIndex = int_cast(value);
     break;
-  case IWORKToken::NS_URI_SF | IWORKToken::stop_index :
+  case +IWORKToken::NS_URI_SF | IWORKToken::stop_index :
     m_stopIndex = int_cast(value);
     break;
   default:
@@ -1784,10 +1784,10 @@
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SF | IWORKToken::gridline_index :
+  case +IWORKToken::NS_URI_SF | IWORKToken::gridline_index :
     m_gridlineIndex_=int_cast(value);
     break;
-  case IWORKToken::NS_URI_SF | IWORKToken::count : // number of element
+  case +IWORKToken::NS_URI_SF | IWORKToken::count : // number of element
     m_count=int_cast(value);
     break;
   default :
@@ -1800,7 +1800,7 @@
 {
   switch (name)
   {
-  case IWORKToken::vector_style_ref | IWORKToken::NS_URI_SF :
+  case +IWORKToken::vector_style_ref | IWORKToken::NS_URI_SF :
     return std::make_shared<VectorStyleRefElement>(getState(), m_line);
   default:
     ETONYEK_DEBUG_MSG(("StyleRunElement::element[IWORKTabularModelElement.cpp]: find some unknown element\n"));
@@ -1862,7 +1862,7 @@
 {
   switch (name)
   {
-  case IWORKToken::style_run | IWORKToken::NS_URI_SF :
+  case +IWORKToken::style_run | IWORKToken::NS_URI_SF :
     return std::make_shared<StyleRunElement>(getState(), m_gridLines, m_maxLines);
   default:
     ETONYEK_DEBUG_MSG(("GridlineElement::element[IWORKTabularModelElement.cpp]: find some unknown element\n"));
@@ -1894,15 +1894,15 @@
 {
   switch (name)
   {
-  case IWORKToken::height | IWORKToken::NS_URI_SF :
+  case +IWORKToken::height | IWORKToken::NS_URI_SF :
     getState().m_tableData->m_rowSizes.push_back(IWORKColumnRowSize(lexical_cast<double>(value)));
     break;
-  case IWORKToken::fitting_height | IWORKToken::NS_URI_SF :
-  case IWORKToken::manually_sized | IWORKToken::NS_URI_SF :
-  case IWORKToken::nc | IWORKToken::NS_URI_SF : // look like the number of cells in row...
-  case IWORKToken::ncoc | IWORKToken::NS_URI_SF :
-  case IWORKToken::nsc | IWORKToken::NS_URI_SF : // look like the number of special cells in row, ie covered cell
-  case IWORKToken::preferred_height | IWORKToken::NS_URI_SF :
+  case +IWORKToken::fitting_height | IWORKToken::NS_URI_SF :
+  case +IWORKToken::manually_sized | IWORKToken::NS_URI_SF :
+  case +IWORKToken::nc | IWORKToken::NS_URI_SF : // look like the number of cells in row...
+  case +IWORKToken::ncoc | IWORKToken::NS_URI_SF :
+  case +IWORKToken::nsc | IWORKToken::NS_URI_SF : // look like the number of special cells in row, ie covered cell
+  case +IWORKToken::preferred_height | IWORKToken::NS_URI_SF :
     break;
   default :
     ETONYEK_DEBUG_MSG(("GridRowElement::attribute[IWORKTabularModelElement.cpp]: find some unknown attribute\n"));
@@ -1934,7 +1934,7 @@
 {
   switch (name)
   {
-  case IWORKToken::grid_row | IWORKToken::NS_URI_SF :
+  case +IWORKToken::grid_row | IWORKToken::NS_URI_SF :
     return std::make_shared<GridRowElement>(getState());
   default:
     ETONYEK_DEBUG_MSG(("RowsElement::element[IWORKTabularModelElement.cpp]: find some unknown element\n"));
@@ -1967,10 +1967,10 @@
 {
   switch (name)
   {
-  case IWORKToken::numcols | IWORKToken::NS_URI_SF :
+  case +IWORKToken::numcols | IWORKToken::NS_URI_SF :
     getState().m_tableData->m_numColumns = (unsigned) int_cast(value);
     break;
-  case IWORKToken::numrows | IWORKToken::NS_URI_SF :
+  case +IWORKToken::numrows | IWORKToken::NS_URI_SF :
     getState().m_tableData->m_numRows = (unsigned) int_cast(value);
     break;
   default :
@@ -1983,15 +1983,15 @@
 {
   switch (name)
   {
-  case IWORKToken::columns | IWORKToken::NS_URI_SF :
+  case +IWORKToken::columns | IWORKToken::NS_URI_SF :
     return std::make_shared<ColumnsElement>(getState());
-  case IWORKToken::datasource | IWORKToken::NS_URI_SF :
+  case +IWORKToken::datasource | IWORKToken::NS_URI_SF :
     return std::make_shared<DatasourceElement>(getState());
-  case IWORKToken::rows | IWORKToken::NS_URI_SF :
+  case +IWORKToken::rows | IWORKToken::NS_URI_SF :
     return std::make_shared<RowsElement>(getState());
-  case IWORKToken::vertical_gridline_styles | IWORKToken::NS_URI_SF :
+  case +IWORKToken::vertical_gridline_styles | IWORKToken::NS_URI_SF :
     return std::make_shared<GridlineElement>(getState(), getState().m_tableData->m_verticalLines, getState().m_tableData->m_numRows);
-  case IWORKToken::horizontal_gridline_styles | IWORKToken::NS_URI_SF :
+  case +IWORKToken::horizontal_gridline_styles | IWORKToken::NS_URI_SF :
     return std::make_shared<GridlineElement>(getState(), getState().m_tableData->m_horizontalLines, getState().m_tableData->m_numColumns);
   default:
     ETONYEK_DEBUG_MSG(("GridElement::element[IWORKTabularModelElement.cpp]: find some unknown element\n"));
@@ -2020,22 +2020,22 @@
 {
   switch (name)
   {
-  case IWORKToken::ID | IWORKToken::NS_URI_SFA :
+  case +IWORKToken::ID | IWORKToken::NS_URI_SFA :
     m_id=value;
     break;
-  case IWORKToken::name | IWORKToken::NS_URI_SF :
+  case +IWORKToken::name | IWORKToken::NS_URI_SF :
     m_tableName = value;
     break;
-  case IWORKToken::num_footer_rows | IWORKToken::NS_URI_SF :
+  case +IWORKToken::num_footer_rows | IWORKToken::NS_URI_SF :
     m_footerRows = try_int_cast(value);
     break;
-  case IWORKToken::num_header_columns | IWORKToken::NS_URI_SF :
+  case +IWORKToken::num_header_columns | IWORKToken::NS_URI_SF :
     m_headerColumns = try_int_cast(value);
     break;
-  case IWORKToken::num_header_rows | IWORKToken::NS_URI_SF :
+  case +IWORKToken::num_header_rows | IWORKToken::NS_URI_SF :
     m_headerRows = try_int_cast(value);
     break;
-  case IWORKToken::id | IWORKToken::NS_URI_SF :
+  case +IWORKToken::id | IWORKToken::NS_URI_SF :
     m_tableId = "SFTGlobalID_" + string(value);
     break;
   default:
@@ -2058,18 +2058,18 @@
 {
   switch (name)
   {
-  case IWORKToken::grid | IWORKToken::NS_URI_SF :
+  case +IWORKToken::grid | IWORKToken::NS_URI_SF :
     return std::make_shared<GridElement>(getState());
-  case IWORKToken::tabular_style_ref | IWORKToken::NS_URI_SF :
+  case +IWORKToken::tabular_style_ref | IWORKToken::NS_URI_SF :
     return std::make_shared<IWORKRefContext>(getState(), m_styleRef);
 
-  case IWORKToken::cell_comment_mapping | IWORKToken::NS_URI_SF :
+  case +IWORKToken::cell_comment_mapping | IWORKToken::NS_URI_SF :
     return std::make_shared<CellCommentMapping>(getState(), m_coordinateCommentRefMap);
-  case IWORKToken::error_warning_mapping | IWORKToken::NS_URI_SF :
-  case IWORKToken::filterset | IWORKToken::NS_URI_SF :
-  case IWORKToken::grouping_order | IWORKToken::NS_URI_SF :
-  case IWORKToken::grouping_state | IWORKToken::NS_URI_SF :
-  case IWORKToken::sort | IWORKToken::NS_URI_SF :
+  case +IWORKToken::error_warning_mapping | IWORKToken::NS_URI_SF :
+  case +IWORKToken::filterset | IWORKToken::NS_URI_SF :
+  case +IWORKToken::grouping_order | IWORKToken::NS_URI_SF :
+  case +IWORKToken::grouping_state | IWORKToken::NS_URI_SF :
+  case +IWORKToken::sort | IWORKToken::NS_URI_SF :
     break;
   default:
     ETONYEK_DEBUG_MSG(("IWORKTabularModelElement::element: find some unknown element\n"));
--- src/lib/contexts/IWORKTextBodyElement.cpp
+++ src/lib/contexts/IWORKTextBodyElement.cpp
@@ -31,7 +31,7 @@
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SF | IWORKToken::layout :
+  case +IWORKToken::NS_URI_SF | IWORKToken::layout :
     if (m_layout || m_para)
     {
       ETONYEK_DEBUG_MSG(("IWORKTextBodyElement::element: layout following another element, not allowed, skipping\n"));
@@ -42,7 +42,7 @@
       return std::make_shared<IWORKLayoutElement>(getState());
     }
     break;
-  case IWORKToken::NS_URI_SF | IWORKToken::p :
+  case +IWORKToken::NS_URI_SF | IWORKToken::p :
     if (m_layout)
     {
       ETONYEK_DEBUG_MSG(("IWORKTextBodyElement::element: paragraph following layout, not allowed, skipping\n"));
@@ -57,9 +57,9 @@
       return std::make_shared<IWORKPElement>(getState());
     }
     break;
-  case IWORKToken::NS_URI_SF | IWORKToken::insertion_point :
-  case IWORKToken::NS_URI_SF | IWORKToken::page_start : // with attribute page-index
-  case IWORKToken::NS_URI_SF | IWORKToken::selection_end :
+  case +IWORKToken::NS_URI_SF | IWORKToken::insertion_point :
+  case +IWORKToken::NS_URI_SF | IWORKToken::page_start : // with attribute page-index
+  case +IWORKToken::NS_URI_SF | IWORKToken::selection_end :
     break;
   default:
     ETONYEK_DEBUG_MSG(("IWORKTextBodyElement::element: find some unknown element\n"));
--- src/lib/contexts/IWORKTextElement.cpp
+++ src/lib/contexts/IWORKTextElement.cpp
@@ -30,13 +30,13 @@
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SFA | IWORKToken::ID : // TODO: storeme ?
+  case +IWORKToken::NS_URI_SFA | IWORKToken::ID : // TODO: storeme ?
     IWORKXMLElementContextBase::attribute(name, value);
     break;
-  case IWORKToken::NS_URI_SF | IWORKToken::layoutstyle :
+  case +IWORKToken::NS_URI_SF | IWORKToken::layoutstyle :
     m_layoutStyleRef = value;
     break;
-  case IWORKToken::NS_URI_SF | IWORKToken::tscale : // find one time with value 90
+  case +IWORKToken::NS_URI_SF | IWORKToken::tscale : // find one time with value 90
     break;
   default:
     ETONYEK_DEBUG_MSG(("IWORKTextElement::attribute: find some unknown attribute\n"));
@@ -47,7 +47,7 @@
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SF | IWORKToken::text_storage :
+  case +IWORKToken::NS_URI_SF | IWORKToken::text_storage :
     return std::make_shared<IWORKTextStorageElement>(getState(), m_stylesheet);
   default:
     ETONYEK_DEBUG_MSG(("IWORKTextElement::element: find some unknown element\n"));
--- src/lib/contexts/IWORKTextLabelElement.cpp
+++ src/lib/contexts/IWORKTextLabelElement.cpp
@@ -83,16 +83,16 @@
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SFA | IWORKToken::ID :
+  case +IWORKToken::NS_URI_SFA | IWORKToken::ID :
     IWORKXMLEmptyContextBase::attribute(name, value);
     break;
-  case IWORKToken::NS_URI_SF | IWORKToken::first :
+  case +IWORKToken::NS_URI_SF | IWORKToken::first :
     m_first = try_int_cast(value);
     break;
-  case IWORKToken::NS_URI_SF | IWORKToken::format :
+  case +IWORKToken::NS_URI_SF | IWORKToken::format :
     m_format = value;
     break;
-  case IWORKToken::NS_URI_SF | IWORKToken::type :
+  case +IWORKToken::NS_URI_SF | IWORKToken::type :
     switch (getState().getTokenizer().getId(value))
     {
     case IWORKToken::bullet :
--- src/lib/contexts/IWORKTextStorageElement.cpp
+++ src/lib/contexts/IWORKTextStorageElement.cpp
@@ -41,9 +41,9 @@
 
   switch (name)
   {
-  case IWORKToken::NS_URI_SF | IWORKToken::stylesheet_ref :
+  case +IWORKToken::NS_URI_SF | IWORKToken::stylesheet_ref :
     return std::make_shared<IWORKRefContext>(getState(), m_stylesheetId);
-  case IWORKToken::NS_URI_SF | IWORKToken::text_body :
+  case +IWORKToken::NS_URI_SF | IWORKToken::text_body :
     return std::make_shared<IWORKTextBodyElement>(getState());
   default:
     ETONYEK_DEBUG_MSG(("IWORKTextStorageElement::element: find some unknown element\n"));
--- src/lib/contexts/IWORKWrapElement.cpp
+++ src/lib/contexts/IWORKWrapElement.cpp
@@ -48,7 +48,7 @@
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SFA | IWORKToken::path :
+  case +IWORKToken::NS_URI_SFA | IWORKToken::path :
     try
     {
       m_path = std::make_shared<IWORKPath>(value);
@@ -58,10 +58,10 @@
       ETONYEK_DEBUG_MSG(("PathElement::attribute[IWORKWrapElement.cpp]: '%s' is not a valid path\n", value));
     }
     break;
-  case IWORKToken::NS_URI_SFA | IWORKToken::ID : // USEME
+  case +IWORKToken::NS_URI_SFA | IWORKToken::ID : // USEME
     IWORKXMLEmptyContextBase::attribute(name, value);
     break;
-  case IWORKToken::NS_URI_SFA | IWORKToken::version :
+  case +IWORKToken::NS_URI_SFA | IWORKToken::version :
     break;
   default:
     ETONYEK_DEBUG_MSG(("PathElement::attribute[IWORKWrapElement.cpp]: unexpected attribute\n"));
@@ -73,7 +73,7 @@
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SF | IWORKToken::bezier :
+  case +IWORKToken::NS_URI_SF | IWORKToken::bezier :
     return std::make_shared<IWORKBezierElement>(getState(), m_path);
   default:
     ETONYEK_DEBUG_MSG(("PathElement::element[IWORKWrapElement.cpp]: find unknown element\n"));
@@ -97,10 +97,10 @@
   {
     switch (name)
     {
-    case IWORKToken::NS_URI_SFA | IWORKToken::ID :
+    case +IWORKToken::NS_URI_SFA | IWORKToken::ID :
       IWORKXMLElementContextBase::attribute(name, value);
       break;
-    case IWORKToken::NS_URI_SF | IWORKToken::attachment_wrap_type :
+    case +IWORKToken::NS_URI_SF | IWORKToken::attachment_wrap_type :
       switch (getState().getTokenizer().getId(value))
       {
       case IWORKToken::aligned:
@@ -114,10 +114,10 @@
         break;
       }
       break;
-    case IWORKToken::NS_URI_SF | IWORKToken::alpha_threshold :
+    case +IWORKToken::NS_URI_SF | IWORKToken::alpha_threshold :
       get(m_wrap).m_alphaThreshold=double_cast(value);
       break;
-    case IWORKToken::NS_URI_SF | IWORKToken::direction :
+    case +IWORKToken::NS_URI_SF | IWORKToken::direction :
       switch (getState().getTokenizer().getId(value))
       {
       case IWORKToken::both :
@@ -134,10 +134,10 @@
         break;
       }
       break;
-    case IWORKToken::NS_URI_SF | IWORKToken::floating_wrap_enabled :
+    case +IWORKToken::NS_URI_SF | IWORKToken::floating_wrap_enabled :
       get(m_wrap).m_floatingWrapEnabled=bool_cast(value);
       break;
-    case IWORKToken::NS_URI_SF | IWORKToken::floating_wrap_type :
+    case +IWORKToken::NS_URI_SF | IWORKToken::floating_wrap_type :
       switch (getState().getTokenizer().getId(value))
       {
       case IWORKToken::directional:
@@ -154,13 +154,13 @@
         break;
       }
       break;
-    case IWORKToken::NS_URI_SF | IWORKToken::inline_wrap_enabled :
+    case +IWORKToken::NS_URI_SF | IWORKToken::inline_wrap_enabled :
       get(m_wrap).m_inlineWrapEnabled=bool_cast(value);
       break;
-    case IWORKToken::NS_URI_SF | IWORKToken::margin :
+    case +IWORKToken::NS_URI_SF | IWORKToken::margin :
       get(m_wrap).m_margin=double_cast(value);
       break;
-    case IWORKToken::NS_URI_SF | IWORKToken::wrap_style :
+    case +IWORKToken::NS_URI_SF | IWORKToken::wrap_style :
       switch (getState().getTokenizer().getId(value))
       {
       case IWORKToken::regular :
@@ -219,9 +219,9 @@
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SF | IWORKToken::path :
+  case +IWORKToken::NS_URI_SF | IWORKToken::path :
     return std::make_shared<PathElement>(getState(), get(m_wrap).m_path);
-  case IWORKToken::NS_URI_SF | IWORKToken::geometry :
+  case +IWORKToken::NS_URI_SF | IWORKToken::geometry :
     return std::make_shared<IWORKGeometryElement>(getState(), get(m_wrap).m_geometry);
   default:
     ETONYEK_DEBUG_MSG(("IWORKWrapElement::element: find unknown element\n"));
--- src/lib/contexts/KEY1ContentElement.cpp
+++ src/lib/contexts/KEY1ContentElement.cpp
@@ -48,9 +48,9 @@
 {
   switch (name)
   {
-  case KEY1Token::div | KEY1Token::NS_URI_KEY :
+  case +KEY1Token::div | KEY1Token::NS_URI_KEY :
     return std::make_shared<KEY1DivElement>(getState(), m_spanStyle.getStyle(), m_divStyle.getStyle(), m_delayedLineBreak);
-  case KEY1Token::span | KEY1Token::NS_URI_KEY :
+  case +KEY1Token::span | KEY1Token::NS_URI_KEY :
     return std::make_shared<KEY1SpanElement>(getState(), m_spanStyle.getStyle(), m_delayedLineBreak);
   default:
     ETONYEK_DEBUG_MSG(("KEY1ContentElement::element: unknown element\n"));
--- src/lib/contexts/KEY1DivElement.cpp
+++ src/lib/contexts/KEY1DivElement.cpp
@@ -157,7 +157,7 @@
 {
   switch (name)
   {
-  case KEY1Token::span | KEY1Token::NS_URI_KEY :
+  case +KEY1Token::span | KEY1Token::NS_URI_KEY :
     return std::make_shared<KEY1SpanElement>(getState(), m_spanStyle.getStyle(), m_delayedLineBreak);
   default:
     ETONYEK_DEBUG_MSG(("KEY1DivElement::element: unknown element\n"));
--- src/lib/contexts/KEY1StylesContext.cpp
+++ src/lib/contexts/KEY1StylesContext.cpp
@@ -246,15 +246,15 @@
 {
   switch (name)
   {
-  case KEY1Token::dash_style | KEY1Token::NS_URI_KEY :
+  case +KEY1Token::dash_style | KEY1Token::NS_URI_KEY :
     return std::make_shared<PatternStyleElement>(getState(), m_pattern);
-  case KEY1Token::fill_style | KEY1Token::NS_URI_KEY :
+  case +KEY1Token::fill_style | KEY1Token::NS_URI_KEY :
     return std::make_shared<KEY1FillElement>(getState(), m_fill);
-  case KEY1Token::line_head_style | KEY1Token::NS_URI_KEY :
+  case +KEY1Token::line_head_style | KEY1Token::NS_URI_KEY :
     return std::make_shared<MarkerStyleElement>(getState(), m_lineHead);
-  case KEY1Token::line_tail_style | KEY1Token::NS_URI_KEY :
+  case +KEY1Token::line_tail_style | KEY1Token::NS_URI_KEY :
     return std::make_shared<MarkerStyleElement>(getState(), m_lineTail);
-  case KEY1Token::shadow_style | KEY1Token::NS_URI_KEY :
+  case +KEY1Token::shadow_style | KEY1Token::NS_URI_KEY :
     return std::make_shared<ShadowStyleElement>(getState(), m_shadow);
   default :
     ETONYEK_DEBUG_MSG(("KEY1StylesContext::element[KEY1StylesContext.cpp]: unknown element\n"));
--- src/lib/contexts/KEY1TableElement.cpp
+++ src/lib/contexts/KEY1TableElement.cpp
@@ -269,16 +269,16 @@
 {
   switch (name)
   {
-  case KEY1Token::content | KEY1Token::NS_URI_KEY :
+  case +KEY1Token::content | KEY1Token::NS_URI_KEY :
     if (isCollector())
     {
       assert(!getState().m_currentText);
       getState().m_currentText = getCollector().createText(getState().m_langManager, false);
     }
     return std::make_shared<KEY1ContentElement>(getState());
-  case KEY1Token::dict | KEY1Token::NS_URI_KEY :
+  case +KEY1Token::dict | KEY1Token::NS_URI_KEY :
     break;
-  case KEY1Token::node | KEY1Token::NS_URI_KEY :
+  case +KEY1Token::node | KEY1Token::NS_URI_KEY :
     return std::make_shared<NodeElement>(getState(), m_table);
   default:
     ETONYEK_DEBUG_MSG(("ElementElement::element[KEY1TableElement.cpp]: unknown element\n"));
@@ -360,7 +360,7 @@
 {
   switch (name)
   {
-  case KEY1Token::dict | KEY1Token::NS_URI_KEY :
+  case +KEY1Token::dict | KEY1Token::NS_URI_KEY :
     break;
   default:
     ETONYEK_DEBUG_MSG(("SegmentElement::element[KEY1TableElement.cpp]: unknown element\n"));
@@ -418,11 +418,11 @@
 {
   switch (name)
   {
-  case KEY1Token::dict | KEY1Token::NS_URI_KEY :
+  case +KEY1Token::dict | KEY1Token::NS_URI_KEY :
     break;
-  case KEY1Token::element | KEY1Token::NS_URI_KEY :
+  case +KEY1Token::element | KEY1Token::NS_URI_KEY :
     return std::make_shared<ElementElement>(getState(), *m_tableData);
-  case KEY1Token::segment | KEY1Token::NS_URI_KEY :
+  case +KEY1Token::segment | KEY1Token::NS_URI_KEY :
     return std::make_shared<SegmentElement>(getState(), *m_tableData);
   default:
     ETONYEK_DEBUG_MSG(("KEY1TableElement::element: unknown element\n"));
--- src/lib/contexts/KEY2StyleContext.cpp
+++ src/lib/contexts/KEY2StyleContext.cpp
@@ -32,20 +32,20 @@
 namespace
 {
 template<class Property>
-class NumericPropertyContext : public IWORKPropertyContext<Property, IWORKNumberElement<typename IWORKPropertyInfo<Property>::ValueType>, IWORKToken::NS_URI_SF | IWORKToken::number, KEY2Token::NS_URI_KEY | KEY2Token::number>
+class NumericPropertyContext : public IWORKPropertyContext<Property, IWORKNumberElement<typename IWORKPropertyInfo<Property>::ValueType>, +IWORKToken::NS_URI_SF | IWORKToken::number, +KEY2Token::NS_URI_KEY | KEY2Token::number>
 {
-  typedef IWORKPropertyContext<Property, IWORKNumberElement<typename IWORKPropertyInfo<Property>::ValueType>, IWORKToken::NS_URI_SF | IWORKToken::number, KEY2Token::NS_URI_KEY | KEY2Token::number> Parent_t;
+  typedef IWORKPropertyContext<Property, IWORKNumberElement<typename IWORKPropertyInfo<Property>::ValueType>, +IWORKToken::NS_URI_SF | IWORKToken::number, +KEY2Token::NS_URI_KEY | KEY2Token::number> Parent_t;
 
 public:
   NumericPropertyContext(IWORKXMLParserState &state, IWORKPropertyMap &propMap);
 };
 
-typedef IWORKValueContext<bool, IWORKNumberElement<bool>, IWORKToken::NS_URI_SF | IWORKToken::number, KEY2Token::NS_URI_KEY | KEY2Token::number> BoolProperty;
-typedef IWORKValueContext<double, IWORKNumberElement<double>, IWORKToken::NS_URI_SF | IWORKToken::number, KEY2Token::NS_URI_KEY | KEY2Token::number> DoubleProperty;
-typedef IWORKValueContext<int, IWORKNumberElement<int>, IWORKToken::NS_URI_SF | IWORKToken::number, KEY2Token::NS_URI_KEY | KEY2Token::number> IntProperty;
-typedef IWORKNumericPropertyContext<property::AnimationAutoPlay, KEY2Token::NS_URI_KEY | KEY2Token::number> AnimationAutoPlayPropertyElement;
-typedef IWORKNumericPropertyContext<property::AnimationDelay, KEY2Token::NS_URI_KEY | KEY2Token::number> AnimationDelayPropertyElement;
-typedef IWORKNumericPropertyContext<property::AnimationDuration, KEY2Token::NS_URI_KEY | KEY2Token::number> AnimationDurationPropertyElement;
+typedef IWORKValueContext<bool, IWORKNumberElement<bool>, +IWORKToken::NS_URI_SF | IWORKToken::number, +KEY2Token::NS_URI_KEY | KEY2Token::number> BoolProperty;
+typedef IWORKValueContext<double, IWORKNumberElement<double>, +IWORKToken::NS_URI_SF | IWORKToken::number, +KEY2Token::NS_URI_KEY | KEY2Token::number> DoubleProperty;
+typedef IWORKValueContext<int, IWORKNumberElement<int>, +IWORKToken::NS_URI_SF | IWORKToken::number, +KEY2Token::NS_URI_KEY | KEY2Token::number> IntProperty;
+typedef IWORKNumericPropertyContext<property::AnimationAutoPlay, +KEY2Token::NS_URI_KEY | KEY2Token::number> AnimationAutoPlayPropertyElement;
+typedef IWORKNumericPropertyContext<property::AnimationDelay, +KEY2Token::NS_URI_KEY | KEY2Token::number> AnimationDelayPropertyElement;
+typedef IWORKNumericPropertyContext<property::AnimationDuration, +KEY2Token::NS_URI_KEY | KEY2Token::number> AnimationDurationPropertyElement;
 }
 
 namespace
@@ -74,10 +74,10 @@
 {
   switch (name)
   {
-  case IWORKToken::ID | IWORKToken::NS_URI_SFA :
+  case +IWORKToken::ID | IWORKToken::NS_URI_SFA :
     KEY2XMLElementContextBase::attribute(name, value);
     break;
-  case KEY2Token::type | KEY2Token::NS_URI_KEY :
+  case +KEY2Token::type | KEY2Token::NS_URI_KEY :
   {
     std::string val(value);
     if (val=="none")
@@ -108,18 +108,18 @@
   // find <animationAuto/animationDelay/animationDuration... in Keynote 5 files
   switch (name)
   {
-  case KEY2Token::NS_URI_KEY | KEY2Token::animationAuto :
-  case KEY2Token::animationAuto :
+  case +KEY2Token::NS_URI_KEY | KEY2Token::animationAuto :
+  case +KEY2Token::animationAuto :
     return std::make_shared<BoolProperty>(getState(), get(m_transition).m_automatic);
-  case KEY2Token::animationDelay :
-  case KEY2Token::NS_URI_KEY | KEY2Token::animationDelay :
+  case +KEY2Token::animationDelay :
+  case +KEY2Token::NS_URI_KEY | KEY2Token::animationDelay :
     return std::make_shared<DoubleProperty>(getState(), get(m_transition).m_delay);
-  case KEY2Token::animationDuration :
-  case KEY2Token::NS_URI_KEY | KEY2Token::animationDuration :
+  case +KEY2Token::animationDuration :
+  case +KEY2Token::NS_URI_KEY | KEY2Token::animationDuration :
     return std::make_shared<DoubleProperty>(getState(), get(m_transition).m_duration);
-  case KEY2Token::NS_URI_KEY | KEY2Token::direction :
+  case +KEY2Token::NS_URI_KEY | KEY2Token::direction :
     return std::make_shared<IntProperty>(getState(), get(m_transition).m_direction);
-  case KEY2Token::NS_URI_KEY | KEY2Token::BGBuildDurationProperty :
+  case +KEY2Token::NS_URI_KEY | KEY2Token::BGBuildDurationProperty :
     break;
   default:
   {
@@ -173,7 +173,7 @@
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SF | IWORKToken::transition_attributes :
+  case +IWORKToken::NS_URI_SF | IWORKToken::transition_attributes :
     return std::make_shared<TransitionAttributesElement>(getState(), m_transition);
   default:
     ETONYEK_DEBUG_MSG(("TransitionElement::element[KEY2StyleContext.cpp]: found unexpected element %d\n", name));
@@ -214,16 +214,16 @@
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SF | IWORKToken::animationAutoPlay :
-  case KEY2Token::NS_URI_KEY | KEY2Token::animationAutoPlay :
+  case +IWORKToken::NS_URI_SF | IWORKToken::animationAutoPlay :
+  case +KEY2Token::NS_URI_KEY | KEY2Token::animationAutoPlay :
     return std::make_shared<AnimationAutoPlayPropertyElement>(getState(), m_propMap);
-  case IWORKToken::NS_URI_SF | IWORKToken::animationDelay :
-  case KEY2Token::NS_URI_KEY | KEY2Token::animationDelay :
+  case +IWORKToken::NS_URI_SF | IWORKToken::animationDelay :
+  case +KEY2Token::NS_URI_KEY | KEY2Token::animationDelay :
     return std::make_shared<AnimationDelayPropertyElement>(getState(), m_propMap);
-  case IWORKToken::NS_URI_SF | IWORKToken::animationDuration :
-  case KEY2Token::NS_URI_KEY | KEY2Token::animationDuration :
+  case +IWORKToken::NS_URI_SF | IWORKToken::animationDuration :
+  case +KEY2Token::NS_URI_KEY | KEY2Token::animationDuration :
     return std::make_shared<AnimationDurationPropertyElement>(getState(), m_propMap);
-  case IWORKToken::NS_URI_SF | IWORKToken::transition :
+  case +IWORKToken::NS_URI_SF | IWORKToken::transition :
     return std::make_shared<TransitionElement>(getState(), m_transition);
   default:
     break;
@@ -252,10 +252,10 @@
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SF | IWORKToken::ident :
+  case +IWORKToken::NS_URI_SF | IWORKToken::ident :
     m_ident = value;
     break;
-  case IWORKToken::NS_URI_SF | IWORKToken::parent_ident :
+  case +IWORKToken::NS_URI_SF | IWORKToken::parent_ident :
     m_parentIdent = value;
     break;
   default :
@@ -270,7 +270,7 @@
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SF | IWORKToken::property_map :
+  case +IWORKToken::NS_URI_SF | IWORKToken::property_map :
     return std::make_shared<PropertyMapElement>(getState(), m_props);
   default:
     ETONYEK_DEBUG_MSG(("KEY2StyleContext::element: found unexpected element %d\n", name));
--- src/lib/contexts/PAG1AnnotationContext.cpp
+++ src/lib/contexts/PAG1AnnotationContext.cpp
@@ -37,7 +37,7 @@
 
 void PAG1AnnotationContext::attribute(const int name, const char *const value)
 {
-  if (name == (IWORKToken::NS_URI_SF | IWORKToken::target))
+  if (name == (+IWORKToken::NS_URI_SF | IWORKToken::target))
     m_target = value;
   else
     PAG1XMLElementContextBase::attribute(name, value);
@@ -45,7 +45,7 @@
 
 IWORKXMLContextPtr_t PAG1AnnotationContext::element(const int name)
 {
-  if (name == (IWORKToken::NS_URI_SF | IWORKToken::text))
+  if (name == (+IWORKToken::NS_URI_SF | IWORKToken::text))
     return std::make_shared<IWORKTextElement>(getState());
   return IWORKXMLContextPtr_t();
 }
--- src/lib/contexts/PAG1AnnotationElement.cpp
+++ src/lib/contexts/PAG1AnnotationElement.cpp
@@ -29,7 +29,7 @@
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SFA | IWORKToken::ID : // annotation
+  case +IWORKToken::NS_URI_SFA | IWORKToken::ID : // annotation
     m_id = value;
     break;
   default:
--- src/lib/contexts/PAG1FootnotesElement.cpp
+++ src/lib/contexts/PAG1FootnotesElement.cpp
@@ -23,7 +23,7 @@
 
 IWORKXMLContextPtr_t PAG1FootnotesElement::element(const int name)
 {
-  if (name == (IWORKToken::NS_URI_SF | IWORKToken::text_storage))
+  if (name == (+IWORKToken::NS_URI_SF | IWORKToken::text_storage))
     return std::make_shared<PAG1TextStorageElement>(getState(), PAG_TEXTSTORAGE_KIND_NOTE);
   return IWORKXMLContextPtr_t();
 }
--- src/lib/contexts/PAG1ShapeContext.cpp
+++ src/lib/contexts/PAG1ShapeContext.cpp
@@ -51,7 +51,7 @@
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SF | IWORKToken::text_storage :
+  case +IWORKToken::NS_URI_SF | IWORKToken::text_storage :
     return std::make_shared<PAG1TextStorageElement>(getState(), PAG1XMLContextBase<IWORKTextElement>::m_stylesheet, PAG_TEXTSTORAGE_KIND_TEXTBOX);
   default:
     break;
@@ -71,7 +71,7 @@
 {
   switch (name)
   {
-  case PAG1Token::order | PAG1Token::NS_URI_SL :
+  case +PAG1Token::order | PAG1Token::NS_URI_SL :
     m_order=try_int_cast(value);
     break;
   default:
@@ -83,7 +83,7 @@
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SF | IWORKToken::text :
+  case +IWORKToken::NS_URI_SF | IWORKToken::text :
     return std::make_shared<TextElement>(getState());
   default:
     break;
--- src/lib/contexts/PAG1StyleContext.cpp
+++ src/lib/contexts/PAG1StyleContext.cpp
@@ -62,13 +62,13 @@
 {
   switch (name)
   {
-  case PAG1Token::NS_URI_SL | PAG1Token::footer :
+  case +PAG1Token::NS_URI_SL | PAG1Token::footer :
     m_footer = value;
     break;
-  case PAG1Token::NS_URI_SL | PAG1Token::header :
+  case +PAG1Token::NS_URI_SL | PAG1Token::header :
     m_header = value;
     break;
-  case IWORKToken::NS_URI_SFA | IWORKToken::ID : // store me?
+  case +IWORKToken::NS_URI_SFA | IWORKToken::ID : // store me?
     IWORKXMLEmptyContextBase::attribute(name, value);
     break;
   default :
@@ -96,9 +96,9 @@
 namespace
 {
 
-typedef IWORKPropertyContext<property::EvenPageMaster, PagemasterElement, IWORKToken::NS_URI_SF | IWORKToken::pagemaster> EvenPageMasterElement;
-typedef IWORKPropertyContext<property::FirstPageMaster, PagemasterElement, IWORKToken::NS_URI_SF | IWORKToken::pagemaster> FirstPageMasterElement;
-typedef IWORKPropertyContext<property::OddPageMaster, PagemasterElement, IWORKToken::NS_URI_SF | IWORKToken::pagemaster> OddPageMasterElement;
+typedef IWORKPropertyContext<property::EvenPageMaster, PagemasterElement, +IWORKToken::NS_URI_SF | IWORKToken::pagemaster> EvenPageMasterElement;
+typedef IWORKPropertyContext<property::FirstPageMaster, PagemasterElement, +IWORKToken::NS_URI_SF | IWORKToken::pagemaster> FirstPageMasterElement;
+typedef IWORKPropertyContext<property::OddPageMaster, PagemasterElement, +IWORKToken::NS_URI_SF | IWORKToken::pagemaster> OddPageMasterElement;
 
 }
 
@@ -129,11 +129,11 @@
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SF | IWORKToken::evenPageMaster :
+  case +IWORKToken::NS_URI_SF | IWORKToken::evenPageMaster :
     return std::make_shared<EvenPageMasterElement>(getState(), m_propMap);
-  case IWORKToken::NS_URI_SF | IWORKToken::firstPageMaster :
+  case +IWORKToken::NS_URI_SF | IWORKToken::firstPageMaster :
     return std::make_shared<FirstPageMasterElement>(getState(), m_propMap);
-  case IWORKToken::NS_URI_SF | IWORKToken::oddPageMaster :
+  case +IWORKToken::NS_URI_SF | IWORKToken::oddPageMaster :
     return std::make_shared<OddPageMasterElement>(getState(), m_propMap);
   default:
     break;
@@ -157,10 +157,10 @@
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SF | IWORKToken::ident :
+  case +IWORKToken::NS_URI_SF | IWORKToken::ident :
     m_ident = value;
     break;
-  case IWORKToken::NS_URI_SF | IWORKToken::parent_ident :
+  case +IWORKToken::NS_URI_SF | IWORKToken::parent_ident :
     m_parentIdent = value;
     break;
   default :
@@ -175,7 +175,7 @@
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SF | IWORKToken::property_map :
+  case +IWORKToken::NS_URI_SF | IWORKToken::property_map :
     return std::make_shared<PropertyMapElement>(getState(), m_props);
   default:
     ETONYEK_DEBUG_MSG(("PAG1StyleContext::element: found unexpected element %d\n", name));
--- src/lib/contexts/PAG1TextStorageElement.cpp
+++ src/lib/contexts/PAG1TextStorageElement.cpp
@@ -103,10 +103,10 @@
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SFA | IWORKToken::sfclass :
-  case IWORKToken::NS_URI_SF | IWORKToken::kind :
+  case +IWORKToken::NS_URI_SFA | IWORKToken::sfclass :
+  case +IWORKToken::NS_URI_SF | IWORKToken::kind :
     break;
-  case IWORKToken::NS_URI_SFA | IWORKToken::ID :
+  case +IWORKToken::NS_URI_SFA | IWORKToken::ID :
     return PAG1XMLElementContextBase::attribute(name, value);
   default:
     ETONYEK_DEBUG_MSG(("AttachmentElement::attribute[PAG1TextStorageElement]: find some unknown attribute\n"));
@@ -130,13 +130,13 @@
 
   switch (name)
   {
-  case IWORKToken::NS_URI_SF | IWORKToken::drawable_shape :
+  case +IWORKToken::NS_URI_SF | IWORKToken::drawable_shape :
   {
     m_block = false;
     context = std::make_shared<IWORKShapeContext>(getState());
     break;
   }
-  case IWORKToken::NS_URI_SF | IWORKToken::group :
+  case +IWORKToken::NS_URI_SF | IWORKToken::group :
   {
     static bool first=true;
     if (first)
@@ -148,15 +148,15 @@
     //context = std::make_shared<IWORKGroupElement>(getState());
     break;
   }
-  case IWORKToken::NS_URI_SF | IWORKToken::media :
+  case +IWORKToken::NS_URI_SF | IWORKToken::media :
     m_block = false;
     context = std::make_shared<IWORKMediaElement>(getState());
     break;
-  case IWORKToken::NS_URI_SF | IWORKToken::original_size :
+  case +IWORKToken::NS_URI_SF | IWORKToken::original_size :
     return std::make_shared<IWORKSizeElement>(getState(), m_originalSize);
-  case IWORKToken::NS_URI_SF | IWORKToken::position :
+  case +IWORKToken::NS_URI_SF | IWORKToken::position :
     return std::make_shared<IWORKPositionElement>(getState(), m_position);
-  case IWORKToken::NS_URI_SF | IWORKToken::tabular_info :
+  case +IWORKToken::NS_URI_SF | IWORKToken::tabular_info :
     m_block = true;
     context = std::make_shared<IWORKTabularInfoElement>(getState());
     break;
@@ -221,7 +221,7 @@
 
 IWORKXMLContextPtr_t AttachmentsElement::element(const int name)
 {
-  if (name == (IWORKToken::NS_URI_SF | IWORKToken::attachment))
+  if (name == (+IWORKToken::NS_URI_SF | IWORKToken::attachment))
     return std::make_shared<AttachmentElement>(getState());
   return IWORKXMLContextPtr_t();
 }
@@ -261,10 +261,10 @@
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SFA | IWORKToken::IDREF :
+  case +IWORKToken::NS_URI_SFA | IWORKToken::IDREF :
     m_ref = value;
     break;
-  case IWORKToken::NS_URI_SF | IWORKToken::kind :
+  case +IWORKToken::NS_URI_SF | IWORKToken::kind :
     m_kind = value;
     break;
   default:
@@ -383,7 +383,7 @@
 
 void FootnoteMarkElement::attribute(const int name, const char *const value)
 {
-  if (name == (IWORKToken::NS_URI_SF | IWORKToken::mark))
+  if (name == (+IWORKToken::NS_URI_SF | IWORKToken::mark))
     m_state.m_footnoteState.m_mark = value;
   else
   {
@@ -422,11 +422,11 @@
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SF | IWORKToken::footnote :
+  case +IWORKToken::NS_URI_SF | IWORKToken::footnote :
     return std::make_shared<FootnoteElement>(m_state);
-  case IWORKToken::NS_URI_SF | IWORKToken::footnotebr :
+  case +IWORKToken::NS_URI_SF | IWORKToken::footnotebr :
     return std::make_shared<FootnotebrElement>(m_state);
-  case IWORKToken::NS_URI_SF | IWORKToken::footnote_mark :
+  case +IWORKToken::NS_URI_SF | IWORKToken::footnote_mark :
     return std::make_shared<FootnoteMarkElement>(m_state);
   default:
     break;
@@ -474,7 +474,7 @@
   const IWORKXMLContextPtr_t context = m_footnoteHelper.element(name);
   if (bool(context))
     return context;
-  if (name==(IWORKToken::NS_URI_SF | IWORKToken::attachment_ref))
+  if (name==(+IWORKToken::NS_URI_SF | IWORKToken::attachment_ref))
     return std::make_shared<AttachmentRef>(getState());
   return IWORKSpanElement::element(name);
 }
@@ -510,7 +510,7 @@
 
 IWORKXMLContextPtr_t LinkElement::element(const int name)
 {
-  if (name == (IWORKToken::NS_URI_SF | IWORKToken::span))
+  if (name == (+IWORKToken::NS_URI_SF | IWORKToken::span))
     return std::make_shared<SpanElement>(m_state);
   const IWORKXMLContextPtr_t context = m_footnoteHelper.element(name);
   if (bool(context))
@@ -554,15 +554,15 @@
 
   switch (name)
   {
-  case IWORKToken::NS_URI_SF | IWORKToken::attachment_ref :
+  case +IWORKToken::NS_URI_SF | IWORKToken::attachment_ref :
     return std::make_shared<AttachmentRef>(getState());
-  case IWORKToken::NS_URI_SF | IWORKToken::link :
+  case +IWORKToken::NS_URI_SF | IWORKToken::link :
     return std::make_shared<LinkElement>(getState());
-  case IWORKToken::NS_URI_SF | IWORKToken::span :
+  case +IWORKToken::NS_URI_SF | IWORKToken::span :
     return std::make_shared<SpanElement>(getState());
-  case IWORKToken::NS_URI_SF | IWORKToken::annotation_field :
+  case +IWORKToken::NS_URI_SF | IWORKToken::annotation_field :
     return std::make_shared<PAG1AnnotationElement>(getState(),*this);
-  case IWORKToken::NS_URI_SF | IWORKToken::annotation_field_ref :
+  case +IWORKToken::NS_URI_SF | IWORKToken::annotation_field_ref :
     return std::make_shared<PAG1AnnotationElement>(getState(),*this,true);
   default:
     break;
@@ -638,7 +638,7 @@
   if (!m_opened)
     open();
 
-  if (name == (IWORKToken::NS_URI_SF | IWORKToken::p))
+  if (name == (+IWORKToken::NS_URI_SF | IWORKToken::p))
     return std::make_shared<PElement>(getState());
 
   return IWORKLayoutElement::element(name);
@@ -700,7 +700,7 @@
 
 void SectionElement::attribute(const int name, const char *const value)
 {
-  if (name == (IWORKToken::NS_URI_SF | IWORKToken::style))
+  if (name == (+IWORKToken::NS_URI_SF | IWORKToken::style))
     m_style = value;
   else
     PAG1XMLElementContextBase::attribute(name, value);
@@ -711,7 +711,7 @@
   if (!m_opened)
     open();
 
-  if ((IWORKToken::NS_URI_SF | IWORKToken::layout) == name)
+  if ((+IWORKToken::NS_URI_SF | IWORKToken::layout) == name)
     return std::make_shared<LayoutElement>(getState());
 
   return IWORKXMLContextPtr_t();
@@ -757,16 +757,16 @@
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SF | IWORKToken::frame_h :
+  case +IWORKToken::NS_URI_SF | IWORKToken::frame_h :
     m_containerFrame.m_h = double_cast(value);
     break;
-  case IWORKToken::NS_URI_SF | IWORKToken::frame_w :
+  case +IWORKToken::NS_URI_SF | IWORKToken::frame_w :
     m_containerFrame.m_w = double_cast(value);
     break;
-  case IWORKToken::NS_URI_SF | IWORKToken::frame_x :
+  case +IWORKToken::NS_URI_SF | IWORKToken::frame_x :
     m_containerFrame.m_x = double_cast(value);
     break;
-  case IWORKToken::NS_URI_SF | IWORKToken::frame_y :
+  case +IWORKToken::NS_URI_SF | IWORKToken::frame_y :
     m_containerFrame.m_y = double_cast(value);
     break;
   // also page-index, cindex, sindex, lindex, anchor-loc, nlabel=true/false
@@ -802,11 +802,11 @@
 {
   switch (name)
   {
-  case IWORKToken::NS_URI_SF | IWORKToken::container_hint :
+  case +IWORKToken::NS_URI_SF | IWORKToken::container_hint :
     return std::make_shared<ContainerHintElement>(getState(), m_containerFrame);
-  case IWORKToken::NS_URI_SF | IWORKToken::p : // for footnotes
+  case +IWORKToken::NS_URI_SF | IWORKToken::p : // for footnotes
     return std::make_shared<PElement>(getState());
-  case IWORKToken::NS_URI_SF | IWORKToken::section :
+  case +IWORKToken::NS_URI_SF | IWORKToken::section :
     return std::make_shared<SectionElement>(getState());
   default:
     break;
@@ -854,11 +854,11 @@
 
   switch (name)
   {
-  case IWORKToken::NS_URI_SF | IWORKToken::attachments :
+  case +IWORKToken::NS_URI_SF | IWORKToken::attachments :
     return std::make_shared<AttachmentsElement>(getState());
-  case IWORKToken::NS_URI_SF | IWORKToken::footnotes :
+  case +IWORKToken::NS_URI_SF | IWORKToken::footnotes :
     return std::make_shared<PAG1FootnotesElement>(getState());
-  case IWORKToken::NS_URI_SF | IWORKToken::text_body :
+  case +IWORKToken::NS_URI_SF | IWORKToken::text_body :
     if (!m_textOpened)
     {
       assert(!getState().m_currentText);

[0.125QuellennavigatorsProjekt 2026-05-03]

                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge