[mapguide-commits] r9477 - in sandbox/jng/common_decouple_v3/Common/MdfParser: . Common PrintLayout

svn_mapguide at osgeo.org svn_mapguide at osgeo.org
Tue Feb 5 07:58:22 PST 2019


Author: jng
Date: 2019-02-05 07:58:21 -0800 (Tue, 05 Feb 2019)
New Revision: 9477

Modified:
   sandbox/jng/common_decouple_v3/Common/MdfParser/Common/IOColor.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/Common/IOExtent3D.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/Common/IOPoint3D.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/Common/IOSize2D.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/Common/IOStringObjectCollection.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/Common/IOVector3D.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/FSDSAX2Parser.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOAreaRule.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOAreaSymbolization2D.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOAreaTypeStyle.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOAreaUsage.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOAttributeRelate.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOBaseMapDefinition.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOBaseMapLayer.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOBaseMapLayerGroup.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOBlockSymbol.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOCalculatedProperty.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOChannelBand.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOCompositeRule.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOCompositeSymbolization.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOCompositeTypeStyle.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOCompoundSymbolDefinition.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IODrawingLayerDefinition.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOElevationSettings.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOExtension.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOExtra.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOFeatureSource.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOFill.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOFontSymbol.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOGraphicElement.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOGraphicElementCollection.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOGridColor.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOGridColorBands.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOGridColorRule.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOGridColorStyle.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOGridLayerDefinition.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOGridScaleRange.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOGridSurfaceStyle.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOHillShade.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOImage.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOImageSymbol.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOLabel.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOLineRule.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOLineSymbolization2D.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOLineTypeStyle.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOLineUsage.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOMapDefinition.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOMapLayer.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOMapLayerCommon.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOMapLayerGroup.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOMapLayerGroupCommon.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOMarkSymbol.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IONameStringPair.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOOverride.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOOverrideCollection.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOParameter.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOParameterCollection.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOPath.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOPointRule.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOPointSymbolization2D.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOPointTypeStyle.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOPointUsage.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOProfileResult.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IORelateProperty.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOResizeBox.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOResourceRef.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOSimpleSymbol.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOSimpleSymbolDefinition.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOStroke.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOSupplementalSpatialContextInfo.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOSymbol.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOSymbolInstance.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOText.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOTextFrame.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOThemeLabel.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOTileSetDefinition.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOTileSetSource.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOTileStoreParameters.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOTileWatermarkPosition.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOURLData.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOUnknown.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOUtil.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOVectorLayerDefinition.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOVectorScaleRange.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOW2DSymbol.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOWatermarkAppearance.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOWatermarkDefinition.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOWatermarkInstance.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOWatermarkOffsetUnit.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOWatermarkXOffset.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOWatermarkYOffset.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOXYWatermarkPosition.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/PrintLayout/IODataConfiguration.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/PrintLayout/IOMapView.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/PrintLayout/IOMapViewportDefinition.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/PrintLayout/IOPrintLayoutDefinition.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/PrintLayout/IOPrintLayoutElementCollection.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/PrintLayout/IOPrintLayoutElementDefinition.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/PrintLayout/IOPrintLayoutElementStyle.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/PrintLayout/IOPropertyMappingCollection.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/PrintLayout/IOStylizationConfiguration.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/PrintLayout/IOThickness.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/SAX2Parser.cpp
Log:
MdfParser: Wrap all wide string literals with MDF_STR()

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/Common/IOColor.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/Common/IOColor.cpp	2019-02-05 15:26:24 UTC (rev 9476)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/Common/IOColor.cpp	2019-02-05 15:58:21 UTC (rev 9477)
@@ -78,7 +78,7 @@
 {
     if (m_startElemName == name)
     {
-        m_startElemName = L"";
+        m_startElemName = MDF_STR("");
         handlerStack->pop();
         delete this;
     }

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/Common/IOExtent3D.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/Common/IOExtent3D.cpp	2019-02-05 15:26:24 UTC (rev 9476)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/Common/IOExtent3D.cpp	2019-02-05 15:58:21 UTC (rev 9477)
@@ -75,7 +75,7 @@
 {
     if (m_startElemName == name)
     {
-        m_startElemName = L"";
+        m_startElemName = MDF_STR("");
         handlerStack->pop();
         delete this;
     }

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/Common/IOPoint3D.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/Common/IOPoint3D.cpp	2019-02-05 15:26:24 UTC (rev 9476)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/Common/IOPoint3D.cpp	2019-02-05 15:58:21 UTC (rev 9477)
@@ -79,7 +79,7 @@
 {
     if (m_startElemName == name)
     {
-        m_startElemName = L"";
+        m_startElemName = MDF_STR("");
         handlerStack->pop();
         delete this;
     }

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/Common/IOSize2D.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/Common/IOSize2D.cpp	2019-02-05 15:26:24 UTC (rev 9476)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/Common/IOSize2D.cpp	2019-02-05 15:58:21 UTC (rev 9477)
@@ -68,7 +68,7 @@
 {
     if (m_startElemName == name)
     {
-        m_startElemName = L"";
+        m_startElemName = MDF_STR("");
         handlerStack->pop();
         delete this;
     }

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/Common/IOStringObjectCollection.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/Common/IOStringObjectCollection.cpp	2019-02-05 15:26:24 UTC (rev 9476)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/Common/IOStringObjectCollection.cpp	2019-02-05 15:58:21 UTC (rev 9477)
@@ -55,7 +55,7 @@
 {
     if (m_startElemName == name)
     {
-        m_startElemName = L"";
+        m_startElemName = MDF_STR("");
         handlerStack->pop();
         delete this;
     }

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/Common/IOVector3D.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/Common/IOVector3D.cpp	2019-02-05 15:26:24 UTC (rev 9476)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/Common/IOVector3D.cpp	2019-02-05 15:58:21 UTC (rev 9477)
@@ -73,7 +73,7 @@
 {
     if (m_startElemName == name)
     {
-        m_startElemName = L"";
+        m_startElemName = MDF_STR("");
         handlerStack->pop();
         delete this;
     }

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/FSDSAX2Parser.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/FSDSAX2Parser.cpp	2019-02-05 15:26:24 UTC (rev 9476)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/FSDSAX2Parser.cpp	2019-02-05 15:58:21 UTC (rev 9477)
@@ -62,7 +62,7 @@
     m_parser->setFeature(XMLUni::fgSAX2CoreValidation, false); // true for validation
     m_parser->setContentHandler(this);
     m_parser->setErrorHandler(this);
-    m_strbuffer = L"";
+    m_strbuffer = MDF_STR("");
 }
 
 
@@ -208,7 +208,7 @@
                                  const Attributes&  attributes)
 {
     std::wstring str = X2W(qname);
-    m_strbuffer = L"";   // discard any text between start tags
+    m_strbuffer = MDF_STR("");   // discard any text between start tags
     m_tagOpen = true;
 
     // If the stack is empty, then check to see if we've encountered the
@@ -219,7 +219,7 @@
     // of that IO object to initialize it.
     if (m_handlerStack->empty())
     {
-        if (str == L"FeatureSource") // NOXLATE
+        if (str == MDF_STR("FeatureSource")) // NOXLATE
         {
             // set the version
             Version version(1, 0, 0);
@@ -260,7 +260,7 @@
         if (!m_strbuffer.empty())
         {
             (m_handlerStack->top())->ElementChars(m_strbuffer.c_str());
-             m_strbuffer = L"";
+             m_strbuffer = MDF_STR("");
         }
 
         (m_handlerStack->top())->EndElement(X2W(qname), m_handlerStack);

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOAreaRule.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOAreaRule.cpp	2019-02-05 15:26:24 UTC (rev 9476)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOAreaRule.cpp	2019-02-05 15:58:21 UTC (rev 9477)
@@ -116,7 +116,7 @@
         this->m_areaTypeStyle->GetRules()->Adopt(this->m_areaRule);
         this->m_areaTypeStyle = NULL;
         this->m_areaRule = NULL;
-        this->m_startElemName = L"";
+        this->m_startElemName = MDF_STR("");
         handlerStack->pop();
         delete this;
     }

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOAreaSymbolization2D.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOAreaSymbolization2D.cpp	2019-02-05 15:26:24 UTC (rev 9476)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOAreaSymbolization2D.cpp	2019-02-05 15:58:21 UTC (rev 9477)
@@ -110,7 +110,7 @@
             this->m_areaRule->AdoptSymbolization(this->m_areaSymbolization);
         this->m_areaRule = NULL;
         this->m_areaSymbolization = NULL;
-        this->m_startElemName = L"";
+        this->m_startElemName = MDF_STR("");
         handlerStack->pop();
         delete this;
     }

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOAreaTypeStyle.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOAreaTypeStyle.cpp	2019-02-05 15:26:24 UTC (rev 9476)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOAreaTypeStyle.cpp	2019-02-05 15:58:21 UTC (rev 9477)
@@ -97,7 +97,7 @@
         this->m_scaleRange->GetFeatureTypeStyles()->Adopt(this->m_areaTypeStyle);
         this->m_scaleRange = NULL;
         this->m_areaTypeStyle = NULL;
-        this->m_startElemName = L"";
+        this->m_startElemName = MDF_STR("");
         handlerStack->pop();
         delete this;
     }

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOAreaUsage.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOAreaUsage.cpp	2019-02-05 15:26:24 UTC (rev 9476)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOAreaUsage.cpp	2019-02-05 15:58:21 UTC (rev 9477)
@@ -34,12 +34,12 @@
 void IOAreaUsage::StartElement(const wchar_t* name, HandlerStack* handlerStack)
 {
     this->m_currElemName = name;
-    if (this->m_currElemName == L"AreaUsage") // NOXLATE
+    if (this->m_currElemName == MDF_STR("AreaUsage")) // NOXLATE
     {
         this->m_startElemName = name;
         this->m_areaUsage = new AreaUsage();
     }
-    else if (this->m_currElemName == L"ExtendedData1") // NOXLATE
+    else if (this->m_currElemName == MDF_STR("ExtendedData1")) // NOXLATE
     {
         this->m_procExtData = true;
     }
@@ -73,11 +73,11 @@
         this->m_symbolDefinition->AdoptAreaUsage(this->m_areaUsage);
         this->m_symbolDefinition = NULL;
         this->m_areaUsage = NULL;
-        this->m_startElemName = L"";
+        this->m_startElemName = MDF_STR("");
         handlerStack->pop();
         delete this;
     }
-    else if (::wcscmp(name, L"ExtendedData1") == 0) // NOXLATE
+    else if (::wcscmp(name, MDF_STR("ExtendedData1")) == 0) // NOXLATE
     {
         this->m_procExtData = false;
     }

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOAttributeRelate.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOAttributeRelate.cpp	2019-02-05 15:26:24 UTC (rev 9476)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOAttributeRelate.cpp	2019-02-05 15:58:21 UTC (rev 9477)
@@ -125,7 +125,7 @@
 
         this->m_extension->GetAttributeRelates()->Adopt(this->m_attributeRelate);
         this->m_attributeRelate = NULL;
-        this->m_startElemName = L"";
+        this->m_startElemName = MDF_STR("");
         handlerStack->pop();
         delete this;
     }
@@ -163,13 +163,13 @@
 {
     AttributeRelate::RelateType type = AttributeRelate::LeftOuter;
 
-    if (::wcscmp(strType, L"LeftOuter") == 0) // NOXLATE
+    if (::wcscmp(strType, MDF_STR("LeftOuter")) == 0) // NOXLATE
         type = AttributeRelate::LeftOuter;
-    else if (::wcscmp(strType, L"RightOuter") == 0) // NOXLATE
+    else if (::wcscmp(strType, MDF_STR("RightOuter")) == 0) // NOXLATE
         type = AttributeRelate::RightOuter;
-    else if (::wcscmp(strType, L"Inner") == 0) // NOXLATE
+    else if (::wcscmp(strType, MDF_STR("Inner")) == 0) // NOXLATE
         type = AttributeRelate::Inner;
-    else if (::wcscmp(strType, L"Association") == 0) // NOXLATE
+    else if (::wcscmp(strType, MDF_STR("Association")) == 0) // NOXLATE
         type = AttributeRelate::Association;
 
     return type;

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOBaseMapDefinition.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOBaseMapDefinition.cpp	2019-02-05 15:26:24 UTC (rev 9476)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOBaseMapDefinition.cpp	2019-02-05 15:58:21 UTC (rev 9477)
@@ -47,17 +47,17 @@
 void IOBaseMapDefinition::StartElement(const wchar_t* name, HandlerStack* handlerStack)
 {
     this->m_currElemName = name;
-    if (this->m_currElemName == L"BaseMapDefinition") // NOXLATE
+    if (this->m_currElemName == MDF_STR("BaseMapDefinition")) // NOXLATE
     {
         this->m_startElemName = name;
     }
     else
     {
-        if (this->m_currElemName == L"FiniteDisplayScale")
+        if (this->m_currElemName == MDF_STR("FiniteDisplayScale"))
         {
             // default processing in ElementChars
         }
-        else if (this->m_currElemName == L"BaseMapLayerGroup")
+        else if (this->m_currElemName == MDF_STR("BaseMapLayerGroup"))
         {
             IOBaseMapLayerGroup* IO = new IOBaseMapLayerGroup(this->m_map, this->m_version);
             handlerStack->push(IO);
@@ -69,7 +69,7 @@
 
 void IOBaseMapDefinition::ElementChars(const wchar_t* ch)
 {
-    if (this->m_currElemName == L"FiniteDisplayScale") // NOXLATE
+    if (this->m_currElemName == MDF_STR("FiniteDisplayScale")) // NOXLATE
     {
         double val = wstrToDouble(ch);
         this->m_map->GetFiniteDisplayScales()->Adopt(new DisplayScale(val));
@@ -82,7 +82,7 @@
     if (this->m_startElemName == name)
     {
         this->m_map = NULL;
-        this->m_startElemName = L"";
+        this->m_startElemName = MDF_STR("");
         handlerStack->pop();
         delete this;
     }

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOBaseMapLayer.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOBaseMapLayer.cpp	2019-02-05 15:26:24 UTC (rev 9476)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOBaseMapLayer.cpp	2019-02-05 15:58:21 UTC (rev 9477)
@@ -58,7 +58,7 @@
     {
     case eBaseMapLayer:
         this->m_startElemName = name;
-        this->m_mapLayerCommon = new BaseMapLayer(L"", L"");
+        this->m_mapLayerCommon = new BaseMapLayer(MDF_STR(""), MDF_STR(""));
         break;
 
     case eExtendedData1:
@@ -80,7 +80,7 @@
         this->m_baseMapLayers->Adopt(this->m_mapLayerCommon);
         this->m_baseMapLayers = NULL;
         this->m_mapLayerCommon = NULL;
-        this->m_startElemName = L"";
+        this->m_startElemName = MDF_STR("");
         handlerStack->pop();
         delete this;
     }

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOBaseMapLayerGroup.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOBaseMapLayerGroup.cpp	2019-02-05 15:26:24 UTC (rev 9476)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOBaseMapLayerGroup.cpp	2019-02-05 15:58:21 UTC (rev 9477)
@@ -63,7 +63,7 @@
     {
     case eBaseMapLayerGroup:
         this->m_startElemName = name;
-        this->m_layerGroup = new BaseMapLayerGroup(L"");
+        this->m_layerGroup = new BaseMapLayerGroup(MDF_STR(""));
         break;
 
     case eBaseMapLayer:
@@ -101,7 +101,7 @@
         }
         this->m_map = NULL;
         this->m_layerGroup = NULL;
-        this->m_startElemName = L"";
+        this->m_startElemName = MDF_STR("");
         handlerStack->pop();
         delete this;
     }

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOBlockSymbol.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOBlockSymbol.cpp	2019-02-05 15:26:24 UTC (rev 9476)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOBlockSymbol.cpp	2019-02-05 15:58:21 UTC (rev 9477)
@@ -108,7 +108,7 @@
     {
         this->m_symbol->SetUnknownXml(this->m_unknownXml);
 
-        this->m_startElemName = L"";
+        this->m_startElemName = MDF_STR("");
         handlerStack->pop();
     }
     else if (eExtendedData1 == _ElementIdFromName(name))

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOCalculatedProperty.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOCalculatedProperty.cpp	2019-02-05 15:26:24 UTC (rev 9476)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOCalculatedProperty.cpp	2019-02-05 15:58:21 UTC (rev 9477)
@@ -95,7 +95,7 @@
 
         this->m_extension->GetCalculatedProperties()->Adopt(this->m_calculatedProperty);
         this->m_calculatedProperty = NULL;
-        this->m_startElemName = L"";
+        this->m_startElemName = MDF_STR("");
         handlerStack->pop();
         delete this;
     }

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOChannelBand.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOChannelBand.cpp	2019-02-05 15:26:24 UTC (rev 9476)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOChannelBand.cpp	2019-02-05 15:58:21 UTC (rev 9477)
@@ -114,7 +114,7 @@
         this->m_channel->SetUnknownXml(this->m_unknownXml);
 
         this->m_channel = NULL;
-        this->m_startElemName = L"";
+        this->m_startElemName = MDF_STR("");
         handlerStack->pop();
         delete this;
     }

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOCompositeRule.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOCompositeRule.cpp	2019-02-05 15:26:24 UTC (rev 9476)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOCompositeRule.cpp	2019-02-05 15:58:21 UTC (rev 9477)
@@ -40,18 +40,18 @@
 void IOCompositeRule::StartElement(const wchar_t* name, HandlerStack* handlerStack)
 {
     this->m_currElemName = name;
-    if (this->m_currElemName == L"CompositeRule") // NOXLATE
+    if (this->m_currElemName == MDF_STR("CompositeRule")) // NOXLATE
     {
         this->m_startElemName = name;
         this->m_compositeRule = new CompositeRule();
     }
-    else if (this->m_currElemName == L"CompositeSymbolization") // NOXLATE
+    else if (this->m_currElemName == MDF_STR("CompositeSymbolization")) // NOXLATE
     {
         IOCompositeSymbolization* IO = new IOCompositeSymbolization(this->m_compositeRule, this->m_version);
         handlerStack->push(IO);
         IO->StartElement(name, handlerStack);
     }
-    else if (this->m_currElemName == L"ExtendedData1") // NOXLATE
+    else if (this->m_currElemName == MDF_STR("ExtendedData1")) // NOXLATE
     {
         this->m_procExtData = true;
     }
@@ -78,11 +78,11 @@
         this->m_compositeTypeStyle->GetRules()->Adopt(this->m_compositeRule);
         this->m_compositeTypeStyle = NULL;
         this->m_compositeRule = NULL;
-        this->m_startElemName = L"";
+        this->m_startElemName = MDF_STR("");
         handlerStack->pop();
         delete this;
     }
-    else if (::wcscmp(name, L"ExtendedData1") == 0) // NOXLATE
+    else if (::wcscmp(name, MDF_STR("ExtendedData1")) == 0) // NOXLATE
     {
         this->m_procExtData = false;
     }
@@ -95,7 +95,7 @@
     tab.inctab();
 
     EMIT_STRING_PROPERTY(fd, compositeRule, LegendLabel, false, NULL, tab)
-    EMIT_STRING_PROPERTY(fd, compositeRule, Filter, true, L"", tab) // default is empty string
+    EMIT_STRING_PROPERTY(fd, compositeRule, Filter, true, MDF_STR(""), tab) // default is empty string
 
     IOCompositeSymbolization::Write(fd, compositeRule->GetSymbolization(), version, tab);
 

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOCompositeSymbolization.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOCompositeSymbolization.cpp	2019-02-05 15:26:24 UTC (rev 9476)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOCompositeSymbolization.cpp	2019-02-05 15:58:21 UTC (rev 9477)
@@ -40,18 +40,18 @@
 void IOCompositeSymbolization::StartElement(const wchar_t* name, HandlerStack* handlerStack)
 {
     this->m_currElemName = name;
-    if (this->m_currElemName == L"CompositeSymbolization") // NOXLATE
+    if (this->m_currElemName == MDF_STR("CompositeSymbolization")) // NOXLATE
     {
         this->m_startElemName = name;
         this->m_compositeSymbolization = new CompositeSymbolization();
     }
-    else if (this->m_currElemName == L"SymbolInstance") // NOXLATE
+    else if (this->m_currElemName == MDF_STR("SymbolInstance")) // NOXLATE
     {
         IOSymbolInstance* IO = new IOSymbolInstance(this->m_compositeSymbolization->GetSymbolCollection(), this->m_version);
         handlerStack->push(IO);
         IO->StartElement(name, handlerStack);
     }
-    else if (this->m_currElemName == L"ExtendedData1") // NOXLATE
+    else if (this->m_currElemName == MDF_STR("ExtendedData1")) // NOXLATE
     {
         this->m_procExtData = true;
     }
@@ -76,11 +76,11 @@
         this->m_compositeRule->AdoptSymbolization(this->m_compositeSymbolization);
         this->m_compositeRule = NULL;
         this->m_compositeSymbolization = NULL;
-        this->m_startElemName = L"";
+        this->m_startElemName = MDF_STR("");
         handlerStack->pop();
         delete this;
     }
-    else if (::wcscmp(name, L"ExtendedData1") == 0) // NOXLATE
+    else if (::wcscmp(name, MDF_STR("ExtendedData1")) == 0) // NOXLATE
     {
         this->m_procExtData = false;
     }

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOCompositeTypeStyle.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOCompositeTypeStyle.cpp	2019-02-05 15:26:24 UTC (rev 9476)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOCompositeTypeStyle.cpp	2019-02-05 15:58:21 UTC (rev 9477)
@@ -93,7 +93,7 @@
         this->m_vectorScaleRange->GetFeatureTypeStyles()->Adopt(this->m_compositeTypeStyle);
         this->m_vectorScaleRange = NULL;
         this->m_compositeTypeStyle = NULL;
-        this->m_startElemName = L"";
+        this->m_startElemName = MDF_STR("");
         handlerStack->pop();
         delete this;
     }

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOCompoundSymbolDefinition.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOCompoundSymbolDefinition.cpp	2019-02-05 15:26:24 UTC (rev 9476)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOCompoundSymbolDefinition.cpp	2019-02-05 15:58:21 UTC (rev 9477)
@@ -34,17 +34,17 @@
 void IOCompoundSymbolDefinition::StartElement(const wchar_t* name, HandlerStack* handlerStack)
 {
     this->m_currElemName = name;
-    if (this->m_currElemName == L"CompoundSymbolDefinition") // NOXLATE
+    if (this->m_currElemName == MDF_STR("CompoundSymbolDefinition")) // NOXLATE
     {
         this->m_startElemName = name;
     }
-    else if (this->m_currElemName == L"SimpleSymbol") // NOXLATE
+    else if (this->m_currElemName == MDF_STR("SimpleSymbol")) // NOXLATE
     {
         IOSimpleSymbol* IO = new IOSimpleSymbol(this->m_symbolDefinition->GetSymbols(), this->m_version);
         handlerStack->push(IO);
         IO->StartElement(name, handlerStack);
     }
-    else if (this->m_currElemName == L"ExtendedData1") // NOXLATE
+    else if (this->m_currElemName == MDF_STR("ExtendedData1")) // NOXLATE
     {
         this->m_procExtData = true;
     }
@@ -69,11 +69,11 @@
         this->m_symbolDefinition->SetUnknownXml(this->m_unknownXml);
 
         this->m_symbolDefinition = NULL;
-        this->m_startElemName = L"";
+        this->m_startElemName = MDF_STR("");
         handlerStack->pop();
         delete this;
     }
-    else if (::wcscmp(name, L"ExtendedData1") == 0) // NOXLATE
+    else if (::wcscmp(name, MDF_STR("ExtendedData1")) == 0) // NOXLATE
     {
         this->m_procExtData = false;
     }
@@ -104,7 +104,7 @@
         else
         {
             // use the current highest version
-            strVersion = L"2.4.0";
+            strVersion = MDF_STR("2.4.0");
         }
 
         fd << tab.tab() << "<CompoundSymbolDefinition xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:noNamespaceSchemaLocation=\"SymbolDefinition-" << EncodeString(strVersion) << ".xsd\" version=\"" << EncodeString(strVersion) << "\">" << std::endl; // NOXLATE
@@ -114,7 +114,7 @@
     tab.inctab();
 
     EMIT_STRING_PROPERTY(fd, symbolDefinition, Name, false, NULL, tab)
-    EMIT_STRING_PROPERTY(fd, symbolDefinition, Description, true, L"", tab) // default is empty string
+    EMIT_STRING_PROPERTY(fd, symbolDefinition, Description, true, MDF_STR(""), tab) // default is empty string
 
     SimpleSymbolCollection* symbolCollection = symbolDefinition->GetSymbols();
     int numElements = symbolCollection->GetCount();

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IODrawingLayerDefinition.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IODrawingLayerDefinition.cpp	2019-02-05 15:26:24 UTC (rev 9476)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IODrawingLayerDefinition.cpp	2019-02-05 15:58:21 UTC (rev 9477)
@@ -72,7 +72,7 @@
             if (!IODrawingLayerDefinition::GetWatermarkDefinitionVersion(&this->m_version, wdVersion))
                 return;
 
-            WatermarkInstance* watermark = new WatermarkInstance(L"", L"");
+            WatermarkInstance* watermark = new WatermarkInstance(MDF_STR(""), MDF_STR(""));
             this->m_layer->GetWatermarks()->Adopt(watermark);
             IOWatermarkInstance* IO = new IOWatermarkInstance(watermark, wdVersion);
             handlerStack->push(IO);
@@ -129,7 +129,7 @@
         this->m_layer->SetUnknownXml(this->m_unknownXml);
 
         this->m_layer = NULL;
-        this->m_startElemName = L"";
+        this->m_startElemName = MDF_STR("");
         handlerStack->pop();
         delete this;
     }
@@ -164,7 +164,7 @@
         if (*version == Version(0, 9, 0))
         {
             // LDF in MapGuide 2006
-            strVersion = L"1.0.0";
+            strVersion = MDF_STR("1.0.0");
         }
         else if ((*version >= Version(1, 0, 0)) && (*version <= Version(2, 4, 0)))
         {
@@ -182,7 +182,7 @@
     else
     {
         // use the current highest version
-        strVersion = L"2.4.0";
+        strVersion = MDF_STR("2.4.0");
     }
 
     fd << tab.tab() << "<LayerDefinition xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:noNamespaceSchemaLocation=\"LayerDefinition-" << EncodeString(strVersion) << ".xsd\" version=\"" << EncodeString(strVersion) << "\">" << std::endl; // NOXLATE

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOElevationSettings.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOElevationSettings.cpp	2019-02-05 15:26:24 UTC (rev 9476)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOElevationSettings.cpp	2019-02-05 15:58:21 UTC (rev 9477)
@@ -88,9 +88,9 @@
 
     case eZOffsetType:
     {
-        if (::wcscmp(ch, L"Absolute") == 0) // NOXLATE
+        if (::wcscmp(ch, MDF_STR("Absolute")) == 0) // NOXLATE
             this->m_elevationSettings->SetElevationType(ElevationSettings::Absolute);
-        else if (::wcscmp(ch, L"RelativeToGround") == 0) // NOXLATE
+        else if (::wcscmp(ch, MDF_STR("RelativeToGround")) == 0) // NOXLATE
             this->m_elevationSettings->SetElevationType(ElevationSettings::RelativeToGround);
     }
 
@@ -110,7 +110,7 @@
         this->m_scaleRange->AdoptElevationSettings(this->m_elevationSettings);
         this->m_scaleRange = NULL;
         this->m_elevationSettings = NULL;
-        this->m_startElemName = L"";
+        this->m_startElemName = MDF_STR("");
         handlerStack->pop();
         delete this;
     }

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOExtension.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOExtension.cpp	2019-02-05 15:26:24 UTC (rev 9476)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOExtension.cpp	2019-02-05 15:58:21 UTC (rev 9477)
@@ -114,7 +114,7 @@
 
         this->m_featureSource->GetExtensions()->Adopt(this->m_extension);
         this->m_extension = NULL;
-        this->m_startElemName = L"";
+        this->m_startElemName = MDF_STR("");
         handlerStack->pop();
         delete this;
     }

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOExtra.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOExtra.cpp	2019-02-05 15:26:24 UTC (rev 9476)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOExtra.cpp	2019-02-05 15:58:21 UTC (rev 9477)
@@ -119,7 +119,7 @@
             this->m_tileset->SetExtents(Box2D(this->m_minX, this->m_minY, this->m_maxX, this->m_maxY));
             this->m_tileset;
         }
-        this->m_startElemName = L"";
+        this->m_startElemName = MDF_STR("");
         handlerStack->pop();
         delete this;
     }

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOFeatureSource.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOFeatureSource.cpp	2019-02-05 15:26:24 UTC (rev 9476)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOFeatureSource.cpp	2019-02-05 15:58:21 UTC (rev 9477)
@@ -126,7 +126,7 @@
         this->m_featureSource->SetUnknownXml(this->m_unknownXml);
 
         this->m_featureSource = NULL;
-        this->m_startElemName = L"";
+        this->m_startElemName = MDF_STR("");
         handlerStack->pop();
         delete this;
     }

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOFill.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOFill.cpp	2019-02-05 15:26:24 UTC (rev 9476)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOFill.cpp	2019-02-05 15:58:21 UTC (rev 9477)
@@ -96,7 +96,7 @@
         this->m_fill->SetUnknownXml(this->m_unknownXml);
 
         this->m_fill = NULL;
-        this->m_startElemName = L"";
+        this->m_startElemName = MDF_STR("");
         handlerStack->pop();
         delete this;
     }

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOFontSymbol.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOFontSymbol.cpp	2019-02-05 15:26:24 UTC (rev 9476)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOFontSymbol.cpp	2019-02-05 15:58:21 UTC (rev 9477)
@@ -118,7 +118,7 @@
     {
         this->m_symbol->SetUnknownXml(this->m_unknownXml);
 
-        this->m_startElemName = L"";
+        this->m_startElemName = MDF_STR("");
         handlerStack->pop();
     }
     else if (eExtendedData1 == _ElementIdFromName(name))

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOGraphicElement.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOGraphicElement.cpp	2019-02-05 15:26:24 UTC (rev 9476)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOGraphicElement.cpp	2019-02-05 15:58:21 UTC (rev 9477)
@@ -47,11 +47,11 @@
         this->m_element->SetUnknownXml(this->m_unknownXml);
 
         this->m_element = NULL;
-        this->m_startElemName = L"";
+        this->m_startElemName = MDF_STR("");
         handlerStack->pop();
         delete this;
     }
-    else if (::wcscmp(name, L"ExtendedData1") == 0) // NOXLATE
+    else if (::wcscmp(name, MDF_STR("ExtendedData1")) == 0) // NOXLATE
     {
         this->m_procExtData = false;
     }

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOGraphicElementCollection.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOGraphicElementCollection.cpp	2019-02-05 15:26:24 UTC (rev 9476)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOGraphicElementCollection.cpp	2019-02-05 15:58:21 UTC (rev 9477)
@@ -40,11 +40,11 @@
 void IOGraphicElementCollection::StartElement(const wchar_t* name, HandlerStack* handlerStack)
 {
     this->m_currElemName = name;
-    if (this->m_currElemName == L"Graphics") // NOXLATE
+    if (this->m_currElemName == MDF_STR("Graphics")) // NOXLATE
     {
         this->m_startElemName = name;
     }
-    else if (this->m_currElemName == L"Path") // NOXLATE
+    else if (this->m_currElemName == MDF_STR("Path")) // NOXLATE
     {
         Path* path = new Path();
         this->m_elementCollection->Adopt(path);
@@ -52,7 +52,7 @@
         handlerStack->push(IO);
         IO->StartPathElement(name, handlerStack);
     }
-    else if (this->m_currElemName == L"Image") // NOXLATE
+    else if (this->m_currElemName == MDF_STR("Image")) // NOXLATE
     {
         Image* image = new Image();
         this->m_elementCollection->Adopt(image);
@@ -60,7 +60,7 @@
         handlerStack->push(IO);
         IO->StartImageElement(name, handlerStack);
     }
-    else if (this->m_currElemName == L"Text") // NOXLATE
+    else if (this->m_currElemName == MDF_STR("Text")) // NOXLATE
     {
         Text* text = new Text();
         this->m_elementCollection->Adopt(text);
@@ -83,7 +83,7 @@
     if (this->m_startElemName == name)
     {
         this->m_elementCollection = NULL;
-        this->m_startElemName = L"";
+        this->m_startElemName = MDF_STR("");
         handlerStack->pop();
         delete this;
     }

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOGridColor.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOGridColor.cpp	2019-02-05 15:26:24 UTC (rev 9476)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOGridColor.cpp	2019-02-05 15:58:21 UTC (rev 9477)
@@ -109,7 +109,7 @@
         this->m_colorRule->SetUnknownXml(this->m_unknownXml);
 
         this->m_colorRule = NULL;
-        this->m_startElemName = L"";
+        this->m_startElemName = MDF_STR("");
         handlerStack->pop();
         delete this;
     }

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOGridColorBands.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOGridColorBands.cpp	2019-02-05 15:26:24 UTC (rev 9476)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOGridColorBands.cpp	2019-02-05 15:58:21 UTC (rev 9477)
@@ -122,7 +122,7 @@
         this->m_colorRule->AdoptGridColor(this->m_colorBands);
         this->m_colorRule = NULL;
         this->m_colorBands = NULL;
-        this->m_startElemName = L"";
+        this->m_startElemName = MDF_STR("");
         handlerStack->pop();
         delete this;
     }

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOGridColorRule.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOGridColorRule.cpp	2019-02-05 15:26:24 UTC (rev 9476)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOGridColorRule.cpp	2019-02-05 15:58:21 UTC (rev 9477)
@@ -116,7 +116,7 @@
         this->m_colorStyle->GetRules()->Adopt(this->m_colorRule);
         this->m_colorStyle = NULL;
         this->m_colorRule = NULL;
-        this->m_startElemName = L"";
+        this->m_startElemName = MDF_STR("");
         handlerStack->pop();
         delete this;
     }

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOGridColorStyle.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOGridColorStyle.cpp	2019-02-05 15:26:24 UTC (rev 9476)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOGridColorStyle.cpp	2019-02-05 15:58:21 UTC (rev 9477)
@@ -121,7 +121,7 @@
         this->m_scaleRange->AdoptColorStyle(this->m_colorStyle);
         this->m_scaleRange = NULL;
         this->m_colorStyle = NULL;
-        this->m_startElemName = L"";
+        this->m_startElemName = MDF_STR("");
         handlerStack->pop();
         delete this;
     }

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOGridLayerDefinition.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOGridLayerDefinition.cpp	2019-02-05 15:26:24 UTC (rev 9476)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOGridLayerDefinition.cpp	2019-02-05 15:58:21 UTC (rev 9477)
@@ -72,7 +72,7 @@
             if (!IOGridLayerDefinition::GetWatermarkDefinitionVersion(&this->m_version, wdVersion))
                 return;
 
-            WatermarkInstance* watermark = new WatermarkInstance(L"", L"");
+            WatermarkInstance* watermark = new WatermarkInstance(MDF_STR(""), MDF_STR(""));
             this->m_layer->GetWatermarks()->Adopt(watermark);
             IOWatermarkInstance* IO = new IOWatermarkInstance(watermark, wdVersion);
             handlerStack->push(IO);
@@ -133,7 +133,7 @@
         this->m_layer->SetUnknownXml(this->m_unknownXml);
 
         this->m_layer = NULL;
-        this->m_startElemName = L"";
+        this->m_startElemName = MDF_STR("");
         handlerStack->pop();
         delete this;
     }
@@ -168,7 +168,7 @@
         if (*version == Version(0, 9, 0))
         {
             // LDF in MapGuide 2006
-            strVersion = L"1.0.0";
+            strVersion = MDF_STR("1.0.0");
         }
         else if ((*version >= Version(1, 0, 0)) && (*version <= Version(2, 4, 0)))
         {
@@ -186,7 +186,7 @@
     else
     {
         // use the current highest version
-        strVersion = L"2.4.0";
+        strVersion = MDF_STR("2.4.0");
     }
 
     fd << tab.tab() << "<LayerDefinition xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:noNamespaceSchemaLocation=\"LayerDefinition-" << EncodeString(strVersion) << ".xsd\" version=\"" << EncodeString(strVersion) << "\">" << std::endl; // NOXLATE

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOGridScaleRange.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOGridScaleRange.cpp	2019-02-05 15:26:24 UTC (rev 9476)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOGridScaleRange.cpp	2019-02-05 15:58:21 UTC (rev 9477)
@@ -124,7 +124,7 @@
         this->m_layer->GetScaleRanges()->Adopt(this->m_scaleRange);
         this->m_layer = NULL;
         this->m_scaleRange = NULL;
-        this->m_startElemName = L"";
+        this->m_startElemName = MDF_STR("");
         handlerStack->pop();
         delete this;
     }

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOGridSurfaceStyle.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOGridSurfaceStyle.cpp	2019-02-05 15:26:24 UTC (rev 9476)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOGridSurfaceStyle.cpp	2019-02-05 15:58:21 UTC (rev 9477)
@@ -106,7 +106,7 @@
         this->m_scaleRange->AdoptSurfaceStyle(this->m_surfaceStyle);
         this->m_scaleRange = NULL;
         this->m_surfaceStyle = NULL;
-        this->m_startElemName = L"";
+        this->m_startElemName = MDF_STR("");
         handlerStack->pop();
         delete this;
     }

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOHillShade.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOHillShade.cpp	2019-02-05 15:26:24 UTC (rev 9476)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOHillShade.cpp	2019-02-05 15:58:21 UTC (rev 9477)
@@ -106,7 +106,7 @@
         this->m_colorStyle->AdoptHillShade(this->m_hillShade);
         this->m_colorStyle = NULL;
         this->m_hillShade = NULL;
-        this->m_startElemName = L"";
+        this->m_startElemName = MDF_STR("");
         handlerStack->pop();
         delete this;
     }

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOImage.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOImage.cpp	2019-02-05 15:26:24 UTC (rev 9476)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOImage.cpp	2019-02-05 15:58:21 UTC (rev 9477)
@@ -41,7 +41,7 @@
 void IOImage::StartElement(const wchar_t* name, HandlerStack* handlerStack)
 {
     this->m_currElemName = name;
-    if (this->m_currElemName == L"ExtendedData1") // NOXLATE
+    if (this->m_currElemName == MDF_STR("ExtendedData1")) // NOXLATE
     {
         this->m_procExtData = true;
     }

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOImageSymbol.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOImageSymbol.cpp	2019-02-05 15:26:24 UTC (rev 9476)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOImageSymbol.cpp	2019-02-05 15:58:21 UTC (rev 9477)
@@ -117,7 +117,7 @@
             this->m_ioResourceRef = NULL;
         }
 
-        this->m_startElemName = L"";
+        this->m_startElemName = MDF_STR("");
         handlerStack->pop();
     }
     else if (eExtendedData1 == _ElementIdFromName(name))

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOLabel.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOLabel.cpp	2019-02-05 15:26:24 UTC (rev 9476)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOLabel.cpp	2019-02-05 15:58:21 UTC (rev 9477)
@@ -119,11 +119,11 @@
         break;
 
     case eBackgroundStyle:
-        if (::wcscmp(ch, L"Transparent") == 0) // NOXLATE
+        if (::wcscmp(ch, MDF_STR("Transparent")) == 0) // NOXLATE
             symbol->SetBackgroundStyle(TextSymbol::Transparent);
-        else if (::wcscmp(ch, L"Opaque") == 0) // NOXLATE
+        else if (::wcscmp(ch, MDF_STR("Opaque")) == 0) // NOXLATE
             symbol->SetBackgroundStyle(TextSymbol::Opaque);
-        else if (::wcscmp(ch, L"Ghosted") == 0) // NOXLATE
+        else if (::wcscmp(ch, MDF_STR("Ghosted")) == 0) // NOXLATE
             symbol->SetBackgroundStyle(TextSymbol::Ghosted);
         break;
 
@@ -132,12 +132,12 @@
         {
             // legacy layer definitions may have unquoted alignments
             // - add quotes if necessary
-            if (::wcscmp(ch, L"Left") == 0) // NOXLATE
-                symbol->SetHorizontalAlignment(L"'Left'");
-            else if (::wcscmp(ch, L"Center") == 0) // NOXLATE
-                symbol->SetHorizontalAlignment(L"'Center'");
-            else if (::wcscmp(ch, L"Right") == 0) // NOXLATE
-                symbol->SetHorizontalAlignment(L"'Right'");
+            if (::wcscmp(ch, MDF_STR("Left")) == 0) // NOXLATE
+                symbol->SetHorizontalAlignment(MDF_STR("'Left'"));
+            else if (::wcscmp(ch, MDF_STR("Center")) == 0) // NOXLATE
+                symbol->SetHorizontalAlignment(MDF_STR("'Center'"));
+            else if (::wcscmp(ch, MDF_STR("Right")) == 0) // NOXLATE
+                symbol->SetHorizontalAlignment(MDF_STR("'Right'"));
             else
                 symbol->SetHorizontalAlignment(ch);
         }
@@ -150,16 +150,16 @@
         {
             // legacy layer definitions may have unquoted alignments
             // - add quotes if necessary
-            if (::wcscmp(ch, L"Bottom") == 0) // NOXLATE
-                symbol->SetVerticalAlignment(L"'Bottom'");
-            else if (::wcscmp(ch, L"Baseline") == 0) // NOXLATE
-                symbol->SetVerticalAlignment(L"'Baseline'");
-            else if (::wcscmp(ch, L"Halfline") == 0) // NOXLATE
-                symbol->SetVerticalAlignment(L"'Halfline'");
-            else if (::wcscmp(ch, L"Capline") == 0) // NOXLATE
-                symbol->SetVerticalAlignment(L"'Capline'");
-            else if (::wcscmp(ch, L"Top") == 0) // NOXLATE
-                symbol->SetVerticalAlignment(L"'Top'");
+            if (::wcscmp(ch, MDF_STR("Bottom")) == 0) // NOXLATE
+                symbol->SetVerticalAlignment(MDF_STR("'Bottom'"));
+            else if (::wcscmp(ch, MDF_STR("Baseline")) == 0) // NOXLATE
+                symbol->SetVerticalAlignment(MDF_STR("'Baseline'"));
+            else if (::wcscmp(ch, MDF_STR("Halfline")) == 0) // NOXLATE
+                symbol->SetVerticalAlignment(MDF_STR("'Halfline'"));
+            else if (::wcscmp(ch, MDF_STR("Capline")) == 0) // NOXLATE
+                symbol->SetVerticalAlignment(MDF_STR("'Capline'"));
+            else if (::wcscmp(ch, MDF_STR("Top")) == 0) // NOXLATE
+                symbol->SetVerticalAlignment(MDF_STR("'Top'"));
             else
                 symbol->SetVerticalAlignment(ch);
         }
@@ -188,9 +188,9 @@
         break;
 
     case eSizeContext:
-        if (::wcscmp(ch, L"MappingUnits") == 0) // NOXLATE
+        if (::wcscmp(ch, MDF_STR("MappingUnits")) == 0) // NOXLATE
             symbol->SetSizeContext(MdfModel::MappingUnits);
-        else if (::wcscmp(ch, L"DeviceUnits") == 0) // NOXLATE
+        else if (::wcscmp(ch, MDF_STR("DeviceUnits")) == 0) // NOXLATE
             symbol->SetSizeContext(MdfModel::DeviceUnits);
         break;
 
@@ -230,7 +230,7 @@
         this->m_rule->AdoptLabel(this->m_label);
         this->m_rule = NULL;
         this->m_label = NULL;
-        this->m_startElemName = L"";
+        this->m_startElemName = MDF_STR("");
         handlerStack->pop();
         delete this;
     }
@@ -283,7 +283,7 @@
         fd << endStr(sBackgroundStyle) << std::endl;
 
         // Property: HorizontalAlignment
-        if (symbol->GetHorizontalAlignment() != L"'Center'") // NOXLATE
+        if (symbol->GetHorizontalAlignment() != MDF_STR("'Center'")) // NOXLATE
         {
             fd << tab.tab() << startStr(sHorizontalAlignment);
             fd << EncodeString(symbol->GetHorizontalAlignment());
@@ -291,7 +291,7 @@
         }
 
         // Property: VerticalAlignment
-        if (symbol->GetVerticalAlignment() != L"'Baseline'") // NOXLATE
+        if (symbol->GetVerticalAlignment() != MDF_STR("'Baseline'")) // NOXLATE
         {
             fd << tab.tab() << startStr(sVerticalAlignment);
             fd << EncodeString(symbol->GetVerticalAlignment());

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOLineRule.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOLineRule.cpp	2019-02-05 15:26:24 UTC (rev 9476)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOLineRule.cpp	2019-02-05 15:58:21 UTC (rev 9477)
@@ -116,7 +116,7 @@
         this->m_lineTypeStyle->GetRules()->Adopt(this->m_lineRule);
         this->m_lineTypeStyle = NULL;
         this->m_lineRule = NULL;
-        this->m_startElemName = L"";
+        this->m_startElemName = MDF_STR("");
         handlerStack->pop();
         delete this;
     }

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOLineSymbolization2D.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOLineSymbolization2D.cpp	2019-02-05 15:26:24 UTC (rev 9476)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOLineSymbolization2D.cpp	2019-02-05 15:58:21 UTC (rev 9477)
@@ -98,9 +98,9 @@
         break;
 
     case eSizeContext:
-        if (::wcscmp(ch, L"MappingUnits") == 0) // NOXLATE
+        if (::wcscmp(ch, MDF_STR("MappingUnits")) == 0) // NOXLATE
             stroke->SetSizeContext(MdfModel::MappingUnits);
-        else if (::wcscmp(ch, L"DeviceUnits") == 0) // NOXLATE
+        else if (::wcscmp(ch, MDF_STR("DeviceUnits")) == 0) // NOXLATE
             stroke->SetSizeContext(MdfModel::DeviceUnits);
         break;
     }
@@ -116,7 +116,7 @@
         this->m_lineRule->GetSymbolizations()->Adopt(this->m_lineSymbolization);
         this->m_lineRule = NULL;
         this->m_lineSymbolization = NULL;
-        this->m_startElemName = L"";
+        this->m_startElemName = MDF_STR("");
         handlerStack->pop();
         delete this;
     }

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOLineTypeStyle.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOLineTypeStyle.cpp	2019-02-05 15:26:24 UTC (rev 9476)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOLineTypeStyle.cpp	2019-02-05 15:58:21 UTC (rev 9477)
@@ -97,7 +97,7 @@
         this->m_scaleRange->GetFeatureTypeStyles()->Adopt(this->m_lineTypeStyle);
         this->m_scaleRange = NULL;
         this->m_lineTypeStyle = NULL;
-        this->m_startElemName = L"";
+        this->m_startElemName = MDF_STR("");
         handlerStack->pop();
         delete this;
     }

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOLineUsage.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOLineUsage.cpp	2019-02-05 15:26:24 UTC (rev 9476)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOLineUsage.cpp	2019-02-05 15:58:21 UTC (rev 9477)
@@ -35,7 +35,7 @@
 void IOLineUsage::StartElement(const wchar_t* name, HandlerStack* handlerStack)
 {
     this->m_currElemName = name;
-    if (this->m_currElemName == L"LineUsage") // NOXLATE
+    if (this->m_currElemName == MDF_STR("LineUsage")) // NOXLATE
     {
         this->m_startElemName = name;
         this->m_lineUsage = new LineUsage();
@@ -46,9 +46,9 @@
         // 'OverlapNone'.  If we're deserializing a version 1.0.0 stream then
         // we need to change the initial value to old default value.
         if (this->m_version == Version(1, 0, 0))
-            this->m_lineUsage->SetVertexControl(L"'OverlapNone'"); // NOXLATE
+            this->m_lineUsage->SetVertexControl(MDF_STR("'OverlapNone'")); // NOXLATE
     }
-    else if (this->m_currElemName == L"DefaultPath") // NOXLATE
+    else if (this->m_currElemName == MDF_STR("DefaultPath")) // NOXLATE
     {
         Path* path = new Path();
         this->m_lineUsage->AdoptDefaultPath(path);
@@ -56,7 +56,7 @@
         handlerStack->push(IO);
         IO->StartPathElement(name, handlerStack);
     }
-    else if (this->m_currElemName == L"ExtendedData1") // NOXLATE
+    else if (this->m_currElemName == MDF_STR("ExtendedData1")) // NOXLATE
     {
         this->m_procExtData = true;
     }
@@ -91,11 +91,11 @@
         this->m_symbolDefinition->AdoptLineUsage(this->m_lineUsage);
         this->m_symbolDefinition = NULL;
         this->m_lineUsage = NULL;
-        this->m_startElemName = L"";
+        this->m_startElemName = MDF_STR("");
         handlerStack->pop();
         delete this;
     }
-    else if (::wcscmp(name, L"ExtendedData1") == 0) // NOXLATE
+    else if (::wcscmp(name, MDF_STR("ExtendedData1")) == 0) // NOXLATE
     {
         this->m_procExtData = false;
     }
@@ -115,8 +115,8 @@
     // In SymbolDefinition version 1.1.0 and higher the 'OverlapNoWrap' setting has
     // been removed.  For all versions we now replace it with 'OverlapNone'.
     MdfString strVertexControl = lineUsage->GetVertexControl();
-    if (strVertexControl.size() > 0 && _wcsicmp(strVertexControl.c_str(), L"'OverlapNoWrap'") == 0) // NOXLATE
-        strVertexControl = L"'OverlapNone'"; // NOXLATE
+    if (strVertexControl.size() > 0 && _wcsicmp(strVertexControl.c_str(), MDF_STR("'OverlapNoWrap'")) == 0) // NOXLATE
+        strVertexControl = MDF_STR("'OverlapNone'"); // NOXLATE
 
     bool emitVertexControl = true;
     if (!version || (*version >= Version(1, 1, 0)))
@@ -180,11 +180,11 @@
 
         emitStartOffset = true;
         if (strStartOffset.size() == 0)
-            strStartOffset = L"-1.0";           // NOXLATE
+            strStartOffset = MDF_STR("-1.0");           // NOXLATE
 
         emitEndOffset = true;
         if (strEndOffset.size() == 0)
-            strEndOffset = L"-1.0";             // NOXLATE
+            strEndOffset = MDF_STR("-1.0");             // NOXLATE
     }
 
     if (emitStartOffset)

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOMapDefinition.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOMapDefinition.cpp	2019-02-05 15:26:24 UTC (rev 9476)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOMapDefinition.cpp	2019-02-05 15:58:21 UTC (rev 9477)
@@ -125,7 +125,7 @@
             if (!IOMapDefinition::GetWatermarkDefinitionVersion(&this->m_version, wdVersion))
                 return;
 
-            WatermarkInstance* watermark = new WatermarkInstance(L"", L"");
+            WatermarkInstance* watermark = new WatermarkInstance(MDF_STR(""), MDF_STR(""));
             this->m_map->GetWatermarks()->Adopt(watermark);
             IOWatermarkInstance* IO = new IOWatermarkInstance(watermark, wdVersion);
             handlerStack->push(IO);
@@ -173,7 +173,7 @@
     {
         this->m_map->SetUnknownXml(this->m_unknownXml);
         this->m_map = NULL;
-        this->m_startElemName = L"";
+        this->m_startElemName = MDF_STR("");
         handlerStack->pop();
         delete this;
     }
@@ -221,7 +221,7 @@
     else
     {
         // use the current highest version
-        strVersion = L"3.0.0";
+        strVersion = MDF_STR("3.0.0");
     }
 
     if (!version || (*version > Version(1, 0, 0)))

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOMapLayer.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOMapLayer.cpp	2019-02-05 15:26:24 UTC (rev 9476)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOMapLayer.cpp	2019-02-05 15:58:21 UTC (rev 9477)
@@ -61,7 +61,7 @@
     {
     case eMapLayer:
         this->m_startElemName = name;
-        this->m_mapLayerCommon = new MapLayer(L"", L"");
+        this->m_mapLayerCommon = new MapLayer(MDF_STR(""), MDF_STR(""));
         break;
 
     case eExtendedData1:
@@ -95,7 +95,7 @@
         this->m_map->GetLayers()->Adopt(static_cast<MapLayer*>(this->m_mapLayerCommon));
         this->m_map = NULL;
         this->m_mapLayerCommon = NULL;
-        this->m_startElemName = L"";
+        this->m_startElemName = MDF_STR("");
         handlerStack->pop();
         delete this;
     }

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOMapLayerCommon.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOMapLayerCommon.cpp	2019-02-05 15:26:24 UTC (rev 9476)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOMapLayerCommon.cpp	2019-02-05 15:58:21 UTC (rev 9477)
@@ -36,17 +36,17 @@
 
 void IOMapLayerCommon::ElementChars(const wchar_t* ch)
 {
-    if (this->m_currElemName == L"Name") // NOXLATE
+    if (this->m_currElemName == MDF_STR("Name")) // NOXLATE
         this->m_mapLayerCommon->SetName(ch);
-    else if (this->m_currElemName == L"ResourceId") // NOXLATE
+    else if (this->m_currElemName == MDF_STR("ResourceId")) // NOXLATE
         this->m_mapLayerCommon->SetLayerResourceID(ch);
-    else if (this->m_currElemName == L"Selectable") // NOXLATE
+    else if (this->m_currElemName == MDF_STR("Selectable")) // NOXLATE
         this->m_mapLayerCommon->SetSelectable(wstrToBool(ch));
-    else if (this->m_currElemName == L"ShowInLegend") // NOXLATE
+    else if (this->m_currElemName == MDF_STR("ShowInLegend")) // NOXLATE
         this->m_mapLayerCommon->SetShowInLegend(wstrToBool(ch));
-    else if (this->m_currElemName == L"LegendLabel") // NOXLATE
+    else if (this->m_currElemName == MDF_STR("LegendLabel")) // NOXLATE
         this->m_mapLayerCommon->SetLegendLabel(ch);
-    else if (this->m_currElemName == L"ExpandInLegend") // NOXLATE
+    else if (this->m_currElemName == MDF_STR("ExpandInLegend")) // NOXLATE
         this->m_mapLayerCommon->SetExpandInLegend(wstrToBool(ch));
 }
 

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOMapLayerGroup.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOMapLayerGroup.cpp	2019-02-05 15:26:24 UTC (rev 9476)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOMapLayerGroup.cpp	2019-02-05 15:58:21 UTC (rev 9477)
@@ -57,7 +57,7 @@
     {
     case eMapLayerGroup:
         this->m_startElemName = name;
-        this->m_layerGroup = new MapLayerGroup(L"");
+        this->m_layerGroup = new MapLayerGroup(MDF_STR(""));
         break;
 
     case eExtendedData1:
@@ -88,7 +88,7 @@
         this->m_map->GetLayerGroups()->Adopt(static_cast<MapLayerGroup*>(this->m_layerGroup));
         this->m_map = NULL;
         this->m_layerGroup = NULL;
-        this->m_startElemName = L"";
+        this->m_startElemName = MDF_STR("");
         handlerStack->pop();
         delete this;
     }

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOMapLayerGroupCommon.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOMapLayerGroupCommon.cpp	2019-02-05 15:26:24 UTC (rev 9476)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOMapLayerGroupCommon.cpp	2019-02-05 15:58:21 UTC (rev 9477)
@@ -54,15 +54,15 @@
 
 void IOMapLayerGroupCommon::ElementChars(const wchar_t* ch)
 {
-    if (this->m_currElemName == L"Name") // NOXLATE
+    if (this->m_currElemName == MDF_STR("Name")) // NOXLATE
         this->m_layerGroup->SetName(ch);
-    else if (this->m_currElemName == L"Visible") // NOXLATE
+    else if (this->m_currElemName == MDF_STR("Visible")) // NOXLATE
         this->m_layerGroup->SetVisible(wstrToBool(ch));
-    else if (this->m_currElemName == L"ShowInLegend") // NOXLATE
+    else if (this->m_currElemName == MDF_STR("ShowInLegend")) // NOXLATE
         this->m_layerGroup->SetShowInLegend(wstrToBool(ch));
-    else if (this->m_currElemName == L"ExpandInLegend") // NOXLATE
+    else if (this->m_currElemName == MDF_STR("ExpandInLegend")) // NOXLATE
         this->m_layerGroup->SetExpandInLegend(wstrToBool(ch));
-    else if (this->m_currElemName == L"LegendLabel") // NOXLATE
+    else if (this->m_currElemName == MDF_STR("LegendLabel")) // NOXLATE
         this->m_layerGroup->SetLegendLabel(ch);
 }
 

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOMarkSymbol.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOMarkSymbol.cpp	2019-02-05 15:26:24 UTC (rev 9476)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOMarkSymbol.cpp	2019-02-05 15:58:21 UTC (rev 9477)
@@ -106,17 +106,17 @@
     switch (this->m_currElemId)
     {
     case eShape:
-        if (wcscmp(ch, L"Square") == 0) // NOXLATE
+        if (wcscmp(ch, MDF_STR("Square")) == 0) // NOXLATE
             symbol->SetShape(MarkSymbol::Square);
-        else if (wcscmp(ch, L"Circle") == 0) // NOXLATE
+        else if (wcscmp(ch, MDF_STR("Circle")) == 0) // NOXLATE
             symbol->SetShape(MarkSymbol::Circle);
-        else if (wcscmp(ch, L"Triangle") == 0) // NOXLATE
+        else if (wcscmp(ch, MDF_STR("Triangle")) == 0) // NOXLATE
             symbol->SetShape(MarkSymbol::Triangle);
-        else if (wcscmp(ch, L"Star") == 0) // NOXLATE
+        else if (wcscmp(ch, MDF_STR("Star")) == 0) // NOXLATE
             symbol->SetShape(MarkSymbol::Star);
-        else if (wcscmp(ch, L"Cross") == 0) // NOXLATE
+        else if (wcscmp(ch, MDF_STR("Cross")) == 0) // NOXLATE
             symbol->SetShape(MarkSymbol::Cross);
-        else if (wcscmp(ch, L"X") == 0) // NOXLATE
+        else if (wcscmp(ch, MDF_STR("X")) == 0) // NOXLATE
             symbol->SetShape(MarkSymbol::X);
         break;
 
@@ -133,7 +133,7 @@
     {
         this->m_symbol->SetUnknownXml(this->m_unknownXml);
 
-        this->m_startElemName = L"";
+        this->m_startElemName = MDF_STR("");
         handlerStack->pop();
     }
     else if (eExtendedData1 == _ElementIdFromName(name))
@@ -153,17 +153,17 @@
     // Property: Shape
     fd << tab.tab() << startStr(sShape);
     if (markSymbol->GetShape() == MarkSymbol::Square)
-        fd << EncodeString(L"Square"); // NOXLATE
+        fd << EncodeString(MDF_STR("Square")); // NOXLATE
     else if (markSymbol->GetShape() == MarkSymbol::Circle)
-        fd << EncodeString(L"Circle"); // NOXLATE
+        fd << EncodeString(MDF_STR("Circle")); // NOXLATE
     else if (markSymbol->GetShape() == MarkSymbol::Triangle)
-        fd << EncodeString(L"Triangle"); // NOXLATE
+        fd << EncodeString(MDF_STR("Triangle")); // NOXLATE
     else if (markSymbol->GetShape() == MarkSymbol::Star)
-        fd << EncodeString(L"Star"); // NOXLATE
+        fd << EncodeString(MDF_STR("Star")); // NOXLATE
     else if (markSymbol->GetShape() == MarkSymbol::Cross)
-        fd << EncodeString(L"Cross"); // NOXLATE
+        fd << EncodeString(MDF_STR("Cross")); // NOXLATE
     else if (markSymbol->GetShape() == MarkSymbol::X)
-        fd << EncodeString(L"X"); // NOXLATE
+        fd << EncodeString(MDF_STR("X")); // NOXLATE
     fd << endStr(sShape) << std::endl;
 
     // Property: Fill

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IONameStringPair.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IONameStringPair.cpp	2019-02-05 15:26:24 UTC (rev 9476)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IONameStringPair.cpp	2019-02-05 15:58:21 UTC (rev 9477)
@@ -80,7 +80,7 @@
 
     if (this->m_layer)
     {
-        if (this->m_currElemName == L"PropertyMapping") // NOXLATE
+        if (this->m_currElemName == MDF_STR("PropertyMapping")) // NOXLATE
         {
             this->m_startElemName = name;
             this->m_nameStringPair = new NameStringPair();
@@ -96,7 +96,7 @@
     }
     else if (this->m_featureSource || this->m_tileStoreParams)
     {
-        if (this->m_currElemName == L"Parameter") // NOXLATE
+        if (this->m_currElemName == MDF_STR("Parameter")) // NOXLATE
         {
             this->m_startElemName = name;
             this->m_nameStringPair = new NameStringPair();
@@ -145,7 +145,7 @@
         this->m_featureSource = NULL;
         this->m_nameStringPair = NULL;
         this->m_tileStoreParams = NULL;
-        this->m_startElemName = L"";
+        this->m_startElemName = MDF_STR("");
         handlerStack->pop();
         delete this;
     }

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOOverride.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOOverride.cpp	2019-02-05 15:26:24 UTC (rev 9476)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOOverride.cpp	2019-02-05 15:58:21 UTC (rev 9477)
@@ -40,18 +40,18 @@
 void IOOverride::StartElement(const wchar_t* name, HandlerStack* handlerStack)
 {
     this->m_currElemName = name;
-    if (this->m_currElemName == L"Override") // NOXLATE
+    if (this->m_currElemName == MDF_STR("Override")) // NOXLATE
     {
         this->m_startElemName = name;
         this->m_override = new Override();
     }
-    else if (this->m_currElemName == L"ThemeLabel") // NOXLATE
+    else if (this->m_currElemName == MDF_STR("ThemeLabel")) // NOXLATE
     {
         IOThemeLabel* IO = new IOThemeLabel(this->m_override, this->m_version);
         handlerStack->push(IO);
         IO->StartElement(name, handlerStack);
     }
-    else if (this->m_currElemName == L"ExtendedData1") // NOXLATE
+    else if (this->m_currElemName == MDF_STR("ExtendedData1")) // NOXLATE
     {
         this->m_procExtData = true;
     }
@@ -79,11 +79,11 @@
         this->m_overrideCollection->Adopt(this->m_override);
         this->m_overrideCollection = NULL;
         this->m_override = NULL;
-        this->m_startElemName = L"";
+        this->m_startElemName = MDF_STR("");
         handlerStack->pop();
         delete this;
     }
-    else if (::wcscmp(name, L"ExtendedData1") == 0) // NOXLATE
+    else if (::wcscmp(name, MDF_STR("ExtendedData1")) == 0) // NOXLATE
     {
         this->m_procExtData = false;
     }

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOOverrideCollection.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOOverrideCollection.cpp	2019-02-05 15:26:24 UTC (rev 9476)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOOverrideCollection.cpp	2019-02-05 15:58:21 UTC (rev 9477)
@@ -34,17 +34,17 @@
 void IOOverrideCollection::StartElement(const wchar_t* name, HandlerStack* handlerStack)
 {
     this->m_currElemName = name;
-    if (this->m_currElemName == L"ParameterOverrides") // NOXLATE
+    if (this->m_currElemName == MDF_STR("ParameterOverrides")) // NOXLATE
     {
         this->m_startElemName = name;
     }
-    else if (this->m_currElemName == L"Override") // NOXLATE
+    else if (this->m_currElemName == MDF_STR("Override")) // NOXLATE
     {
         IOOverride* IO = new IOOverride(this->m_overrideCollection, this->m_version);
         handlerStack->push(IO);
         IO->StartElement(name, handlerStack);
     }
-    else if (this->m_currElemName == L"ExtendedData1") // NOXLATE
+    else if (this->m_currElemName == MDF_STR("ExtendedData1")) // NOXLATE
     {
         this->m_procExtData = true;
     }
@@ -67,11 +67,11 @@
         this->m_overrideCollection->SetUnknownXml(this->m_unknownXml);
 
         this->m_overrideCollection = NULL;
-        this->m_startElemName = L"";
+        this->m_startElemName = MDF_STR("");
         handlerStack->pop();
         delete this;
     }
-    else if (::wcscmp(name, L"ExtendedData1") == 0) // NOXLATE
+    else if (::wcscmp(name, MDF_STR("ExtendedData1")) == 0) // NOXLATE
     {
         this->m_procExtData = false;
     }

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOParameter.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOParameter.cpp	2019-02-05 15:26:24 UTC (rev 9476)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOParameter.cpp	2019-02-05 15:58:21 UTC (rev 9477)
@@ -39,16 +39,16 @@
 void IOParameter::StartElement(const wchar_t* name, HandlerStack* handlerStack)
 {
     this->m_currElemName = name;
-    if (this->m_currElemName == L"Parameter") // NOXLATE
+    if (this->m_currElemName == MDF_STR("Parameter")) // NOXLATE
     {
         this->m_startElemName = name;
         this->m_parameter = new Parameter();
     }
-    else if (this->m_currElemName == L"DataType") // NOXLATE
+    else if (this->m_currElemName == MDF_STR("DataType")) // NOXLATE
     {
         // value read in ElementChars
     }
-    else if (this->m_currElemName == L"ExtendedData1") // NOXLATE
+    else if (this->m_currElemName == MDF_STR("ExtendedData1")) // NOXLATE
     {
         this->m_procExtData = true;
     }
@@ -65,39 +65,39 @@
     else IF_STRING_PROPERTY(this->m_currElemName, this->m_parameter, DefaultValue, ch)
     else IF_STRING_PROPERTY(this->m_currElemName, this->m_parameter, DisplayName, ch)
     else IF_STRING_PROPERTY(this->m_currElemName, this->m_parameter, Description, ch)
-    else if (this->m_currElemName == L"DataType")   // NOXLATE
+    else if (this->m_currElemName == MDF_STR("DataType"))   // NOXLATE
     {
-             if (::wcscmp(ch, L"String") == 0)              this->m_parameter->SetDataType(Parameter::String);              // NOXLATE
-        else if (::wcscmp(ch, L"Boolean") == 0)             this->m_parameter->SetDataType(Parameter::Boolean);             // NOXLATE
-        else if (::wcscmp(ch, L"Integer") == 0)             this->m_parameter->SetDataType(Parameter::Integer);             // NOXLATE
-        else if (::wcscmp(ch, L"Real") == 0)                this->m_parameter->SetDataType(Parameter::Real);                // NOXLATE
-        else if (::wcscmp(ch, L"Color") == 0)               this->m_parameter->SetDataType(Parameter::Color);               // NOXLATE
-        else if (::wcscmp(ch, L"Angle") == 0)               this->m_parameter->SetDataType(Parameter::Angle);               // NOXLATE
-        else if (::wcscmp(ch, L"FillColor") == 0)           this->m_parameter->SetDataType(Parameter::FillColor);           // NOXLATE
-        else if (::wcscmp(ch, L"LineColor") == 0)           this->m_parameter->SetDataType(Parameter::LineColor);           // NOXLATE
-        else if (::wcscmp(ch, L"LineWeight") == 0)          this->m_parameter->SetDataType(Parameter::LineWeight);          // NOXLATE
-        else if (::wcscmp(ch, L"Content") == 0)             this->m_parameter->SetDataType(Parameter::Content);             // NOXLATE
-        else if (::wcscmp(ch, L"Markup") == 0)              this->m_parameter->SetDataType(Parameter::Markup);              // NOXLATE
-        else if (::wcscmp(ch, L"FontName") == 0)            this->m_parameter->SetDataType(Parameter::FontName);            // NOXLATE
-        else if (::wcscmp(ch, L"Bold") == 0)                this->m_parameter->SetDataType(Parameter::Bold);                // NOXLATE
-        else if (::wcscmp(ch, L"Italic") == 0)              this->m_parameter->SetDataType(Parameter::Italic);              // NOXLATE
-        else if (::wcscmp(ch, L"Underlined") == 0)          this->m_parameter->SetDataType(Parameter::Underlined);          // NOXLATE
-        else if (::wcscmp(ch, L"Overlined") == 0)           this->m_parameter->SetDataType(Parameter::Overlined);           // NOXLATE
-        else if (::wcscmp(ch, L"ObliqueAngle") == 0)        this->m_parameter->SetDataType(Parameter::ObliqueAngle);        // NOXLATE
-        else if (::wcscmp(ch, L"TrackSpacing") == 0)        this->m_parameter->SetDataType(Parameter::TrackSpacing);        // NOXLATE
-        else if (::wcscmp(ch, L"FontHeight") == 0)          this->m_parameter->SetDataType(Parameter::FontHeight);          // NOXLATE
-        else if (::wcscmp(ch, L"HorizontalAlignment") == 0) this->m_parameter->SetDataType(Parameter::HorizontalAlignment); // NOXLATE
-        else if (::wcscmp(ch, L"VerticalAlignment") == 0)   this->m_parameter->SetDataType(Parameter::VerticalAlignment);   // NOXLATE
-        else if (::wcscmp(ch, L"Justification") == 0)       this->m_parameter->SetDataType(Parameter::Justification);       // NOXLATE
-        else if (::wcscmp(ch, L"LineSpacing") == 0)         this->m_parameter->SetDataType(Parameter::LineSpacing);         // NOXLATE
-        else if (::wcscmp(ch, L"TextColor") == 0)           this->m_parameter->SetDataType(Parameter::TextColor);           // NOXLATE
-        else if (::wcscmp(ch, L"GhostColor") == 0)          this->m_parameter->SetDataType(Parameter::GhostColor);          // NOXLATE
-        else if (::wcscmp(ch, L"FrameLineColor") == 0)      this->m_parameter->SetDataType(Parameter::FrameLineColor);      // NOXLATE
-        else if (::wcscmp(ch, L"FrameFillColor") == 0)      this->m_parameter->SetDataType(Parameter::FrameFillColor);      // NOXLATE
-        else if (::wcscmp(ch, L"StartOffset") == 0)         this->m_parameter->SetDataType(Parameter::StartOffset);         // NOXLATE
-        else if (::wcscmp(ch, L"EndOffset") == 0)           this->m_parameter->SetDataType(Parameter::EndOffset);           // NOXLATE
-        else if (::wcscmp(ch, L"RepeatX") == 0)             this->m_parameter->SetDataType(Parameter::RepeatX);             // NOXLATE
-        else if (::wcscmp(ch, L"RepeatY") == 0)             this->m_parameter->SetDataType(Parameter::RepeatY);             // NOXLATE
+             if (::wcscmp(ch, MDF_STR("String")) == 0)              this->m_parameter->SetDataType(Parameter::String);              // NOXLATE
+        else if (::wcscmp(ch, MDF_STR("Boolean")) == 0)             this->m_parameter->SetDataType(Parameter::Boolean);             // NOXLATE
+        else if (::wcscmp(ch, MDF_STR("Integer")) == 0)             this->m_parameter->SetDataType(Parameter::Integer);             // NOXLATE
+        else if (::wcscmp(ch, MDF_STR("Real")) == 0)                this->m_parameter->SetDataType(Parameter::Real);                // NOXLATE
+        else if (::wcscmp(ch, MDF_STR("Color")) == 0)               this->m_parameter->SetDataType(Parameter::Color);               // NOXLATE
+        else if (::wcscmp(ch, MDF_STR("Angle")) == 0)               this->m_parameter->SetDataType(Parameter::Angle);               // NOXLATE
+        else if (::wcscmp(ch, MDF_STR("FillColor")) == 0)           this->m_parameter->SetDataType(Parameter::FillColor);           // NOXLATE
+        else if (::wcscmp(ch, MDF_STR("LineColor")) == 0)           this->m_parameter->SetDataType(Parameter::LineColor);           // NOXLATE
+        else if (::wcscmp(ch, MDF_STR("LineWeight")) == 0)          this->m_parameter->SetDataType(Parameter::LineWeight);          // NOXLATE
+        else if (::wcscmp(ch, MDF_STR("Content")) == 0)             this->m_parameter->SetDataType(Parameter::Content);             // NOXLATE
+        else if (::wcscmp(ch, MDF_STR("Markup")) == 0)              this->m_parameter->SetDataType(Parameter::Markup);              // NOXLATE
+        else if (::wcscmp(ch, MDF_STR("FontName")) == 0)            this->m_parameter->SetDataType(Parameter::FontName);            // NOXLATE
+        else if (::wcscmp(ch, MDF_STR("Bold")) == 0)                this->m_parameter->SetDataType(Parameter::Bold);                // NOXLATE
+        else if (::wcscmp(ch, MDF_STR("Italic")) == 0)              this->m_parameter->SetDataType(Parameter::Italic);              // NOXLATE
+        else if (::wcscmp(ch, MDF_STR("Underlined")) == 0)          this->m_parameter->SetDataType(Parameter::Underlined);          // NOXLATE
+        else if (::wcscmp(ch, MDF_STR("Overlined")) == 0)           this->m_parameter->SetDataType(Parameter::Overlined);           // NOXLATE
+        else if (::wcscmp(ch, MDF_STR("ObliqueAngle")) == 0)        this->m_parameter->SetDataType(Parameter::ObliqueAngle);        // NOXLATE
+        else if (::wcscmp(ch, MDF_STR("TrackSpacing")) == 0)        this->m_parameter->SetDataType(Parameter::TrackSpacing);        // NOXLATE
+        else if (::wcscmp(ch, MDF_STR("FontHeight")) == 0)          this->m_parameter->SetDataType(Parameter::FontHeight);          // NOXLATE
+        else if (::wcscmp(ch, MDF_STR("HorizontalAlignment")) == 0) this->m_parameter->SetDataType(Parameter::HorizontalAlignment); // NOXLATE
+        else if (::wcscmp(ch, MDF_STR("VerticalAlignment")) == 0)   this->m_parameter->SetDataType(Parameter::VerticalAlignment);   // NOXLATE
+        else if (::wcscmp(ch, MDF_STR("Justification")) == 0)       this->m_parameter->SetDataType(Parameter::Justification);       // NOXLATE
+        else if (::wcscmp(ch, MDF_STR("LineSpacing")) == 0)         this->m_parameter->SetDataType(Parameter::LineSpacing);         // NOXLATE
+        else if (::wcscmp(ch, MDF_STR("TextColor")) == 0)           this->m_parameter->SetDataType(Parameter::TextColor);           // NOXLATE
+        else if (::wcscmp(ch, MDF_STR("GhostColor")) == 0)          this->m_parameter->SetDataType(Parameter::GhostColor);          // NOXLATE
+        else if (::wcscmp(ch, MDF_STR("FrameLineColor")) == 0)      this->m_parameter->SetDataType(Parameter::FrameLineColor);      // NOXLATE
+        else if (::wcscmp(ch, MDF_STR("FrameFillColor")) == 0)      this->m_parameter->SetDataType(Parameter::FrameFillColor);      // NOXLATE
+        else if (::wcscmp(ch, MDF_STR("StartOffset")) == 0)         this->m_parameter->SetDataType(Parameter::StartOffset);         // NOXLATE
+        else if (::wcscmp(ch, MDF_STR("EndOffset")) == 0)           this->m_parameter->SetDataType(Parameter::EndOffset);           // NOXLATE
+        else if (::wcscmp(ch, MDF_STR("RepeatX")) == 0)             this->m_parameter->SetDataType(Parameter::RepeatX);             // NOXLATE
+        else if (::wcscmp(ch, MDF_STR("RepeatY")) == 0)             this->m_parameter->SetDataType(Parameter::RepeatY);             // NOXLATE
     }
 }
 
@@ -111,11 +111,11 @@
         this->m_parameterCollection->Adopt(this->m_parameter);
         this->m_parameterCollection = NULL;
         this->m_parameter = NULL;
-        this->m_startElemName = L"";
+        this->m_startElemName = MDF_STR("");
         handlerStack->pop();
         delete this;
     }
-    else if (::wcscmp(name, L"ExtendedData1") == 0) // NOXLATE
+    else if (::wcscmp(name, MDF_STR("ExtendedData1")) == 0) // NOXLATE
     {
         this->m_procExtData = false;
     }
@@ -131,8 +131,8 @@
 
     EMIT_STRING_PROPERTY(fd, parameter, Identifier, false, NULL, tab)
     EMIT_STRING_PROPERTY(fd, parameter, DefaultValue, false, NULL, tab)
-    EMIT_STRING_PROPERTY(fd, parameter, DisplayName, true, L"", tab)         // default is empty string
-    EMIT_STRING_PROPERTY(fd, parameter, Description, true, L"", tab)         // default is empty string
+    EMIT_STRING_PROPERTY(fd, parameter, DisplayName, true, MDF_STR(""), tab)         // default is empty string
+    EMIT_STRING_PROPERTY(fd, parameter, Description, true, MDF_STR(""), tab)         // default is empty string
 
     Parameter::DataType dataType = parameter->GetDataType();
     if (dataType != Parameter::String)

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOParameterCollection.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOParameterCollection.cpp	2019-02-05 15:26:24 UTC (rev 9476)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOParameterCollection.cpp	2019-02-05 15:58:21 UTC (rev 9477)
@@ -34,17 +34,17 @@
 void IOParameterCollection::StartElement(const wchar_t* name, HandlerStack* handlerStack)
 {
     this->m_currElemName = name;
-    if (this->m_currElemName == L"ParameterDefinition") // NOXLATE
+    if (this->m_currElemName == MDF_STR("ParameterDefinition")) // NOXLATE
     {
         this->m_startElemName = name;
     }
-    else if (this->m_currElemName == L"Parameter") // NOXLATE
+    else if (this->m_currElemName == MDF_STR("Parameter")) // NOXLATE
     {
         IOParameter* IO = new IOParameter(this->m_parameterCollection, this->m_version);
         handlerStack->push(IO);
         IO->StartElement(name, handlerStack);
     }
-    else if (this->m_currElemName == L"ExtendedData1") // NOXLATE
+    else if (this->m_currElemName == MDF_STR("ExtendedData1")) // NOXLATE
     {
         this->m_procExtData = true;
     }
@@ -67,11 +67,11 @@
         this->m_parameterCollection->SetUnknownXml(this->m_unknownXml);
 
         this->m_parameterCollection = NULL;
-        this->m_startElemName = L"";
+        this->m_startElemName = MDF_STR("");
         handlerStack->pop();
         delete this;
     }
-    else if (::wcscmp(name, L"ExtendedData1") == 0) // NOXLATE
+    else if (::wcscmp(name, MDF_STR("ExtendedData1")) == 0) // NOXLATE
     {
         this->m_procExtData = false;
     }

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOPath.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOPath.cpp	2019-02-05 15:26:24 UTC (rev 9476)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOPath.cpp	2019-02-05 15:58:21 UTC (rev 9477)
@@ -40,47 +40,47 @@
 void IOPath::StartElement(const wchar_t* name, HandlerStack* handlerStack)
 {
     this->m_currElemName = name;
-    if (this->m_currElemName == L"Geometry")
+    if (this->m_currElemName == MDF_STR("Geometry"))
     {
         // value read in ElementChars
     }
-    else if (this->m_currElemName == L"FillColor")
+    else if (this->m_currElemName == MDF_STR("FillColor"))
     {
         // value read in ElementChars
     }
-    else if (this->m_currElemName == L"LineColor")
+    else if (this->m_currElemName == MDF_STR("LineColor"))
     {
         // value read in ElementChars
     }
-    else if (this->m_currElemName == L"LineWeight")
+    else if (this->m_currElemName == MDF_STR("LineWeight"))
     {
         // value read in ElementChars
     }
-    else if (this->m_currElemName == L"LineWeightScalable")
+    else if (this->m_currElemName == MDF_STR("LineWeightScalable"))
     {
         // value read in ElementChars
     }
-    else if (this->m_currElemName == L"LineCap")
+    else if (this->m_currElemName == MDF_STR("LineCap"))
     {
         // value read in ElementChars
     }
-    else if (this->m_currElemName == L"LineJoin")
+    else if (this->m_currElemName == MDF_STR("LineJoin"))
     {
         // value read in ElementChars
     }
-    else if (this->m_currElemName == L"LineMiterLimit")
+    else if (this->m_currElemName == MDF_STR("LineMiterLimit"))
     {
         // value read in ElementChars
     }
-    else if (this->m_currElemName == L"ScaleX")
+    else if (this->m_currElemName == MDF_STR("ScaleX"))
     {
         // value read in ElementChars
     }
-    else if (this->m_currElemName == L"ScaleY")
+    else if (this->m_currElemName == MDF_STR("ScaleY"))
     {
         // value read in ElementChars
     }
-    else if (this->m_currElemName == L"ExtendedData1") // NOXLATE
+    else if (this->m_currElemName == MDF_STR("ExtendedData1")) // NOXLATE
     {
         this->m_procExtData = true;
     }
@@ -142,8 +142,8 @@
         tab.dectab();
     }
 
-    EMIT_STRING_PROPERTY(fd, path, FillColor, true, L"", tab)         // default is empty string
-    EMIT_STRING_PROPERTY(fd, path, LineColor, true, L"", tab)         // default is empty string
+    EMIT_STRING_PROPERTY(fd, path, FillColor, true, MDF_STR(""), tab)         // default is empty string
+    EMIT_STRING_PROPERTY(fd, path, LineColor, true, MDF_STR(""), tab)         // default is empty string
     EMIT_DOUBLE_PROPERTY(fd, path, LineWeight, true, 0.0, tab)        // default is 0.0
     EMIT_BOOL_PROPERTY(fd, path, LineWeightScalable, true, true, tab) // default is true
     EMIT_STRING_PROPERTY(fd, path, LineCap, true, Path::sLineCapDefault, tab)

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOPointRule.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOPointRule.cpp	2019-02-05 15:26:24 UTC (rev 9476)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOPointRule.cpp	2019-02-05 15:58:21 UTC (rev 9477)
@@ -116,7 +116,7 @@
         this->m_pointTypeStyle->GetRules()->Adopt(this->m_pointRule);
         this->m_pointTypeStyle = NULL;
         this->m_pointRule = NULL;
-        this->m_startElemName = L"";
+        this->m_startElemName = MDF_STR("");
         handlerStack->pop();
         delete this;
     }

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOPointSymbolization2D.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOPointSymbolization2D.cpp	2019-02-05 15:26:24 UTC (rev 9476)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOPointSymbolization2D.cpp	2019-02-05 15:58:21 UTC (rev 9477)
@@ -133,7 +133,7 @@
         }
 
         this->m_pointRule= NULL;
-        this->m_startElemName = L"";
+        this->m_startElemName = MDF_STR("");
         handlerStack->pop();
         delete this;
     }

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOPointTypeStyle.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOPointTypeStyle.cpp	2019-02-05 15:26:24 UTC (rev 9476)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOPointTypeStyle.cpp	2019-02-05 15:58:21 UTC (rev 9477)
@@ -111,7 +111,7 @@
         this->m_scaleRange->GetFeatureTypeStyles()->Adopt(this->m_pointTypeStyle);
         this->m_scaleRange = NULL;
         this->m_pointTypeStyle = NULL;
-        this->m_startElemName = L"";
+        this->m_startElemName = MDF_STR("");
         handlerStack->pop();
         delete this;
     }

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOPointUsage.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOPointUsage.cpp	2019-02-05 15:26:24 UTC (rev 9476)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOPointUsage.cpp	2019-02-05 15:58:21 UTC (rev 9477)
@@ -34,12 +34,12 @@
 void IOPointUsage::StartElement(const wchar_t* name, HandlerStack* handlerStack)
 {
     this->m_currElemName = name;
-    if (this->m_currElemName == L"PointUsage") // NOXLATE
+    if (this->m_currElemName == MDF_STR("PointUsage")) // NOXLATE
     {
         this->m_startElemName = name;
         this->m_pointUsage = new PointUsage();
     }
-    else if (this->m_currElemName == L"ExtendedData1") // NOXLATE
+    else if (this->m_currElemName == MDF_STR("ExtendedData1")) // NOXLATE
     {
         this->m_procExtData = true;
     }
@@ -68,11 +68,11 @@
         this->m_symbolDefinition->AdoptPointUsage(this->m_pointUsage);
         this->m_symbolDefinition = NULL;
         this->m_pointUsage = NULL;
-        this->m_startElemName = L"";
+        this->m_startElemName = MDF_STR("");
         handlerStack->pop();
         delete this;
     }
-    else if (::wcscmp(name, L"ExtendedData1") == 0) // NOXLATE
+    else if (::wcscmp(name, MDF_STR("ExtendedData1")) == 0) // NOXLATE
     {
         this->m_procExtData = false;
     }

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOProfileResult.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOProfileResult.cpp	2019-02-05 15:26:24 UTC (rev 9476)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOProfileResult.cpp	2019-02-05 15:58:21 UTC (rev 9477)
@@ -86,7 +86,7 @@
     else
     {
         // use the current highest version
-        strVersion = L"2.4.0"; // NOXLATE
+        strVersion = MDF_STR("2.4.0"); // NOXLATE
     }
 
     fd << tab.tab() << "<ProfileResult xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:noNamespaceSchemaLocation=\"ProfileResult-" << EncodeString(strVersion) << ".xsd\" version=\"" << EncodeString(strVersion) << "\">" << std::endl; // NOXLATE

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IORelateProperty.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IORelateProperty.cpp	2019-02-05 15:26:24 UTC (rev 9476)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IORelateProperty.cpp	2019-02-05 15:58:21 UTC (rev 9477)
@@ -102,7 +102,7 @@
 
         this->m_attributeRelate->GetRelateProperties()->Adopt(this->m_relateProperty);
         this->m_relateProperty = NULL;
-        this->m_startElemName = L"";
+        this->m_startElemName = MDF_STR("");
         handlerStack->pop();
         delete this;
     }

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOResizeBox.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOResizeBox.cpp	2019-02-05 15:26:24 UTC (rev 9476)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOResizeBox.cpp	2019-02-05 15:58:21 UTC (rev 9477)
@@ -39,12 +39,12 @@
 void IOResizeBox::StartElement(const wchar_t* name, HandlerStack* handlerStack)
 {
     this->m_currElemName = name;
-    if (this->m_currElemName == L"ResizeBox") // NOXLATE
+    if (this->m_currElemName == MDF_STR("ResizeBox")) // NOXLATE
     {
         this->m_startElemName = name;
         this->m_resizeBox = new ResizeBox();
     }
-    else if (this->m_currElemName == L"ExtendedData1") // NOXLATE
+    else if (this->m_currElemName == MDF_STR("ExtendedData1")) // NOXLATE
     {
         this->m_procExtData = true;
     }
@@ -74,11 +74,11 @@
         this->m_symbolDefinition->AdoptResizeBox(this->m_resizeBox);
         this->m_symbolDefinition = NULL;
         this->m_resizeBox = NULL;
-        this->m_startElemName = L"";
+        this->m_startElemName = MDF_STR("");
         handlerStack->pop();
         delete this;
     }
-    else if (::wcscmp(name, L"ExtendedData1") == 0) // NOXLATE
+    else if (::wcscmp(name, MDF_STR("ExtendedData1")) == 0) // NOXLATE
     {
         this->m_procExtData = false;
     }

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOResourceRef.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOResourceRef.cpp	2019-02-05 15:26:24 UTC (rev 9476)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOResourceRef.cpp	2019-02-05 15:58:21 UTC (rev 9477)
@@ -30,8 +30,8 @@
 IOResourceRef::IOResourceRef(std::wstring elementName, Version& version) : SAX2ElementHandler(version)
 {
     this->m_elementName = elementName;
-    this->m_resourceId = L"";
-    this->m_itemName = L"";
+    this->m_resourceId = MDF_STR("");
+    this->m_itemName = MDF_STR("");
 }
 
 
@@ -64,7 +64,7 @@
 {
     if (this->m_startElemName == name)
     {
-        this->m_startElemName = L"";
+        this->m_startElemName = MDF_STR("");
         handlerStack->pop();
     }
 }

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOSimpleSymbol.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOSimpleSymbol.cpp	2019-02-05 15:26:24 UTC (rev 9476)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOSimpleSymbol.cpp	2019-02-05 15:58:21 UTC (rev 9477)
@@ -35,12 +35,12 @@
 void IOSimpleSymbol::StartElement(const wchar_t* name, HandlerStack* handlerStack)
 {
     this->m_currElemName = name;
-    if (this->m_currElemName == L"SimpleSymbol") // NOXLATE
+    if (this->m_currElemName == MDF_STR("SimpleSymbol")) // NOXLATE
     {
         this->m_startElemName = name;
         this->m_simpleSymbol = new SimpleSymbol();
     }
-    else if (this->m_currElemName == L"SimpleSymbolDefinition") // NOXLATE
+    else if (this->m_currElemName == MDF_STR("SimpleSymbolDefinition")) // NOXLATE
     {
         SimpleSymbolDefinition* symbolDefinition = new SimpleSymbolDefinition();
         this->m_simpleSymbol->AdoptSymbolDefinition(symbolDefinition);
@@ -48,7 +48,7 @@
         handlerStack->push(IO);
         IO->StartElement(name, handlerStack);
     }
-    else if (this->m_currElemName == L"ExtendedData1") // NOXLATE
+    else if (this->m_currElemName == MDF_STR("ExtendedData1")) // NOXLATE
     {
         this->m_procExtData = true;
     }
@@ -75,11 +75,11 @@
         this->m_symbolCollection->Adopt(this->m_simpleSymbol);
         this->m_symbolCollection = NULL;
         this->m_simpleSymbol = NULL;
-        this->m_startElemName = L"";
+        this->m_startElemName = MDF_STR("");
         handlerStack->pop();
         delete this;
     }
-    else if (::wcscmp(name, L"ExtendedData1") == 0) // NOXLATE
+    else if (::wcscmp(name, MDF_STR("ExtendedData1")) == 0) // NOXLATE
     {
         this->m_procExtData = false;
     }

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOSimpleSymbolDefinition.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOSimpleSymbolDefinition.cpp	2019-02-05 15:26:24 UTC (rev 9476)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOSimpleSymbolDefinition.cpp	2019-02-05 15:58:21 UTC (rev 9477)
@@ -39,47 +39,47 @@
 void IOSimpleSymbolDefinition::StartElement(const wchar_t* name, HandlerStack* handlerStack)
 {
     this->m_currElemName = name;
-    if (this->m_currElemName == L"SimpleSymbolDefinition") // NOXLATE
+    if (this->m_currElemName == MDF_STR("SimpleSymbolDefinition")) // NOXLATE
     {
         this->m_startElemName = name;
     }
-    else if (this->m_currElemName == L"Graphics") // NOXLATE
+    else if (this->m_currElemName == MDF_STR("Graphics")) // NOXLATE
     {
         IOGraphicElementCollection* IO = new IOGraphicElementCollection(this->m_symbolDefinition->GetGraphics(), this->m_version);
         handlerStack->push(IO);
         IO->StartElement(name, handlerStack);
     }
-    else if (this->m_currElemName == L"ResizeBox") // NOXLATE
+    else if (this->m_currElemName == MDF_STR("ResizeBox")) // NOXLATE
     {
         IOResizeBox* IO = new IOResizeBox(this->m_symbolDefinition, this->m_version);
         handlerStack->push(IO);
         IO->StartElement(name, handlerStack);
     }
-    else if (this->m_currElemName == L"PointUsage") // NOXLATE
+    else if (this->m_currElemName == MDF_STR("PointUsage")) // NOXLATE
     {
         IOPointUsage* IO = new IOPointUsage(this->m_symbolDefinition, this->m_version);
         handlerStack->push(IO);
         IO->StartElement(name, handlerStack);
     }
-    else if (this->m_currElemName == L"LineUsage") // NOXLATE
+    else if (this->m_currElemName == MDF_STR("LineUsage")) // NOXLATE
     {
         IOLineUsage* IO = new IOLineUsage(this->m_symbolDefinition, this->m_version);
         handlerStack->push(IO);
         IO->StartElement(name, handlerStack);
     }
-    else if (this->m_currElemName == L"AreaUsage") // NOXLATE
+    else if (this->m_currElemName == MDF_STR("AreaUsage")) // NOXLATE
     {
         IOAreaUsage* IO = new IOAreaUsage(this->m_symbolDefinition, this->m_version);
         handlerStack->push(IO);
         IO->StartElement(name, handlerStack);
     }
-    else if (this->m_currElemName == L"ParameterDefinition") // NOXLATE
+    else if (this->m_currElemName == MDF_STR("ParameterDefinition")) // NOXLATE
     {
         IOParameterCollection* IO = new IOParameterCollection(this->m_symbolDefinition->GetParameterDefinition(), this->m_version);
         handlerStack->push(IO);
         IO->StartElement(name, handlerStack);
     }
-    else if (this->m_currElemName == L"ExtendedData1") // NOXLATE
+    else if (this->m_currElemName == MDF_STR("ExtendedData1")) // NOXLATE
     {
         this->m_procExtData = true;
     }
@@ -104,11 +104,11 @@
         this->m_symbolDefinition->SetUnknownXml(this->m_unknownXml);
 
         this->m_symbolDefinition = NULL;
-        this->m_startElemName = L"";
+        this->m_startElemName = MDF_STR("");
         handlerStack->pop();
         delete this;
     }
-    else if (::wcscmp(name, L"ExtendedData1") == 0) // NOXLATE
+    else if (::wcscmp(name, MDF_STR("ExtendedData1")) == 0) // NOXLATE
     {
         this->m_procExtData = false;
     }
@@ -139,7 +139,7 @@
         else
         {
             // use the current highest version
-            strVersion = L"2.4.0";
+            strVersion = MDF_STR("2.4.0");
         }
 
         fd << tab.tab() << "<SimpleSymbolDefinition xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:noNamespaceSchemaLocation=\"SymbolDefinition-" << EncodeString(strVersion) << ".xsd\" version=\"" << EncodeString(strVersion) << "\">" << std::endl; // NOXLATE
@@ -149,7 +149,7 @@
     tab.inctab();
 
     EMIT_STRING_PROPERTY(fd, symbolDefinition, Name, false, NULL, tab)
-    EMIT_STRING_PROPERTY(fd, symbolDefinition, Description, true, L"", tab) // default is empty string
+    EMIT_STRING_PROPERTY(fd, symbolDefinition, Description, true, MDF_STR(""), tab) // default is empty string
 
     IOGraphicElementCollection::Write(fd, symbolDefinition->GetGraphics(), version, tab);
 

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOStroke.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOStroke.cpp	2019-02-05 15:26:24 UTC (rev 9476)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOStroke.cpp	2019-02-05 15:58:21 UTC (rev 9477)
@@ -104,9 +104,9 @@
         break;
 
     case eSizeContext:
-        if (::wcscmp(ch, L"MappingUnits") == 0) // NOXLATE
+        if (::wcscmp(ch, MDF_STR("MappingUnits")) == 0) // NOXLATE
             this->m_stroke->SetSizeContext(MdfModel::MappingUnits);
-        else if (::wcscmp(ch, L"DeviceUnits") == 0) // NOXLATE
+        else if (::wcscmp(ch, MDF_STR("DeviceUnits")) == 0) // NOXLATE
             this->m_stroke->SetSizeContext(MdfModel::DeviceUnits);
         break;
     }
@@ -120,7 +120,7 @@
         this->m_stroke->SetUnknownXml(this->m_unknownXml);
 
         this->m_stroke = NULL;
-        this->m_startElemName = L"";
+        this->m_startElemName = MDF_STR("");
         handlerStack->pop();
         delete this;
     }

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOSupplementalSpatialContextInfo.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOSupplementalSpatialContextInfo.cpp	2019-02-05 15:26:24 UTC (rev 9476)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOSupplementalSpatialContextInfo.cpp	2019-02-05 15:58:21 UTC (rev 9477)
@@ -100,7 +100,7 @@
             this->m_featureSource->GetSupplementalSpatialContextInfo()->Adopt(this->m_ssContextInfo);
 
         this->m_ssContextInfo = NULL;
-        this->m_startElemName = L"";
+        this->m_startElemName = MDF_STR("");
         handlerStack->pop();
         delete this;
     }

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOSymbol.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOSymbol.cpp	2019-02-05 15:26:24 UTC (rev 9476)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOSymbol.cpp	2019-02-05 15:58:21 UTC (rev 9477)
@@ -31,29 +31,29 @@
 
 void IOSymbol::ElementChars(const wchar_t* ch)
 {
-    if (this->m_currElemName == L"Unit") // NOXLATE
+    if (this->m_currElemName == MDF_STR("Unit")) // NOXLATE
     {
         LengthUnit unit = LengthConverter::EnglishToUnit(ch);
         this->m_symbol->SetUnit(unit);
     }
-    else if (this->m_currElemName == L"SizeContext") // NOXLATE
+    else if (this->m_currElemName == MDF_STR("SizeContext")) // NOXLATE
     {
-        if (::wcscmp(ch, L"MappingUnits") == 0) // NOXLATE
+        if (::wcscmp(ch, MDF_STR("MappingUnits")) == 0) // NOXLATE
             this->m_symbol->SetSizeContext(MdfModel::MappingUnits);
-        else if (::wcscmp(ch, L"DeviceUnits") == 0) // NOXLATE
+        else if (::wcscmp(ch, MDF_STR("DeviceUnits")) == 0) // NOXLATE
             this->m_symbol->SetSizeContext(MdfModel::DeviceUnits);
     }
-    else if (this->m_currElemName == L"SizeX") // NOXLATE
+    else if (this->m_currElemName == MDF_STR("SizeX")) // NOXLATE
         this->m_symbol->SetSizeX(ch);
-    else if (this->m_currElemName == L"SizeY") // NOXLATE
+    else if (this->m_currElemName == MDF_STR("SizeY")) // NOXLATE
         this->m_symbol->SetSizeY(ch);
-    else if (this->m_currElemName == L"Rotation") // NOXLATE
+    else if (this->m_currElemName == MDF_STR("Rotation")) // NOXLATE
         this->m_symbol->SetRotation(ch);
-    else if (this->m_currElemName == L"MaintainAspect") // NOXLATE
+    else if (this->m_currElemName == MDF_STR("MaintainAspect")) // NOXLATE
         this->m_symbol->SetMaintainAspect(wstrToBool(ch));
-    else if (this->m_currElemName == L"InsertionPointX") // NOXLATE
+    else if (this->m_currElemName == MDF_STR("InsertionPointX")) // NOXLATE
         this->m_symbol->SetInsertionPointX(ch);
-    else if (this->m_currElemName == L"InsertionPointY") // NOXLATE
+    else if (this->m_currElemName == MDF_STR("InsertionPointY")) // NOXLATE
         this->m_symbol->SetInsertionPointY(ch);
 }
 

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOSymbolInstance.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOSymbolInstance.cpp	2019-02-05 15:26:24 UTC (rev 9476)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOSymbolInstance.cpp	2019-02-05 15:58:21 UTC (rev 9477)
@@ -36,12 +36,12 @@
 void IOSymbolInstance::StartElement(const wchar_t* name, HandlerStack* handlerStack)
 {
     this->m_currElemName = name;
-    if (this->m_currElemName == L"SymbolInstance") // NOXLATE
+    if (this->m_currElemName == MDF_STR("SymbolInstance")) // NOXLATE
     {
         this->m_startElemName = name;
         this->m_symbolInstance = new SymbolInstance();
     }
-    else if (this->m_currElemName == L"SimpleSymbolDefinition") // NOXLATE
+    else if (this->m_currElemName == MDF_STR("SimpleSymbolDefinition")) // NOXLATE
     {
         Version sdVersion;
         if (!IOSymbolInstance::GetSymbolDefinitionVersion(&this->m_version, sdVersion))
@@ -53,7 +53,7 @@
         handlerStack->push(IO);
         IO->StartElement(name, handlerStack);
     }
-    else if (this->m_currElemName == L"CompoundSymbolDefinition") // NOXLATE
+    else if (this->m_currElemName == MDF_STR("CompoundSymbolDefinition")) // NOXLATE
     {
         Version sdVersion;
         if (!IOSymbolInstance::GetSymbolDefinitionVersion(&this->m_version, sdVersion))
@@ -65,25 +65,25 @@
         handlerStack->push(IO);
         IO->StartElement(name, handlerStack);
     }
-    else if (this->m_currElemName == L"ParameterOverrides") // NOXLATE
+    else if (this->m_currElemName == MDF_STR("ParameterOverrides")) // NOXLATE
     {
         IOOverrideCollection* IO = new IOOverrideCollection(this->m_symbolInstance->GetParameterOverrides(), this->m_version);
         handlerStack->push(IO);
         IO->StartElement(name, handlerStack);
     }
-    else if (this->m_currElemName == L"RenderingPass") // NOXLATE
+    else if (this->m_currElemName == MDF_STR("RenderingPass")) // NOXLATE
     {
         // value read in ElementChars
     }
-    else if (this->m_currElemName == L"UsageContext") // NOXLATE
+    else if (this->m_currElemName == MDF_STR("UsageContext")) // NOXLATE
     {
         // value read in ElementChars
     }
-    else if (this->m_currElemName == L"GeometryContext") // NOXLATE
+    else if (this->m_currElemName == MDF_STR("GeometryContext")) // NOXLATE
     {
         // value read in ElementChars
     }
-    else if (this->m_currElemName == L"ExtendedData1") // NOXLATE
+    else if (this->m_currElemName == MDF_STR("ExtendedData1")) // NOXLATE
     {
         this->m_procExtData = true;
     }
@@ -107,24 +107,24 @@
     else IF_STRING_PROPERTY(this->m_currElemName, this->m_symbolInstance, AddToExclusionRegion, ch)
     else IF_STRING_PROPERTY(this->m_currElemName, this->m_symbolInstance, PositioningAlgorithm, ch)
     else IF_STRING_PROPERTY(this->m_currElemName, this->m_symbolInstance, RenderingPass, ch)
-    else if (this->m_currElemName == L"UsageContext")       // NOXLATE
+    else if (this->m_currElemName == MDF_STR("UsageContext"))       // NOXLATE
     {
-        if (::wcscmp(ch, L"Point") == 0)                    // NOXLATE
+        if (::wcscmp(ch, MDF_STR("Point")) == 0)                    // NOXLATE
             this->m_symbolInstance->SetUsageContext(SymbolInstance::ucPoint);
-        else if (::wcscmp(ch, L"Line") == 0)                // NOXLATE
+        else if (::wcscmp(ch, MDF_STR("Line")) == 0)                // NOXLATE
             this->m_symbolInstance->SetUsageContext(SymbolInstance::ucLine);
-        else if (::wcscmp(ch, L"Area") == 0)                // NOXLATE
+        else if (::wcscmp(ch, MDF_STR("Area")) == 0)                // NOXLATE
             this->m_symbolInstance->SetUsageContext(SymbolInstance::ucArea);
         else
             this->m_symbolInstance->SetUsageContext(SymbolInstance::ucUnspecified);
     }
-    else if (this->m_currElemName == L"GeometryContext")    // NOXLATE
+    else if (this->m_currElemName == MDF_STR("GeometryContext"))    // NOXLATE
     {
-        if (::wcscmp(ch, L"Point") == 0)                    // NOXLATE
+        if (::wcscmp(ch, MDF_STR("Point")) == 0)                    // NOXLATE
             this->m_symbolInstance->SetGeometryContext(SymbolInstance::gcPoint);
-        else if (::wcscmp(ch, L"LineString") == 0)          // NOXLATE
+        else if (::wcscmp(ch, MDF_STR("LineString")) == 0)          // NOXLATE
             this->m_symbolInstance->SetGeometryContext(SymbolInstance::gcLineString);
-        else if (::wcscmp(ch, L"Polygon") == 0)             // NOXLATE
+        else if (::wcscmp(ch, MDF_STR("Polygon")) == 0)             // NOXLATE
             this->m_symbolInstance->SetGeometryContext(SymbolInstance::gcPolygon);
         else
             this->m_symbolInstance->SetGeometryContext(SymbolInstance::gcUnspecified);
@@ -141,11 +141,11 @@
         this->m_symbolInstanceCollection->Adopt(this->m_symbolInstance);
         this->m_symbolInstanceCollection = NULL;
         this->m_symbolInstance = NULL;
-        this->m_startElemName = L"";
+        this->m_startElemName = MDF_STR("");
         handlerStack->pop();
         delete this;
     }
-    else if (::wcscmp(name, L"ExtendedData1") == 0) // NOXLATE
+    else if (::wcscmp(name, MDF_STR("ExtendedData1")) == 0) // NOXLATE
     {
         this->m_procExtData = false;
     }

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOText.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOText.cpp	2019-02-05 15:26:24 UTC (rev 9476)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOText.cpp	2019-02-05 15:58:21 UTC (rev 9477)
@@ -41,7 +41,7 @@
 void IOText::StartElement(const wchar_t* name, HandlerStack* handlerStack)
 {
     this->m_currElemName = name;
-    if (this->m_currElemName == L"Frame") // NOXLATE
+    if (this->m_currElemName == MDF_STR("Frame")) // NOXLATE
     {
         Text* text = static_cast<Text*>(this->m_element);
         IOTextFrame* IO = new IOTextFrame(text, this->m_version);
@@ -48,23 +48,23 @@
         handlerStack->push(IO);
         IO->StartElement(name, handlerStack);
     }
-    else if (this->m_currElemName == L"Overlined") // NOXLATE
+    else if (this->m_currElemName == MDF_STR("Overlined")) // NOXLATE
     {
         // value read in ElementChars
     }
-    else if (this->m_currElemName == L"ObliqueAngle") // NOXLATE
+    else if (this->m_currElemName == MDF_STR("ObliqueAngle")) // NOXLATE
     {
         // value read in ElementChars
     }
-    else if (this->m_currElemName == L"TrackSpacing") // NOXLATE
+    else if (this->m_currElemName == MDF_STR("TrackSpacing")) // NOXLATE
     {
         // value read in ElementChars
     }
-    else if (this->m_currElemName == L"Markup") // NOXLATE
+    else if (this->m_currElemName == MDF_STR("Markup")) // NOXLATE
     {
         // value read in ElementChars
     }
-    else if (this->m_currElemName == L"ExtendedData1") // NOXLATE
+    else if (this->m_currElemName == MDF_STR("ExtendedData1")) // NOXLATE
     {
         this->m_procExtData = true;
     }
@@ -145,8 +145,8 @@
     EMIT_STRING_PROPERTY(fd, text, VerticalAlignment, true, Text::sVAlignmentDefault, tab)
     EMIT_STRING_PROPERTY(fd, text, Justification, true, Text::sJustificationDefault, tab)
     EMIT_DOUBLE_PROPERTY(fd, text, LineSpacing, true, 1.05, tab)                   // default is 1.05
-    EMIT_STRING_PROPERTY(fd, text, TextColor, true, L"ff000000", tab)              // default is ff000000
-    EMIT_STRING_PROPERTY(fd, text, GhostColor, true, L"", tab)                     // default is empty string
+    EMIT_STRING_PROPERTY(fd, text, TextColor, true, MDF_STR("ff000000"), tab)              // default is ff000000
+    EMIT_STRING_PROPERTY(fd, text, GhostColor, true, MDF_STR(""), tab)                     // default is empty string
 
     if (text->GetFrame())
         IOTextFrame::Write(fd, text->GetFrame(), version, tab);

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOTextFrame.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOTextFrame.cpp	2019-02-05 15:26:24 UTC (rev 9476)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOTextFrame.cpp	2019-02-05 15:58:21 UTC (rev 9477)
@@ -39,12 +39,12 @@
 void IOTextFrame::StartElement(const wchar_t* name, HandlerStack* handlerStack)
 {
     this->m_currElemName = name;
-    if (this->m_currElemName == L"Frame") // NOXLATE
+    if (this->m_currElemName == MDF_STR("Frame")) // NOXLATE
     {
         this->m_startElemName = name;
         this->m_textFrame = new TextFrame();
     }
-    else if (this->m_currElemName == L"ExtendedData1") // NOXLATE
+    else if (this->m_currElemName == MDF_STR("ExtendedData1")) // NOXLATE
     {
         this->m_procExtData = true;
     }
@@ -73,11 +73,11 @@
         this->m_text->AdoptFrame(this->m_textFrame);
         this->m_text = NULL;
         this->m_textFrame = NULL;
-        this->m_startElemName = L"";
+        this->m_startElemName = MDF_STR("");
         handlerStack->pop();
         delete this;
     }
-    else if (::wcscmp(name, L"ExtendedData1") == 0) // NOXLATE
+    else if (::wcscmp(name, MDF_STR("ExtendedData1")) == 0) // NOXLATE
     {
         this->m_procExtData = false;
     }
@@ -89,8 +89,8 @@
     fd << tab.tab() << "<Frame>" << std::endl; // NOXLATE
     tab.inctab();
 
-    EMIT_STRING_PROPERTY(fd, textFrame, LineColor, true, L"", tab)   // empty string is default
-    EMIT_STRING_PROPERTY(fd, textFrame, FillColor, true, L"", tab)   // empty string is default
+    EMIT_STRING_PROPERTY(fd, textFrame, LineColor, true, MDF_STR(""), tab)   // empty string is default
+    EMIT_STRING_PROPERTY(fd, textFrame, FillColor, true, MDF_STR(""), tab)   // empty string is default
     EMIT_DOUBLE_PROPERTY(fd, textFrame, OffsetX, true, 0.0, tab)     // 0.0 is default
     EMIT_DOUBLE_PROPERTY(fd, textFrame, OffsetY, true, 0.0, tab)     // 0.0 is default
 

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOThemeLabel.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOThemeLabel.cpp	2019-02-05 15:26:24 UTC (rev 9476)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOThemeLabel.cpp	2019-02-05 15:58:21 UTC (rev 9477)
@@ -39,12 +39,12 @@
 void IOThemeLabel::StartElement(const wchar_t* name, HandlerStack* handlerStack)
 {
     this->m_currElemName = name;
-    if (this->m_currElemName == L"ThemeLabel") // NOXLATE
+    if (this->m_currElemName == MDF_STR("ThemeLabel")) // NOXLATE
     {
         this->m_startElemName = name;
         this->m_themeLabel = new ThemeLabel();
     }
-    else if (this->m_currElemName == L"ExtendedData1") // NOXLATE
+    else if (this->m_currElemName == MDF_STR("ExtendedData1")) // NOXLATE
     {
         this->m_procExtData = true;
     }
@@ -71,11 +71,11 @@
         this->m_override->AdoptThemeLabel(this->m_themeLabel);
         this->m_override = NULL;
         this->m_themeLabel = NULL;
-        this->m_startElemName = L"";
+        this->m_startElemName = MDF_STR("");
         handlerStack->pop();
         delete this;
     }
-    else if (::wcscmp(name, L"ExtendedData1") == 0) // NOXLATE
+    else if (::wcscmp(name, MDF_STR("ExtendedData1")) == 0) // NOXLATE
     {
         this->m_procExtData = false;
     }

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOTileSetDefinition.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOTileSetDefinition.cpp	2019-02-05 15:26:24 UTC (rev 9476)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOTileSetDefinition.cpp	2019-02-05 15:58:21 UTC (rev 9477)
@@ -109,7 +109,7 @@
     if (this->m_startElemName == name)
     {
         this->m_tileset = NULL;
-        this->m_startElemName = L"";
+        this->m_startElemName = MDF_STR("");
         handlerStack->pop();
         delete this;
     }
@@ -137,7 +137,7 @@
     else
     {
         // use the current highest version
-        strVersion = L"3.0.0";
+        strVersion = MDF_STR("3.0.0");
     }
 
     fd << tab.tab() << "<TileSetDefinition xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:noNamespaceSchemaLocation=\"TileSetDefinition-" << EncodeString(strVersion) << ".xsd\" version=\"" << EncodeString(strVersion) << "\">" << std::endl; // NOXLATE

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOTileSetSource.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOTileSetSource.cpp	2019-02-05 15:26:24 UTC (rev 9476)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOTileSetSource.cpp	2019-02-05 15:58:21 UTC (rev 9477)
@@ -40,7 +40,7 @@
 void IOTileSetSource::StartElement(const wchar_t* name, HandlerStack* handlerStack)
 {
     this->m_currElemName = name;
-    if (this->m_currElemName == L"TileSetSource") // NOXLATE
+    if (this->m_currElemName == MDF_STR("TileSetSource")) // NOXLATE
     {
         this->m_startElemName = name;
     }
@@ -48,7 +48,7 @@
 
 void IOTileSetSource::ElementChars(const wchar_t* ch)
 {
-    if (this->m_currElemName == L"ResourceId") // NOXLATE
+    if (this->m_currElemName == MDF_STR("ResourceId")) // NOXLATE
     {
         this->m_source->SetResourceId(ch);
     }
@@ -59,7 +59,7 @@
     if (this->m_startElemName == name)
     {
         this->m_source = NULL;
-        this->m_startElemName = L"";
+        this->m_startElemName = MDF_STR("");
         handlerStack->pop();
         delete this;
     }

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOTileStoreParameters.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOTileStoreParameters.cpp	2019-02-05 15:26:24 UTC (rev 9476)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOTileStoreParameters.cpp	2019-02-05 15:58:21 UTC (rev 9477)
@@ -41,13 +41,13 @@
 void IOTileStoreParameters::StartElement(const wchar_t* name, HandlerStack* handlerStack)
 {
     this->m_currElemName = name;
-    if (this->m_currElemName == L"TileStoreParameters") // NOXLATE
+    if (this->m_currElemName == MDF_STR("TileStoreParameters")) // NOXLATE
     {
         this->m_startElemName = name;
     }
     else
     {
-        if (this->m_currElemName == L"Parameter")
+        if (this->m_currElemName == MDF_STR("Parameter"))
         {
             IONameStringPair* IO = new IONameStringPair(this->m_params, this->m_version);
             handlerStack->push(IO);
@@ -58,7 +58,7 @@
 
 void IOTileStoreParameters::ElementChars(const wchar_t* ch)
 {
-    if (this->m_currElemName == L"TileProvider") // NOXLATE
+    if (this->m_currElemName == MDF_STR("TileProvider")) // NOXLATE
     {
         this->m_params->SetTileProvider(ch);
     }
@@ -69,7 +69,7 @@
     if (this->m_startElemName == name)
     {
         this->m_params = NULL;
-        this->m_startElemName = L"";
+        this->m_startElemName = MDF_STR("");
         handlerStack->pop();
         delete this;
     }

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOTileWatermarkPosition.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOTileWatermarkPosition.cpp	2019-02-05 15:26:24 UTC (rev 9476)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOTileWatermarkPosition.cpp	2019-02-05 15:58:21 UTC (rev 9477)
@@ -109,7 +109,7 @@
         this->m_position->SetUnknownXml(this->m_unknownXml);
 
         this->m_position = NULL;
-        this->m_startElemName = L"";
+        this->m_startElemName = MDF_STR("");
         handlerStack->pop();
         delete this;
     }

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOURLData.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOURLData.cpp	2019-02-05 15:26:24 UTC (rev 9476)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOURLData.cpp	2019-02-05 15:58:21 UTC (rev 9477)
@@ -109,7 +109,7 @@
         this->m_vectorLayerDef->AdoptUrlData(this->m_urlData);
         this->m_vectorLayerDef = NULL;
         this->m_urlData = NULL;
-        this->m_startElemName = L"";
+        this->m_startElemName = MDF_STR("");
         handlerStack->pop();
         delete this;
     }

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOUnknown.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOUnknown.cpp	2019-02-05 15:26:24 UTC (rev 9476)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOUnknown.cpp	2019-02-05 15:58:21 UTC (rev 9477)
@@ -54,7 +54,7 @@
     // - we previously just ended an element
     // - this is a level-0 element being added to a non-empty unknown XML string
     if (this->m_nesting_level > 0 || this->m_endedElement || (this->m_nesting_level == 0 && this->m_xml->length() > 0))
-        this->m_xml->append(L"\n");
+        this->m_xml->append(MDF_STR("\n"));
 
     if (this->m_nesting_level > 0)
     {
@@ -64,9 +64,9 @@
         this->m_xml->append(wtt);
     }
 
-    this->m_xml->append(L"<"); // NOXLATE
+    this->m_xml->append(MDF_STR("<")); // NOXLATE
     this->m_xml->append(name);
-    this->m_xml->append(L">"); // NOXLATE
+    this->m_xml->append(MDF_STR(">")); // NOXLATE
 
     this->m_endedElement = false;
 }
@@ -84,7 +84,7 @@
     if (this->m_endedElement)
     {
         // we're ending multiple elements in a row - we need a newline
-        this->m_xml->append(L"\n");
+        this->m_xml->append(MDF_STR("\n"));
 
         if (this->m_nesting_level > 0)
         {
@@ -95,9 +95,9 @@
         }
     }
 
-    this->m_xml->append(L"</"); // NOXLATE
+    this->m_xml->append(MDF_STR("</")); // NOXLATE
     this->m_xml->append(name);
-    this->m_xml->append(L">"); // NOXLATE
+    this->m_xml->append(MDF_STR(">")); // NOXLATE
     this->m_endedElement = true;
 
     // we may encounter nested extended data elements, hence the level check
@@ -181,21 +181,21 @@
     std::wstring copy(unkData);
 
     // append a newline at the end if there isn't one
-    size_t i1 = copy.find_last_of(L"\n");
+    size_t i1 = copy.find_last_of(MDF_STR("\n"));
     size_t i2 = copy.length()-1;
     if (i1 != i2)
-        copy.append(L"\n");
+        copy.append(MDF_STR("\n"));
 
     std::wstring newData;
 
     size_t start_pos = 0;
-    size_t end_pos = copy.find_first_of(L"\n", start_pos);
+    size_t end_pos = copy.find_first_of(MDF_STR("\n"), start_pos);
     while (end_pos != std::wstring::npos)
     {
         newData.append(tabstr);
         newData.append(copy, start_pos, end_pos + 1 - start_pos);
         start_pos = end_pos + 1;
-        end_pos = copy.find_first_of(L"\n", start_pos);
+        end_pos = copy.find_first_of(MDF_STR("\n"), start_pos);
     }
 
     fd << toCString(newData);

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOUtil.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOUtil.cpp	2019-02-05 15:26:24 UTC (rev 9476)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOUtil.cpp	2019-02-05 15:58:21 UTC (rev 9477)
@@ -79,7 +79,7 @@
 
 bool wstrToBool(const wchar_t* ch)
 {
-    return (_wcsnicmp(ch, L"true", 5) == 0);
+    return (_wcsnicmp(ch, MDF_STR("true"), 5) == 0);
 }
 
 
@@ -112,13 +112,13 @@
 
     const wchar_t* cstr = str.c_str();
 
-    if (_wcsnicmp(cstr, L"true", 5) == 0)
+    if (_wcsnicmp(cstr, MDF_STR("true"), 5) == 0)
     {
         result = true;
         return true;
     }
 
-    if (_wcsnicmp(cstr, L"false", 6) == 0)
+    if (_wcsnicmp(cstr, MDF_STR("false"), 6) == 0)
     {
         result = false;
         return true;
@@ -137,7 +137,7 @@
 
     const wchar_t* cstr = str.c_str();
     size_t chars = 0;
-    int ret = swscanf(cstr, L"%lf%n", &result, &chars);
+    int ret = swscanf(cstr, MDF_STR("%lf%n"), &result, &chars);
     if (ret == 1 && chars == len)
         return true;
 
@@ -154,7 +154,7 @@
 
     const wchar_t* cstr = str.c_str();
     size_t chars = 0;
-    int ret = swscanf(cstr, L"%d%n", &result, &chars);
+    int ret = swscanf(cstr, MDF_STR("%d%n"), &result, &chars);
     if (ret == 1 && chars == len)
         return true;
 

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOVectorLayerDefinition.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOVectorLayerDefinition.cpp	2019-02-05 15:26:24 UTC (rev 9476)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOVectorLayerDefinition.cpp	2019-02-05 15:58:21 UTC (rev 9477)
@@ -79,7 +79,7 @@
             if (!IOVectorLayerDefinition::GetWatermarkDefinitionVersion(&this->m_version, wdVersion))
                 return;
 
-            WatermarkInstance* watermark = new WatermarkInstance(L"", L"");
+            WatermarkInstance* watermark = new WatermarkInstance(MDF_STR(""), MDF_STR(""));
             this->m_layer->GetWatermarks()->Adopt(watermark);
             IOWatermarkInstance* IO = new IOWatermarkInstance(watermark, wdVersion);
             handlerStack->push(IO);
@@ -139,9 +139,9 @@
         break;
 
     case eFeatureNameType:
-        if (::wcscmp(ch, L"FeatureClass") == 0) // NOXLATE
+        if (::wcscmp(ch, MDF_STR("FeatureClass")) == 0) // NOXLATE
             this->m_layer->SetFeatureNameType(VectorLayerDefinition::FeatureClass);
-        else if (::wcscmp(ch, L"NamedExtension") == 0) // NOXLATE
+        else if (::wcscmp(ch, MDF_STR("NamedExtension")) == 0) // NOXLATE
             this->m_layer->SetFeatureNameType(VectorLayerDefinition::NamedExtension);
         break;
 
@@ -181,7 +181,7 @@
         this->m_layer->SetUnknownXml(this->m_unknownXml);
 
         this->m_layer = NULL;
-        this->m_startElemName = L"";
+        this->m_startElemName = MDF_STR("");
         handlerStack->pop();
         delete this;
     }
@@ -216,7 +216,7 @@
         if (*version == Version(0, 9, 0))
         {
             // LDF in MapGuide 2006
-            strVersion = L"1.0.0";
+            strVersion = MDF_STR("1.0.0");
         }
         else if ((*version >= Version(1, 0, 0)) && (*version <= Version(2, 4, 0)))
         {
@@ -234,7 +234,7 @@
     else
     {
         // use the current highest version
-        strVersion = L"2.4.0";
+        strVersion = MDF_STR("2.4.0");
     }
 
     fd << tab.tab() << "<LayerDefinition xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:noNamespaceSchemaLocation=\"LayerDefinition-" << EncodeString(strVersion) << ".xsd\" version=\"" << EncodeString(strVersion) << "\">" << std::endl; // NOXLATE

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOVectorScaleRange.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOVectorScaleRange.cpp	2019-02-05 15:26:24 UTC (rev 9476)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOVectorScaleRange.cpp	2019-02-05 15:58:21 UTC (rev 9477)
@@ -146,7 +146,7 @@
         this->m_layer->GetScaleRanges()->Adopt(this->m_scaleRange);
         this->m_layer = NULL;
         this->m_scaleRange = NULL;
-        this->m_startElemName = L"";
+        this->m_startElemName = MDF_STR("");
         handlerStack->pop();
         delete this;
     }

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOW2DSymbol.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOW2DSymbol.cpp	2019-02-05 15:26:24 UTC (rev 9476)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOW2DSymbol.cpp	2019-02-05 15:58:21 UTC (rev 9477)
@@ -60,7 +60,7 @@
     {
     case eW2D:
         this->m_startElemName = name;
-        this->m_symbol = new W2DSymbol(L"", L"");
+        this->m_symbol = new W2DSymbol(MDF_STR(""), MDF_STR(""));
         break;
 
     case eW2DSymbol:
@@ -125,7 +125,7 @@
             this->m_ioResourceRef = NULL;
         }
 
-        this->m_startElemName = L"";
+        this->m_startElemName = MDF_STR("");
         handlerStack->pop();
     }
     else if (eExtendedData1 == _ElementIdFromName(name))

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOWatermarkAppearance.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOWatermarkAppearance.cpp	2019-02-05 15:26:24 UTC (rev 9476)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOWatermarkAppearance.cpp	2019-02-05 15:58:21 UTC (rev 9477)
@@ -90,7 +90,7 @@
         this->m_appearance->SetUnknownXml(this->m_unknownXml);
 
         this->m_appearance = NULL;
-        this->m_startElemName = L"";
+        this->m_startElemName = MDF_STR("");
         handlerStack->pop();
         delete this;
     }

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOWatermarkDefinition.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOWatermarkDefinition.cpp	2019-02-05 15:26:24 UTC (rev 9476)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOWatermarkDefinition.cpp	2019-02-05 15:58:21 UTC (rev 9477)
@@ -149,7 +149,7 @@
         this->m_watermark->SetUnknownXml(this->m_unknownXml);
 
         this->m_watermark = NULL;
-        this->m_startElemName = L"";
+        this->m_startElemName = MDF_STR("");
         handlerStack->pop();
         delete this;
     }
@@ -197,7 +197,7 @@
     else
     {
         // use the current highest version
-        strVersion = L"2.4.0";
+        strVersion = MDF_STR("2.4.0");
     }
 
     fd << tab.tab() << "<WatermarkDefinition xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:noNamespaceSchemaLocation=\"WatermarkDefinition-" << EncodeString(strVersion) << ".xsd\" version=\"" << EncodeString(strVersion) << "\">" << std::endl; // NOXLATE

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOWatermarkInstance.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOWatermarkInstance.cpp	2019-02-05 15:26:24 UTC (rev 9476)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOWatermarkInstance.cpp	2019-02-05 15:58:21 UTC (rev 9477)
@@ -120,9 +120,9 @@
         break;
 
     case eUsage:
-        if (::wcscmp(ch, L"WMS") == 0) // NOXLATE
+        if (::wcscmp(ch, MDF_STR("WMS")) == 0) // NOXLATE
             this->m_watermark->SetUsage(WatermarkInstance::WMS);
-        else if (::wcscmp(ch, L"Viewer") == 0) // NOXLATE
+        else if (::wcscmp(ch, MDF_STR("Viewer")) == 0) // NOXLATE
             this->m_watermark->SetUsage(WatermarkInstance::Viewer);
         else
             this->m_watermark->SetUsage(WatermarkInstance::All); // treat as "All" if string is incorrect
@@ -138,7 +138,7 @@
         this->m_watermark->SetUnknownXml(this->m_unknownXml);
 
         this->m_watermark = NULL;
-        this->m_startElemName = L"";
+        this->m_startElemName = MDF_STR("");
         handlerStack->pop();
         delete this;
     }

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOWatermarkOffsetUnit.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOWatermarkOffsetUnit.cpp	2019-02-05 15:26:24 UTC (rev 9476)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOWatermarkOffsetUnit.cpp	2019-02-05 15:58:21 UTC (rev 9477)
@@ -25,13 +25,13 @@
 
 WatermarkOffset::WatermarkOffsetUnit IOWatermarkOffsetUnit::ParseWatermarkOffsetUnit(const wchar_t* ch)
 {
-    if (::wcscmp(ch, L"Inches") == 0) // NOXLATE
+    if (::wcscmp(ch, MDF_STR("Inches")) == 0) // NOXLATE
         return WatermarkOffset::Inches;
-    else if (::wcscmp(ch, L"Centimeters") == 0) // NOXLATE
+    else if (::wcscmp(ch, MDF_STR("Centimeters")) == 0) // NOXLATE
         return WatermarkOffset::Centimeters;
-    else if (::wcscmp(ch, L"Millimeters") == 0) // NOXLATE
+    else if (::wcscmp(ch, MDF_STR("Millimeters")) == 0) // NOXLATE
         return WatermarkOffset::Millimeters;
-    else if (::wcscmp(ch, L"Points") == 0) // NOXLATE
+    else if (::wcscmp(ch, MDF_STR("Points")) == 0) // NOXLATE
         return WatermarkOffset::Points;
     else // treat as "Pixels" if string is incorrect
         return WatermarkOffset::Pixels;

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOWatermarkXOffset.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOWatermarkXOffset.cpp	2019-02-05 15:26:24 UTC (rev 9476)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOWatermarkXOffset.cpp	2019-02-05 15:58:21 UTC (rev 9477)
@@ -83,9 +83,9 @@
         break;
 
     case eAlignment:
-        if (::wcscmp(ch, L"Left") == 0) // NOXLATE
+        if (::wcscmp(ch, MDF_STR("Left")) == 0) // NOXLATE
             this->m_XOffset->SetAlignment(WatermarkXOffset::Left);
-        else if (::wcscmp(ch, L"Right") == 0) // NOXLATE
+        else if (::wcscmp(ch, MDF_STR("Right")) == 0) // NOXLATE
             this->m_XOffset->SetAlignment(WatermarkXOffset::Right);
         else
             this->m_XOffset->SetAlignment(WatermarkXOffset::Center); // treat as "Center" if string is incorrect
@@ -101,7 +101,7 @@
         this->m_XOffset->SetUnknownXml(this->m_unknownXml);
 
         this->m_XOffset = NULL;
-        this->m_startElemName = L"";
+        this->m_startElemName = MDF_STR("");
         handlerStack->pop();
         delete this;
     }

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOWatermarkYOffset.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOWatermarkYOffset.cpp	2019-02-05 15:26:24 UTC (rev 9476)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOWatermarkYOffset.cpp	2019-02-05 15:58:21 UTC (rev 9477)
@@ -83,9 +83,9 @@
         break;
 
     case eAlignment:
-        if (::wcscmp(ch, L"Top") == 0) // NOXLATE
+        if (::wcscmp(ch, MDF_STR("Top")) == 0) // NOXLATE
             this->m_YOffset->SetAlignment(WatermarkYOffset::Top);
-        else if (::wcscmp(ch, L"Bottom") == 0) // NOXLATE
+        else if (::wcscmp(ch, MDF_STR("Bottom")) == 0) // NOXLATE
             this->m_YOffset->SetAlignment(WatermarkYOffset::Bottom);
         else
             this->m_YOffset->SetAlignment(WatermarkYOffset::Center); // treat as "Center" if string is incorrect
@@ -101,7 +101,7 @@
         this->m_YOffset->SetUnknownXml(this->m_unknownXml);
 
         this->m_YOffset = NULL;
-        this->m_startElemName = L"";
+        this->m_startElemName = MDF_STR("");
         handlerStack->pop();
         delete this;
     }

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOXYWatermarkPosition.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOXYWatermarkPosition.cpp	2019-02-05 15:26:24 UTC (rev 9476)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOXYWatermarkPosition.cpp	2019-02-05 15:58:21 UTC (rev 9477)
@@ -97,7 +97,7 @@
         this->m_position->SetUnknownXml(this->m_unknownXml);
 
         this->m_position = NULL;
-        this->m_startElemName = L"";
+        this->m_startElemName = MDF_STR("");
         handlerStack->pop();
         delete this;
     }

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/PrintLayout/IODataConfiguration.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/PrintLayout/IODataConfiguration.cpp	2019-02-05 15:26:24 UTC (rev 9476)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/PrintLayout/IODataConfiguration.cpp	2019-02-05 15:58:21 UTC (rev 9477)
@@ -100,7 +100,7 @@
     {
         m_dataConf->SetUnknownXml(m_unknownXml);
 
-        m_startElemName = L"";
+        m_startElemName = MDF_STR("");
         handlerStack->pop();
         delete this;
     }

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/PrintLayout/IOMapView.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/PrintLayout/IOMapView.cpp	2019-02-05 15:26:24 UTC (rev 9476)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/PrintLayout/IOMapView.cpp	2019-02-05 15:58:21 UTC (rev 9477)
@@ -105,7 +105,7 @@
     {
         m_mapView->SetUnknownXml(m_unknownXml);
 
-        m_startElemName = L"";
+        m_startElemName = MDF_STR("");
         handlerStack->pop();
         delete this;
     }

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/PrintLayout/IOMapViewportDefinition.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/PrintLayout/IOMapViewportDefinition.cpp	2019-02-05 15:26:24 UTC (rev 9476)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/PrintLayout/IOMapViewportDefinition.cpp	2019-02-05 15:58:21 UTC (rev 9477)
@@ -113,7 +113,7 @@
     _ASSERT(NULL != mapViewportDef);
 
     // Set the expected version
-    MdfString strVersion = L"2.0.0";
+    MdfString strVersion = MDF_STR("2.0.0");
 
     fd << tab.tab() << "<PrintLayoutElementDefinition xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:noNamespaceSchemaLocation=\"PrintLayoutDefinition-" << EncodeString(strVersion) << ".xsd\" version=\"" << EncodeString(strVersion) << "\">" << std::endl; // NOXLATE
     tab.inctab();

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/PrintLayout/IOPrintLayoutDefinition.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/PrintLayout/IOPrintLayoutDefinition.cpp	2019-02-05 15:26:24 UTC (rev 9476)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/PrintLayout/IOPrintLayoutDefinition.cpp	2019-02-05 15:58:21 UTC (rev 9477)
@@ -145,7 +145,7 @@
     {
         m_layoutDef->SetUnknownXml(m_unknownXml);
 
-        m_startElemName = L"";
+        m_startElemName = MDF_STR("");
         handlerStack->pop();
         delete this;
     }
@@ -160,7 +160,7 @@
     _ASSERT(NULL != layoutDef);
 
     // Set the expected version
-    MdfString strVersion = L"2.0.0";
+    MdfString strVersion = MDF_STR("2.0.0");
 
     fd << tab.tab() << "<PrintLayoutDefinition xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:noNamespaceSchemaLocation=\"PrintLayoutDefinition-" << EncodeString(strVersion) << ".xsd\" version=\"" << EncodeString(strVersion) << "\">" << std::endl; // NOXLATE
     tab.inctab();

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/PrintLayout/IOPrintLayoutElementCollection.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/PrintLayout/IOPrintLayoutElementCollection.cpp	2019-02-05 15:26:24 UTC (rev 9476)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/PrintLayout/IOPrintLayoutElementCollection.cpp	2019-02-05 15:58:21 UTC (rev 9477)
@@ -132,7 +132,7 @@
 {
     if (m_startElemName == name)
     {
-        m_startElemName = L"";
+        m_startElemName = MDF_STR("");
         handlerStack->pop();
         delete this;
     }

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/PrintLayout/IOPrintLayoutElementDefinition.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/PrintLayout/IOPrintLayoutElementDefinition.cpp	2019-02-05 15:26:24 UTC (rev 9476)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/PrintLayout/IOPrintLayoutElementDefinition.cpp	2019-02-05 15:58:21 UTC (rev 9477)
@@ -100,7 +100,7 @@
     {
         m_layoutElemDef->SetUnknownXml(m_unknownXml);
 
-        m_startElemName = L"";
+        m_startElemName = MDF_STR("");
         handlerStack->pop();
         delete this;
     }

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/PrintLayout/IOPrintLayoutElementStyle.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/PrintLayout/IOPrintLayoutElementStyle.cpp	2019-02-05 15:26:24 UTC (rev 9476)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/PrintLayout/IOPrintLayoutElementStyle.cpp	2019-02-05 15:58:21 UTC (rev 9477)
@@ -79,7 +79,7 @@
     {
         m_layoutElemStyle->SetUnknownXml(m_unknownXml);
 
-        m_startElemName = L"";
+        m_startElemName = MDF_STR("");
         handlerStack->pop();
         delete this;
     }

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/PrintLayout/IOPropertyMappingCollection.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/PrintLayout/IOPropertyMappingCollection.cpp	2019-02-05 15:26:24 UTC (rev 9476)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/PrintLayout/IOPropertyMappingCollection.cpp	2019-02-05 15:58:21 UTC (rev 9477)
@@ -87,7 +87,7 @@
 {
     if (m_startElemName == name)
     {
-        m_startElemName = L"";
+        m_startElemName = MDF_STR("");
         handlerStack->pop();
         delete this;
     }

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/PrintLayout/IOStylizationConfiguration.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/PrintLayout/IOStylizationConfiguration.cpp	2019-02-05 15:26:24 UTC (rev 9476)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/PrintLayout/IOStylizationConfiguration.cpp	2019-02-05 15:58:21 UTC (rev 9477)
@@ -75,7 +75,7 @@
     {
         m_stylizationConf->SetUnknownXml(m_unknownXml);
 
-        m_startElemName = L"";
+        m_startElemName = MDF_STR("");
         handlerStack->pop();
         delete this;
     }

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/PrintLayout/IOThickness.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/PrintLayout/IOThickness.cpp	2019-02-05 15:26:24 UTC (rev 9476)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/PrintLayout/IOThickness.cpp	2019-02-05 15:58:21 UTC (rev 9477)
@@ -78,7 +78,7 @@
 {
     if (m_startElemName == name)
     {
-        m_startElemName = L"";
+        m_startElemName = MDF_STR("");
         handlerStack->pop();
         delete this;
     }

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/SAX2Parser.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/SAX2Parser.cpp	2019-02-05 15:26:24 UTC (rev 9476)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/SAX2Parser.cpp	2019-02-05 15:58:21 UTC (rev 9477)
@@ -111,7 +111,7 @@
     m_parser->setContentHandler(this);
     m_parser->setErrorHandler(this);
 
-    m_strbuffer = L"";
+    m_strbuffer = MDF_STR("");
 }
 
 
@@ -574,7 +574,7 @@
                               const Attributes&  attributes)
 {
     std::wstring str = X2W(qname);
-    m_strbuffer = L"";   // discard any text between start tags
+    m_strbuffer = MDF_STR("");   // discard any text between start tags
     m_tagOpen = true;
 
     // If the stack is empty, then check to see if we've encountered the
@@ -585,47 +585,47 @@
     // of that IO object to initialize it.
     if (m_handlerStack->empty())
     {
-        if (str == L"MapDefinition") // NOXLATE
+        if (str == MDF_STR("MapDefinition")) // NOXLATE
         {
             // set the version
             SetMapDefinitionVersion(attributes);
 
             _ASSERT(m_map == NULL); // otherwise we leak
-            m_map = new MapDefinition(L"", L"");
+            m_map = new MapDefinition(MDF_STR(""), MDF_STR(""));
             IOMapDefinition* IO = new IOMapDefinition(m_map, m_version);
             m_handlerStack->push(IO);
             IO->StartElement(str.c_str(), m_handlerStack);
         }
-        else if (str == L"LayerDefinition") // NOXLATE
+        else if (str == MDF_STR("LayerDefinition")) // NOXLATE
         {
             // just set the version
             SetLayerDefinitionVersion(attributes);
         }
-        else if (str == L"VectorLayerDefinition") // NOXLATE
+        else if (str == MDF_STR("VectorLayerDefinition")) // NOXLATE
         {
             _ASSERT(m_vLayer == NULL);  // otherwise we leak
-            m_vLayer = new VectorLayerDefinition(L"", L"");
+            m_vLayer = new VectorLayerDefinition(MDF_STR(""), MDF_STR(""));
             IOVectorLayerDefinition* IO = new IOVectorLayerDefinition(m_vLayer, m_version);
             m_handlerStack->push(IO);
             IO->StartElement(str.c_str(), m_handlerStack);
         }
-        else if (str == L"DrawingLayerDefinition") // NOXLATE
+        else if (str == MDF_STR("DrawingLayerDefinition")) // NOXLATE
         {
             _ASSERT(m_dLayer == NULL);  // otherwise we leak
-            m_dLayer = new DrawingLayerDefinition(L"", L"");
+            m_dLayer = new DrawingLayerDefinition(MDF_STR(""), MDF_STR(""));
             IODrawingLayerDefinition* IO = new IODrawingLayerDefinition(m_dLayer, m_version);
             m_handlerStack->push(IO);
             IO->StartElement(str.c_str(), m_handlerStack);
         }
-        else if (str == L"GridLayerDefinition") // NOXLATE
+        else if (str == MDF_STR("GridLayerDefinition")) // NOXLATE
         {
             _ASSERT(m_gLayer == NULL);  // otherwise we leak
-            m_gLayer = new GridLayerDefinition(L"");
+            m_gLayer = new GridLayerDefinition(MDF_STR(""));
             IOGridLayerDefinition* IO = new IOGridLayerDefinition(m_gLayer, m_version);
             m_handlerStack->push(IO);
             IO->StartElement(str.c_str(), m_handlerStack);
         }
-        else if (str == L"SimpleSymbolDefinition") // NOXLATE
+        else if (str == MDF_STR("SimpleSymbolDefinition")) // NOXLATE
         {
             // set the version
             SetSymbolDefinitionVersion(attributes);
@@ -636,7 +636,7 @@
             m_handlerStack->push(IO);
             IO->StartElement(str.c_str(), m_handlerStack);
         }
-        else if (str == L"CompoundSymbolDefinition") // NOXLATE
+        else if (str == MDF_STR("CompoundSymbolDefinition")) // NOXLATE
         {
             // set the version
             SetSymbolDefinitionVersion(attributes);
@@ -647,7 +647,7 @@
             m_handlerStack->push(IO);
             IO->StartElement(str.c_str(), m_handlerStack);
         }
-        else if (str == L"PrintLayoutDefinition") // NOXLATE
+        else if (str == MDF_STR("PrintLayoutDefinition")) // NOXLATE
         {
             // set the version
             SetPrintLayoutDefinitionVersion(attributes);
@@ -658,12 +658,12 @@
             m_handlerStack->push(IO);
             IO->StartElement(str.c_str(), m_handlerStack);
         }
-        else if (str == L"PrintLayoutElementDefinition") // NOXLATE
+        else if (str == MDF_STR("PrintLayoutElementDefinition")) // NOXLATE
         {
             // just set the version
             SetPrintLayoutElementDefinitionVersion(attributes);
         }
-        else if (str == L"MapViewportDefinition") // NOXLATE
+        else if (str == MDF_STR("MapViewportDefinition")) // NOXLATE
         {
             _ASSERT(m_mapViewport == NULL); // otherwise we leak
             m_mapViewport = new MapViewportDefinition();
@@ -671,7 +671,7 @@
             m_handlerStack->push(IO);
             IO->StartElement(str.c_str(), m_handlerStack);
         }
-        else if (str == L"WatermarkDefinition") //NOXLATE
+        else if (str == MDF_STR("WatermarkDefinition")) //NOXLATE
         {
             // set the version
             SetWatermarkDefinitionVersion(attributes);
@@ -682,7 +682,7 @@
             m_handlerStack->push(IO);
             IO->StartElement(str.c_str(), m_handlerStack);
         }
-        else if (str == L"TileSetDefinition") // NOXLATE
+        else if (str == MDF_STR("TileSetDefinition")) // NOXLATE
         {
             // set the version
             SetTileSetDefinitionVersion(attributes);
@@ -723,7 +723,7 @@
         if (!m_strbuffer.empty())
         {
             (m_handlerStack->top())->ElementChars(m_strbuffer.c_str());
-             m_strbuffer = L"";
+             m_strbuffer = MDF_STR("");
         }
 
         (m_handlerStack->top())->EndElement(X2W(qname), m_handlerStack);
@@ -746,7 +746,7 @@
 void SAX2Parser::SetMapDefinitionVersion(const Attributes& attributes)
 {
     // check for a version attribute
-    int index = attributes.getIndex(W2X(L"version"));
+    int index = attributes.getIndex(W2X(MDF_STR("version")));
     const XMLCh* verValue = (index >= 0)? attributes.getValue(index) : NULL;
 
     // according to the latest schema map definition elements require a version
@@ -755,11 +755,11 @@
     {
         std::wstring version = X2W(verValue);
 
-        if (_wcsicmp(version.c_str(), L"1.0.0") == 0)
+        if (_wcsicmp(version.c_str(), MDF_STR("1.0.0")) == 0)
             m_version = MdfModel::Version(1, 0, 0);
-        else if (_wcsicmp(version.c_str(), L"2.3.0") == 0)
+        else if (_wcsicmp(version.c_str(), MDF_STR("2.3.0")) == 0)
             m_version = MdfModel::Version(2, 3, 0);
-        else if (_wcsicmp(version.c_str(), L"2.4.0") == 0)
+        else if (_wcsicmp(version.c_str(), MDF_STR("2.4.0")) == 0)
             m_version = MdfModel::Version(2, 4, 0);
     }
     else
@@ -773,7 +773,7 @@
 void SAX2Parser::SetLayerDefinitionVersion(const Attributes& attributes)
 {
     // check for a version attribute
-    int index = attributes.getIndex(W2X(L"version"));
+    int index = attributes.getIndex(W2X(MDF_STR("version")));
     const XMLCh* verValue = (index >= 0)? attributes.getValue(index) : NULL;
 
     // according to the schema layer definition elements require a version
@@ -782,17 +782,17 @@
     {
         std::wstring version = X2W(verValue);
 
-        if (_wcsicmp(version.c_str(), L"1.0.0") == 0)
+        if (_wcsicmp(version.c_str(), MDF_STR("1.0.0")) == 0)
             m_version = MdfModel::Version(1, 0, 0);
-        else if (_wcsicmp(version.c_str(), L"1.1.0") == 0)
+        else if (_wcsicmp(version.c_str(), MDF_STR("1.1.0")) == 0)
             m_version = MdfModel::Version(1, 1, 0);
-        else if (_wcsicmp(version.c_str(), L"1.2.0") == 0)
+        else if (_wcsicmp(version.c_str(), MDF_STR("1.2.0")) == 0)
             m_version = MdfModel::Version(1, 2, 0);
-        else if (_wcsicmp(version.c_str(), L"1.3.0") == 0)
+        else if (_wcsicmp(version.c_str(), MDF_STR("1.3.0")) == 0)
             m_version = MdfModel::Version(1, 3, 0);
-        else if (_wcsicmp(version.c_str(), L"2.3.0") == 0)
+        else if (_wcsicmp(version.c_str(), MDF_STR("2.3.0")) == 0)
             m_version = MdfModel::Version(2, 3, 0);
-        else if (_wcsicmp(version.c_str(), L"2.4.0") == 0)
+        else if (_wcsicmp(version.c_str(), MDF_STR("2.4.0")) == 0)
             m_version = MdfModel::Version(2, 4, 0);
     }
     else
@@ -806,7 +806,7 @@
 void SAX2Parser::SetSymbolDefinitionVersion(const Attributes& attributes)
 {
     // check for a version attribute
-    int index = attributes.getIndex(W2X(L"version"));
+    int index = attributes.getIndex(W2X(MDF_STR("version")));
     const XMLCh* verValue = (index >= 0)? attributes.getValue(index) : NULL;
 
     // according to the schema symbol definition root elements require a version
@@ -815,11 +815,11 @@
     {
         std::wstring version = X2W(verValue);
 
-        if (_wcsicmp(version.c_str(), L"1.0.0") == 0)
+        if (_wcsicmp(version.c_str(), MDF_STR("1.0.0")) == 0)
             m_version = MdfModel::Version(1, 0, 0);
-        else if (_wcsicmp(version.c_str(), L"1.1.0") == 0)
+        else if (_wcsicmp(version.c_str(), MDF_STR("1.1.0")) == 0)
             m_version = MdfModel::Version(1, 1, 0);
-        else if (_wcsicmp(version.c_str(), L"2.4.0") == 0)
+        else if (_wcsicmp(version.c_str(), MDF_STR("2.4.0")) == 0)
             m_version = MdfModel::Version(2, 4, 0);
     }
     else
@@ -833,13 +833,13 @@
 void SAX2Parser::SetPrintLayoutDefinitionVersion(const Attributes& attributes)
 {
     // check for a version attribute
-    int index = attributes.getIndex(W2X(L"version"));
+    int index = attributes.getIndex(W2X(MDF_STR("version")));
     const XMLCh* verValue = (index >= 0)? attributes.getValue(index) : NULL;
 
     if (verValue)
     {
         std::wstring version = X2W(verValue);
-        if (_wcsicmp(version.c_str(), L"2.0.0") == 0)
+        if (_wcsicmp(version.c_str(), MDF_STR("2.0.0")) == 0)
             m_version = MdfModel::Version(2, 0, 0);
     }
     else
@@ -853,13 +853,13 @@
 void SAX2Parser::SetPrintLayoutElementDefinitionVersion(const Attributes& attributes)
 {
     // check for a version attribute
-    int index = attributes.getIndex(W2X(L"version"));
+    int index = attributes.getIndex(W2X(MDF_STR("version")));
     const XMLCh* verValue = (index >= 0)? attributes.getValue(index) : NULL;
 
     if (verValue)
     {
         std::wstring version = X2W(verValue);
-        if (_wcsicmp(version.c_str(), L"2.0.0") == 0)
+        if (_wcsicmp(version.c_str(), MDF_STR("2.0.0")) == 0)
             m_version = MdfModel::Version(2, 0, 0);
     }
     else
@@ -873,7 +873,7 @@
 void SAX2Parser::SetWatermarkDefinitionVersion(const Attributes& attributes)
 {
     // check for a version attribute
-    int index = attributes.getIndex(W2X(L"version"));
+    int index = attributes.getIndex(W2X(MDF_STR("version")));
     const XMLCh* verValue = (index >= 0)? attributes.getValue(index) : NULL;
 
     // according to the schema watermark definition elements require a version
@@ -882,9 +882,9 @@
     {
         std::wstring version = X2W(verValue);
 
-        if (_wcsicmp(version.c_str(), L"2.3.0") == 0)
+        if (_wcsicmp(version.c_str(), MDF_STR("2.3.0")) == 0)
             m_version = MdfModel::Version(2, 3, 0);
-        else if (_wcsicmp(version.c_str(), L"2.4.0") == 0)
+        else if (_wcsicmp(version.c_str(), MDF_STR("2.4.0")) == 0)
             m_version = MdfModel::Version(2, 4, 0);
     }
     else
@@ -901,7 +901,7 @@
     // needed for future expansion.
 
     // check for a version attribute
-    int index = attributes.getIndex(W2X(L"version"));
+    int index = attributes.getIndex(W2X(MDF_STR("version")));
     const XMLCh* verValue = (index >= 0)? attributes.getValue(index) : NULL;
 
     // according to the schema profile result elements require a version
@@ -910,7 +910,7 @@
     {
         std::wstring version = X2W(verValue);
 
-        if (_wcsicmp(version.c_str(), L"2.4.0") == 0)
+        if (_wcsicmp(version.c_str(), MDF_STR("2.4.0")) == 0)
             m_version = MdfModel::Version(2, 4, 0);
     }
     else
@@ -926,7 +926,7 @@
     // needed for future expansion.
 
     // check for a version attribute
-    int index = attributes.getIndex(W2X(L"version"));
+    int index = attributes.getIndex(W2X(MDF_STR("version")));
     const XMLCh* verValue = (index >= 0)? attributes.getValue(index) : NULL;
 
     // according to the schema profile result elements require a version
@@ -935,7 +935,7 @@
     {
         std::wstring version = X2W(verValue);
 
-        if (_wcsicmp(version.c_str(), L"3.0.0") == 0)
+        if (_wcsicmp(version.c_str(), MDF_STR("3.0.0")) == 0)
             m_version = MdfModel::Version(3, 0, 0);
     }
     else



More information about the mapguide-commits mailing list