[mapguide-commits] r9478 - in sandbox/jng/common_decouple_v3/Common: MdfParser MdfParser/Common MdfParser/PrintLayout Stylization

svn_mapguide at osgeo.org svn_mapguide at osgeo.org
Tue Feb 5 08:19:47 PST 2019


Author: jng
Date: 2019-02-05 08:19:47 -0800 (Tue, 05 Feb 2019)
New Revision: 9478

Modified:
   sandbox/jng/common_decouple_v3/Common/MdfParser/Common/IOColor.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/Common/IOColor.h
   sandbox/jng/common_decouple_v3/Common/MdfParser/Common/IOExtent3D.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/Common/IOExtent3D.h
   sandbox/jng/common_decouple_v3/Common/MdfParser/Common/IOPoint3D.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/Common/IOPoint3D.h
   sandbox/jng/common_decouple_v3/Common/MdfParser/Common/IOSize2D.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/Common/IOSize2D.h
   sandbox/jng/common_decouple_v3/Common/MdfParser/Common/IOStringObjectCollection.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/Common/IOStringObjectCollection.h
   sandbox/jng/common_decouple_v3/Common/MdfParser/Common/IOVector3D.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/Common/IOVector3D.h
   sandbox/jng/common_decouple_v3/Common/MdfParser/FSDSAX2Parser.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/FSDSAX2Parser.h
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOAreaRule.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOAreaRule.h
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOAreaSymbolization2D.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOAreaSymbolization2D.h
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOAreaTypeStyle.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOAreaTypeStyle.h
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOAreaUsage.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOAreaUsage.h
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOAttributeRelate.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOAttributeRelate.h
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOBaseMapDefinition.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOBaseMapDefinition.h
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOBaseMapLayer.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOBaseMapLayer.h
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOBaseMapLayerGroup.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOBaseMapLayerGroup.h
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOBlockSymbol.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOBlockSymbol.h
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOCalculatedProperty.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOCalculatedProperty.h
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOChannelBand.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOChannelBand.h
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOCompositeRule.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOCompositeRule.h
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOCompositeSymbolization.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOCompositeSymbolization.h
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOCompositeTypeStyle.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOCompositeTypeStyle.h
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOCompoundSymbolDefinition.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOCompoundSymbolDefinition.h
   sandbox/jng/common_decouple_v3/Common/MdfParser/IODrawingLayerDefinition.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IODrawingLayerDefinition.h
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOElevationSettings.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOElevationSettings.h
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOExtension.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOExtension.h
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOExtra.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOExtra.h
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOFeatureSource.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOFeatureSource.h
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOFill.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOFill.h
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOFontSymbol.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOFontSymbol.h
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOGraphicElement.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOGraphicElement.h
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOGraphicElementCollection.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOGraphicElementCollection.h
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOGridColor.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOGridColor.h
   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/IOGridColorRule.h
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOGridColorStyle.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOGridColorStyle.h
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOGridLayerDefinition.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOGridLayerDefinition.h
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOGridScaleRange.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOGridScaleRange.h
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOGridSurfaceStyle.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOGridSurfaceStyle.h
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOHillShade.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOHillShade.h
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOImage.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOImage.h
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOImageSymbol.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOImageSymbol.h
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOLabel.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOLabel.h
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOLineRule.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOLineRule.h
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOLineSymbolization2D.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOLineSymbolization2D.h
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOLineTypeStyle.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOLineTypeStyle.h
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOLineUsage.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOLineUsage.h
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOMapDefinition.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOMapDefinition.h
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOMapLayer.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOMapLayer.h
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOMapLayerCommon.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOMapLayerCommon.h
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOMapLayerGroup.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOMapLayerGroup.h
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOMapLayerGroupCommon.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOMapLayerGroupCommon.h
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOMarkSymbol.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOMarkSymbol.h
   sandbox/jng/common_decouple_v3/Common/MdfParser/IONameStringPair.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IONameStringPair.h
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOOverride.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOOverride.h
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOOverrideCollection.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOOverrideCollection.h
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOParameter.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOParameter.h
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOParameterCollection.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOParameterCollection.h
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOPath.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOPath.h
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOPointRule.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOPointRule.h
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOPointSymbolization2D.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOPointSymbolization2D.h
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOPointTypeStyle.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOPointTypeStyle.h
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOPointUsage.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOPointUsage.h
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOProfileRenderLabelsResult.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOProfileRenderLabelsResult.h
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOProfileRenderLayerResult.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOProfileRenderLayerResult.h
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOProfileRenderLayersResult.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOProfileRenderLayersResult.h
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOProfileRenderMapResult.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOProfileRenderMapResult.h
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOProfileRenderSelectionResult.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOProfileRenderSelectionResult.h
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOProfileRenderWatermarkResult.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOProfileRenderWatermarkResult.h
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOProfileRenderWatermarksResult.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOProfileRenderWatermarksResult.h
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOProfileResult.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOProfileResult.h
   sandbox/jng/common_decouple_v3/Common/MdfParser/IORelateProperty.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IORelateProperty.h
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOResizeBox.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOResizeBox.h
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOResourceRef.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOResourceRef.h
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOScaleRange.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOScaleRange.h
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOSimpleSymbol.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOSimpleSymbol.h
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOSimpleSymbolDefinition.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOSimpleSymbolDefinition.h
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOStroke.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOStroke.h
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOSupplementalSpatialContextInfo.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOSupplementalSpatialContextInfo.h
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOSymbol.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOSymbol.h
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOSymbolInstance.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOSymbolInstance.h
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOText.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOText.h
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOTextFrame.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOTextFrame.h
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOThemeLabel.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOThemeLabel.h
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOTileSetDefinition.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOTileSetDefinition.h
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOTileSetSource.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOTileSetSource.h
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOTileStoreParameters.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOTileStoreParameters.h
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOTileWatermarkPosition.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOTileWatermarkPosition.h
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOURLData.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOURLData.h
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOUnknown.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOUnknown.h
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOUtil.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOUtil.h
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOVectorLayerDefinition.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOVectorLayerDefinition.h
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOVectorScaleRange.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOVectorScaleRange.h
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOW2DSymbol.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOW2DSymbol.h
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOWatermarkAppearance.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOWatermarkAppearance.h
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOWatermarkDefinition.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOWatermarkDefinition.h
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOWatermarkInstance.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOWatermarkInstance.h
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOWatermarkOffsetUnit.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOWatermarkOffsetUnit.h
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOWatermarkXOffset.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOWatermarkXOffset.h
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOWatermarkYOffset.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOWatermarkYOffset.h
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOXYWatermarkPosition.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/IOXYWatermarkPosition.h
   sandbox/jng/common_decouple_v3/Common/MdfParser/PrintLayout/IODataConfiguration.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/PrintLayout/IODataConfiguration.h
   sandbox/jng/common_decouple_v3/Common/MdfParser/PrintLayout/IOMapView.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/PrintLayout/IOMapView.h
   sandbox/jng/common_decouple_v3/Common/MdfParser/PrintLayout/IOMapViewportDefinition.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/PrintLayout/IOMapViewportDefinition.h
   sandbox/jng/common_decouple_v3/Common/MdfParser/PrintLayout/IOPrintLayoutDefinition.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/PrintLayout/IOPrintLayoutDefinition.h
   sandbox/jng/common_decouple_v3/Common/MdfParser/PrintLayout/IOPrintLayoutElementCollection.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/PrintLayout/IOPrintLayoutElementCollection.h
   sandbox/jng/common_decouple_v3/Common/MdfParser/PrintLayout/IOPrintLayoutElementDefinition.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/PrintLayout/IOPrintLayoutElementDefinition.h
   sandbox/jng/common_decouple_v3/Common/MdfParser/PrintLayout/IOPrintLayoutElementStyle.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/PrintLayout/IOPrintLayoutElementStyle.h
   sandbox/jng/common_decouple_v3/Common/MdfParser/PrintLayout/IOPropertyMappingCollection.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/PrintLayout/IOPropertyMappingCollection.h
   sandbox/jng/common_decouple_v3/Common/MdfParser/PrintLayout/IOStylizationConfiguration.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/PrintLayout/IOStylizationConfiguration.h
   sandbox/jng/common_decouple_v3/Common/MdfParser/PrintLayout/IOThickness.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/PrintLayout/IOThickness.h
   sandbox/jng/common_decouple_v3/Common/MdfParser/SAX2ElementHandler.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/SAX2ElementHandler.h
   sandbox/jng/common_decouple_v3/Common/MdfParser/SAX2Parser.cpp
   sandbox/jng/common_decouple_v3/Common/MdfParser/SAX2Parser.h
   sandbox/jng/common_decouple_v3/Common/Stylization/FdoExpressionEvaluator.h
   sandbox/jng/common_decouple_v3/Common/Stylization/GeometryAdapter.cpp
   sandbox/jng/common_decouple_v3/Common/Stylization/GeometryAdapter.h
   sandbox/jng/common_decouple_v3/Common/Stylization/SE_ExpressionEvaluator.h
Log:
MdfParser: Global replace const wchar_t -> MdfCStr

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:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/Common/IOColor.cpp	2019-02-05 16:19:47 UTC (rev 9478)
@@ -39,7 +39,7 @@
 {
 }
 
-void IOColor::StartElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOColor::StartElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     m_currElemName = name;
     m_currElemId = _ElementIdFromName(name);
@@ -52,7 +52,7 @@
     }
 }
 
-void IOColor::ElementChars(const wchar_t* ch)
+void IOColor::ElementChars(MdfCStr* ch)
 {
     switch (m_currElemId)
     {
@@ -74,7 +74,7 @@
     }
 }
 
-void IOColor::EndElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOColor::EndElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     if (m_startElemName == name)
     {

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/Common/IOColor.h
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/Common/IOColor.h	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/Common/IOColor.h	2019-02-05 16:19:47 UTC (rev 9478)
@@ -29,9 +29,9 @@
     IOColor(Color* color, Version& version);
     virtual ~IOColor();
 
-    virtual void StartElement(const wchar_t* name, HandlerStack* handlerStack);
-    virtual void ElementChars(const wchar_t* ch);
-    virtual void EndElement(const wchar_t* name, HandlerStack* handlerStack);
+    virtual void StartElement(MdfCStr* name, HandlerStack* handlerStack);
+    virtual void ElementChars(MdfCStr* ch);
+    virtual void EndElement(MdfCStr* name, HandlerStack* handlerStack);
 
     static void Write(MdfStream& fd, Color* color, Version* version, const std::string& name, MgTab& tab);
 

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:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/Common/IOExtent3D.cpp	2019-02-05 16:19:47 UTC (rev 9478)
@@ -38,7 +38,7 @@
 {
 }
 
-void IOExtent3D::StartElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOExtent3D::StartElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     m_currElemName = name;
     m_currElemId = _ElementIdFromName(name);
@@ -67,11 +67,11 @@
     }
 }
 
-void IOExtent3D::ElementChars(const wchar_t* ch)
+void IOExtent3D::ElementChars(MdfCStr* ch)
 {
 }
 
-void IOExtent3D::EndElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOExtent3D::EndElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     if (m_startElemName == name)
     {

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/Common/IOExtent3D.h
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/Common/IOExtent3D.h	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/Common/IOExtent3D.h	2019-02-05 16:19:47 UTC (rev 9478)
@@ -29,9 +29,9 @@
     IOExtent3D(Extent3D* extent, Version& version);
     virtual ~IOExtent3D();
 
-    virtual void StartElement(const wchar_t* name, HandlerStack* handlerStack);
-    virtual void ElementChars(const wchar_t* ch);
-    virtual void EndElement(const wchar_t* name, HandlerStack* handlerStack);
+    virtual void StartElement(MdfCStr* name, HandlerStack* handlerStack);
+    virtual void ElementChars(MdfCStr* ch);
+    virtual void EndElement(MdfCStr* name, HandlerStack* handlerStack);
 
     static void Write(MdfStream& fd, Extent3D* extent, Version* version, MgTab& tab);
 

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:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/Common/IOPoint3D.cpp	2019-02-05 16:19:47 UTC (rev 9478)
@@ -41,7 +41,7 @@
 {
 }
 
-void IOPoint3D::StartElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOPoint3D::StartElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     m_currElemName = name;
     m_currElemId = _ElementIdFromName(name);
@@ -57,7 +57,7 @@
     }
 }
 
-void IOPoint3D::ElementChars(const wchar_t* ch)
+void IOPoint3D::ElementChars(MdfCStr* ch)
 {
     switch (m_currElemId)
     {
@@ -75,7 +75,7 @@
     }
 }
 
-void IOPoint3D::EndElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOPoint3D::EndElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     if (m_startElemName == name)
     {

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/Common/IOPoint3D.h
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/Common/IOPoint3D.h	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/Common/IOPoint3D.h	2019-02-05 16:19:47 UTC (rev 9478)
@@ -29,9 +29,9 @@
     IOPoint3D(Point3D* point, Version& version);
     virtual ~IOPoint3D();
 
-    virtual void StartElement(const wchar_t* name, HandlerStack* handlerStack);
-    virtual void ElementChars(const wchar_t* ch);
-    virtual void EndElement(const wchar_t* name, HandlerStack* handlerStack);
+    virtual void StartElement(MdfCStr* name, HandlerStack* handlerStack);
+    virtual void ElementChars(MdfCStr* ch);
+    virtual void EndElement(MdfCStr* name, HandlerStack* handlerStack);
 
     static void Write(MdfStream& fd, Point3D* point, Version* version, const std::string& name, MgTab& tab);
 

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:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/Common/IOSize2D.cpp	2019-02-05 16:19:47 UTC (rev 9478)
@@ -37,7 +37,7 @@
 {
 }
 
-void IOSize2D::StartElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOSize2D::StartElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     m_currElemName = name;
     m_currElemId = _ElementIdFromName(name);
@@ -50,7 +50,7 @@
     }
 }
 
-void IOSize2D::ElementChars(const wchar_t* ch)
+void IOSize2D::ElementChars(MdfCStr* ch)
 {
     switch (m_currElemId)
     {
@@ -64,7 +64,7 @@
     }
 }
 
-void IOSize2D::EndElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOSize2D::EndElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     if (m_startElemName == name)
     {

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/Common/IOSize2D.h
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/Common/IOSize2D.h	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/Common/IOSize2D.h	2019-02-05 16:19:47 UTC (rev 9478)
@@ -29,9 +29,9 @@
     IOSize2D(Size2D* size, Version& version);
     virtual ~IOSize2D();
 
-    virtual void StartElement(const wchar_t* name, HandlerStack* handlerStack);
-    virtual void ElementChars(const wchar_t* ch);
-    virtual void EndElement(const wchar_t* name, HandlerStack* handlerStack);
+    virtual void StartElement(MdfCStr* name, HandlerStack* handlerStack);
+    virtual void ElementChars(MdfCStr* ch);
+    virtual void EndElement(MdfCStr* name, HandlerStack* handlerStack);
 
     static void Write(MdfStream& fd, Size2D* size, Version* version, const std::string& name, MgTab& tab);
 

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:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/Common/IOStringObjectCollection.cpp	2019-02-05 16:19:47 UTC (rev 9478)
@@ -33,7 +33,7 @@
 {
 }
 
-void IOStringObjectCollection::StartElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOStringObjectCollection::StartElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     m_currElemName = name;
 
@@ -43,7 +43,7 @@
     }
 }
 
-void IOStringObjectCollection::ElementChars(const wchar_t* ch)
+void IOStringObjectCollection::ElementChars(MdfCStr* ch)
 {
     if (m_currElemName == m_strName)
     {
@@ -51,7 +51,7 @@
     }
 }
 
-void IOStringObjectCollection::EndElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOStringObjectCollection::EndElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     if (m_startElemName == name)
     {

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/Common/IOStringObjectCollection.h
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/Common/IOStringObjectCollection.h	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/Common/IOStringObjectCollection.h	2019-02-05 16:19:47 UTC (rev 9478)
@@ -29,9 +29,9 @@
     IOStringObjectCollection(StringObjectCollection* strCol, Version& version, const std::string& colName, const std::string& strName);
     virtual ~IOStringObjectCollection();
 
-    virtual void StartElement(const wchar_t* name, HandlerStack* handlerStack);
-    virtual void ElementChars(const wchar_t* ch);
-    virtual void EndElement(const wchar_t* name, HandlerStack* handlerStack);
+    virtual void StartElement(MdfCStr* name, HandlerStack* handlerStack);
+    virtual void ElementChars(MdfCStr* ch);
+    virtual void EndElement(MdfCStr* name, HandlerStack* handlerStack);
 
     static void Write(MdfStream& fd, StringObjectCollection* strCol, Version* version, const std::string& colName, const std::string& strName, MgTab& tab);
 

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:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/Common/IOVector3D.cpp	2019-02-05 16:19:47 UTC (rev 9478)
@@ -38,7 +38,7 @@
 {
 }
 
-void IOVector3D::StartElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOVector3D::StartElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     m_currElemName = name;
     m_currElemId = _ElementIdFromName(name);
@@ -51,7 +51,7 @@
     }
 }
 
-void IOVector3D::ElementChars(const wchar_t* ch)
+void IOVector3D::ElementChars(MdfCStr* ch)
 {
     switch (m_currElemId)
     {
@@ -69,7 +69,7 @@
     }
 }
 
-void IOVector3D::EndElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOVector3D::EndElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     if (m_startElemName == name)
     {

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/Common/IOVector3D.h
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/Common/IOVector3D.h	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/Common/IOVector3D.h	2019-02-05 16:19:47 UTC (rev 9478)
@@ -29,9 +29,9 @@
     IOVector3D(Vector3D* vector, Version& version);
     virtual ~IOVector3D();
 
-    virtual void StartElement(const wchar_t* name, HandlerStack* handlerStack);
-    virtual void ElementChars(const wchar_t* ch);
-    virtual void EndElement(const wchar_t* name, HandlerStack* handlerStack);
+    virtual void StartElement(MdfCStr* name, HandlerStack* handlerStack);
+    virtual void ElementChars(MdfCStr* ch);
+    virtual void EndElement(MdfCStr* name, HandlerStack* handlerStack);
 
     static void Write(MdfStream& fd, Vector3D* vector, Version* version, MgTab& tab);
 

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/FSDSAX2Parser.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/FSDSAX2Parser.cpp	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/FSDSAX2Parser.cpp	2019-02-05 16:19:47 UTC (rev 9478)
@@ -159,7 +159,7 @@
 }
 
 
-void FSDSAX2Parser::ParseString(const wchar_t* str, size_t numChars)
+void FSDSAX2Parser::ParseString(MdfCStr* str, size_t numChars)
 {
     std::string s;
     try

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/FSDSAX2Parser.h
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/FSDSAX2Parser.h	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/FSDSAX2Parser.h	2019-02-05 16:19:47 UTC (rev 9478)
@@ -59,7 +59,7 @@
         void ParseFile(std::string str);
         void ParseFile(char* str);
         void ParseString(const char* str, size_t numBytes);
-        void ParseString(const wchar_t* str, size_t numChars);
+        void ParseString(MdfCStr* str, size_t numChars);
         void WriteToFile(std::string name, FeatureSource* featureSource, MdfModel::Version* version);
 
         std::string SerializeToXML(FeatureSource* featureSource, MdfModel::Version* version);

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOAreaRule.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOAreaRule.cpp	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOAreaRule.cpp	2019-02-05 16:19:47 UTC (rev 9478)
@@ -53,7 +53,7 @@
 }
 
 
-void IOAreaRule::StartElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOAreaRule::StartElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     this->m_currElemName = name;
     this->m_currElemId = _ElementIdFromName(name);
@@ -92,7 +92,7 @@
 }
 
 
-void IOAreaRule::ElementChars(const wchar_t* ch)
+void IOAreaRule::ElementChars(MdfCStr* ch)
 {
     switch (this->m_currElemId)
     {
@@ -107,7 +107,7 @@
 }
 
 
-void IOAreaRule::EndElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOAreaRule::EndElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     if (this->m_startElemName == name)
     {

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOAreaRule.h
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOAreaRule.h	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOAreaRule.h	2019-02-05 16:19:47 UTC (rev 9478)
@@ -35,9 +35,9 @@
         IOAreaRule(AreaTypeStyle* areaTypeStyle, Version& version);
         virtual ~IOAreaRule();
 
-        virtual void StartElement(const wchar_t* name, HandlerStack* handlerStack);
-        virtual void ElementChars(const wchar_t* ch);
-        virtual void EndElement(const wchar_t* name, HandlerStack* handlerStack);
+        virtual void StartElement(MdfCStr* name, HandlerStack* handlerStack);
+        virtual void ElementChars(MdfCStr* ch);
+        virtual void EndElement(MdfCStr* name, HandlerStack* handlerStack);
 
         static void Write(MdfStream& fd, AreaRule* areaRule, Version* version, MgTab& tab);
 

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOAreaSymbolization2D.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOAreaSymbolization2D.cpp	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOAreaSymbolization2D.cpp	2019-02-05 16:19:47 UTC (rev 9478)
@@ -51,7 +51,7 @@
 }
 
 
-void IOAreaSymbolization2D::StartElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOAreaSymbolization2D::StartElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     this->m_currElemName = name;
     this->m_currElemId = _ElementIdFromName(name);
@@ -95,12 +95,12 @@
 }
 
 
-void IOAreaSymbolization2D::ElementChars(const wchar_t* ch)
+void IOAreaSymbolization2D::ElementChars(MdfCStr* ch)
 {
 }
 
 
-void IOAreaSymbolization2D::EndElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOAreaSymbolization2D::EndElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     if (this->m_startElemName == name)
     {

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOAreaSymbolization2D.h
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOAreaSymbolization2D.h	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOAreaSymbolization2D.h	2019-02-05 16:19:47 UTC (rev 9478)
@@ -35,9 +35,9 @@
         IOAreaSymbolization2D(AreaRule* areaRule, Version& version);
         virtual ~IOAreaSymbolization2D();
 
-        virtual void StartElement(const wchar_t* name, HandlerStack* handlerStack);
-        virtual void ElementChars(const wchar_t* ch);
-        virtual void EndElement(const wchar_t* name, HandlerStack* handlerStack);
+        virtual void StartElement(MdfCStr* name, HandlerStack* handlerStack);
+        virtual void ElementChars(MdfCStr* ch);
+        virtual void EndElement(MdfCStr* name, HandlerStack* handlerStack);
 
         static void Write(MdfStream& fd, AreaSymbolization2D* areaSymbolization, Version* version, MgTab& tab);
 

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOAreaTypeStyle.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOAreaTypeStyle.cpp	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOAreaTypeStyle.cpp	2019-02-05 16:19:47 UTC (rev 9478)
@@ -50,7 +50,7 @@
 }
 
 
-void IOAreaTypeStyle::StartElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOAreaTypeStyle::StartElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     this->m_currElemName = name;
     this->m_currElemId = _ElementIdFromName(name);
@@ -81,7 +81,7 @@
 }
 
 
-void IOAreaTypeStyle::ElementChars(const wchar_t* ch)
+void IOAreaTypeStyle::ElementChars(MdfCStr* ch)
 {
     if (eShowInLegend == this->m_currElemId)
         this->m_areaTypeStyle->SetShowInLegend(wstrToBool(ch));
@@ -88,7 +88,7 @@
 }
 
 
-void IOAreaTypeStyle::EndElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOAreaTypeStyle::EndElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     if (this->m_startElemName == name)
     {

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOAreaTypeStyle.h
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOAreaTypeStyle.h	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOAreaTypeStyle.h	2019-02-05 16:19:47 UTC (rev 9478)
@@ -35,9 +35,9 @@
         IOAreaTypeStyle(VectorScaleRange* scaleRange, Version& version);
         virtual ~IOAreaTypeStyle();
 
-        virtual void StartElement(const wchar_t* name, HandlerStack* handlerStack);
-        virtual void ElementChars(const wchar_t* ch);
-        virtual void EndElement(const wchar_t* name, HandlerStack* handlerStack);
+        virtual void StartElement(MdfCStr* name, HandlerStack* handlerStack);
+        virtual void ElementChars(MdfCStr* ch);
+        virtual void EndElement(MdfCStr* name, HandlerStack* handlerStack);
 
         static void Write(MdfStream& fd, AreaTypeStyle* areaTypeStyle, Version* version, MgTab& tab);
 

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOAreaUsage.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOAreaUsage.cpp	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOAreaUsage.cpp	2019-02-05 16:19:47 UTC (rev 9478)
@@ -31,7 +31,7 @@
 }
 
 
-void IOAreaUsage::StartElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOAreaUsage::StartElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     this->m_currElemName = name;
     if (this->m_currElemName == MDF_STR("AreaUsage")) // NOXLATE
@@ -50,7 +50,7 @@
 }
 
 
-void IOAreaUsage::ElementChars(const wchar_t* ch)
+void IOAreaUsage::ElementChars(MdfCStr* ch)
 {
          IF_STRING_PROPERTY(this->m_currElemName, this->m_areaUsage, AngleControl, ch)
     else IF_STRING_PROPERTY(this->m_currElemName, this->m_areaUsage, OriginControl, ch)
@@ -64,7 +64,7 @@
 }
 
 
-void IOAreaUsage::EndElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOAreaUsage::EndElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     if (this->m_startElemName == name)
     {

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOAreaUsage.h
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOAreaUsage.h	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOAreaUsage.h	2019-02-05 16:19:47 UTC (rev 9478)
@@ -33,9 +33,9 @@
     public:
         IOAreaUsage(SimpleSymbolDefinition* symbolDefinition, Version& version);
 
-        virtual void StartElement(const wchar_t* name, HandlerStack* handlerStack);
-        virtual void ElementChars(const wchar_t* ch);
-        virtual void EndElement(const wchar_t* name, HandlerStack* handlerStack);
+        virtual void StartElement(MdfCStr* name, HandlerStack* handlerStack);
+        virtual void ElementChars(MdfCStr* ch);
+        virtual void EndElement(MdfCStr* name, HandlerStack* handlerStack);
 
         static void Write(MdfStream& fd, AreaUsage* areaUsage, Version* version, MgTab& tab);
 

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOAttributeRelate.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOAttributeRelate.cpp	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOAttributeRelate.cpp	2019-02-05 16:19:47 UTC (rev 9478)
@@ -55,7 +55,7 @@
 }
 
 
-void IOAttributeRelate::StartElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOAttributeRelate::StartElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     this->m_currElemName = name;
     this->m_currElemId = _ElementIdFromName(name);
@@ -86,7 +86,7 @@
 }
 
 
-void IOAttributeRelate::ElementChars(const wchar_t* ch)
+void IOAttributeRelate::ElementChars(MdfCStr* ch)
 {
     switch (this->m_currElemId)
     {
@@ -117,7 +117,7 @@
 }
 
 
-void IOAttributeRelate::EndElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOAttributeRelate::EndElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     if (this->m_startElemName == name)
     {
@@ -159,7 +159,7 @@
 }
 
 
-AttributeRelate::RelateType IOAttributeRelate::ReadType(const wchar_t* strType)
+AttributeRelate::RelateType IOAttributeRelate::ReadType(MdfCStr* strType)
 {
     AttributeRelate::RelateType type = AttributeRelate::LeftOuter;
 

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOAttributeRelate.h
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOAttributeRelate.h	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOAttributeRelate.h	2019-02-05 16:19:47 UTC (rev 9478)
@@ -35,15 +35,15 @@
         IOAttributeRelate(Extension* extension, Version& version);
         virtual ~IOAttributeRelate();
 
-        virtual void StartElement(const wchar_t* name, HandlerStack* handlerStack);
-        virtual void ElementChars(const wchar_t* ch);
-        virtual void EndElement(const wchar_t* name, HandlerStack* handlerStack);
+        virtual void StartElement(MdfCStr* name, HandlerStack* handlerStack);
+        virtual void ElementChars(MdfCStr* ch);
+        virtual void EndElement(MdfCStr* name, HandlerStack* handlerStack);
 
         static void Write(MdfStream& fd, AttributeRelate* attributeRelate, Version* version, MgTab& tab);
 
     private:
         static void WriteType(MdfStream& fd, AttributeRelate* attributeRelate);
-        static AttributeRelate::RelateType ReadType(const wchar_t* name);
+        static AttributeRelate::RelateType ReadType(MdfCStr* name);
 
     private:
         AttributeRelate* m_attributeRelate;

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOBaseMapDefinition.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOBaseMapDefinition.cpp	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOBaseMapDefinition.cpp	2019-02-05 16:19:47 UTC (rev 9478)
@@ -44,7 +44,7 @@
 }
 
 
-void IOBaseMapDefinition::StartElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOBaseMapDefinition::StartElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     this->m_currElemName = name;
     if (this->m_currElemName == MDF_STR("BaseMapDefinition")) // NOXLATE
@@ -67,7 +67,7 @@
 }
 
 
-void IOBaseMapDefinition::ElementChars(const wchar_t* ch)
+void IOBaseMapDefinition::ElementChars(MdfCStr* ch)
 {
     if (this->m_currElemName == MDF_STR("FiniteDisplayScale")) // NOXLATE
     {
@@ -77,7 +77,7 @@
 }
 
 
-void IOBaseMapDefinition::EndElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOBaseMapDefinition::EndElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     if (this->m_startElemName == name)
     {

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOBaseMapDefinition.h
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOBaseMapDefinition.h	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOBaseMapDefinition.h	2019-02-05 16:19:47 UTC (rev 9478)
@@ -38,9 +38,9 @@
         IOBaseMapDefinition(MapDefinition* map, Version& version);
         virtual ~IOBaseMapDefinition();
 
-        virtual void StartElement(const wchar_t* name, HandlerStack* handlerStack);
-        virtual void ElementChars(const wchar_t* ch);
-        virtual void EndElement(const wchar_t* name, HandlerStack* handlerStack);
+        virtual void StartElement(MdfCStr* name, HandlerStack* handlerStack);
+        virtual void ElementChars(MdfCStr* ch);
+        virtual void EndElement(MdfCStr* name, HandlerStack* handlerStack);
 
         static void Write(MdfStream& fd, MapDefinition* map, Version* version, MgTab& tab);
 

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOBaseMapLayer.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOBaseMapLayer.cpp	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOBaseMapLayer.cpp	2019-02-05 16:19:47 UTC (rev 9478)
@@ -49,7 +49,7 @@
 {
 }
 
-void IOBaseMapLayer::StartElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOBaseMapLayer::StartElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     this->m_currElemName = name;
     this->m_currElemId = _ElementIdFromName(name);
@@ -72,7 +72,7 @@
 }
 
 
-void IOBaseMapLayer::EndElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOBaseMapLayer::EndElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     if (this->m_startElemName == name)
     {

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOBaseMapLayer.h
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOBaseMapLayer.h	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOBaseMapLayer.h	2019-02-05 16:19:47 UTC (rev 9478)
@@ -36,8 +36,8 @@
         IOBaseMapLayer(BaseMapLayerCollection* baseMapLayers, Version& version);
         virtual ~IOBaseMapLayer();
 
-        virtual void StartElement(const wchar_t* name, HandlerStack* handlerStack);
-        virtual void EndElement(const wchar_t* name, HandlerStack* handlerStack);
+        virtual void StartElement(MdfCStr* name, HandlerStack* handlerStack);
+        virtual void EndElement(MdfCStr* name, HandlerStack* handlerStack);
 
         static void Write(MdfStream& fd, BaseMapLayer* baseMapLayer, Version* version, MgTab& tab);
 

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOBaseMapLayerGroup.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOBaseMapLayerGroup.cpp	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOBaseMapLayerGroup.cpp	2019-02-05 16:19:47 UTC (rev 9478)
@@ -54,7 +54,7 @@
 }
 
 
-void IOBaseMapLayerGroup::StartElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOBaseMapLayerGroup::StartElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     this->m_currElemName = name;
     this->m_currElemId = _ElementIdFromName(name);
@@ -86,7 +86,7 @@
 }
 
 
-void IOBaseMapLayerGroup::EndElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOBaseMapLayerGroup::EndElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     if (this->m_startElemName == name)
     {

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOBaseMapLayerGroup.h
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOBaseMapLayerGroup.h	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOBaseMapLayerGroup.h	2019-02-05 16:19:47 UTC (rev 9478)
@@ -38,8 +38,8 @@
         IOBaseMapLayerGroup(TileSetDefinition* tileset, Version& version);
         virtual ~IOBaseMapLayerGroup();
 
-        virtual void StartElement(const wchar_t* name, HandlerStack* handlerStack);
-        virtual void EndElement(const wchar_t* name, HandlerStack* handlerStack);
+        virtual void StartElement(MdfCStr* name, HandlerStack* handlerStack);
+        virtual void EndElement(MdfCStr* name, HandlerStack* handlerStack);
 
         static void Write(MdfStream& fd, BaseMapLayerGroup* baseMapLayerGroup, Version* version, MgTab& tab);
 };

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOBlockSymbol.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOBlockSymbol.cpp	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOBlockSymbol.cpp	2019-02-05 16:19:47 UTC (rev 9478)
@@ -50,7 +50,7 @@
 }
 
 
-void IOBlockSymbol::StartElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOBlockSymbol::StartElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     this->m_currElemName = name;
     this->m_currElemId = _ElementIdFromName(name);
@@ -73,7 +73,7 @@
 }
 
 
-void IOBlockSymbol::ElementChars(const wchar_t* ch)
+void IOBlockSymbol::ElementChars(MdfCStr* ch)
 {
     BlockSymbol* symbol = static_cast<BlockSymbol*>(this->m_symbol);
 
@@ -102,7 +102,7 @@
 }
 
 
-void IOBlockSymbol::EndElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOBlockSymbol::EndElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     if (this->m_startElemName == name)
     {

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOBlockSymbol.h
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOBlockSymbol.h	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOBlockSymbol.h	2019-02-05 16:19:47 UTC (rev 9478)
@@ -31,9 +31,9 @@
 {
     public:
         IOBlockSymbol(Version& version);
-        virtual void StartElement(const wchar_t* name, HandlerStack* handlerStack);
-        virtual void ElementChars(const wchar_t* ch);
-        virtual void EndElement(const wchar_t* name, HandlerStack* handlerStack);
+        virtual void StartElement(MdfCStr* name, HandlerStack* handlerStack);
+        virtual void ElementChars(MdfCStr* ch);
+        virtual void EndElement(MdfCStr* name, HandlerStack* handlerStack);
 
         static void Write(MdfStream& fd, BlockSymbol* blockSymbol, Version* version, MgTab& tab);
 };

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOCalculatedProperty.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOCalculatedProperty.cpp	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOCalculatedProperty.cpp	2019-02-05 16:19:47 UTC (rev 9478)
@@ -49,7 +49,7 @@
 }
 
 
-void IOCalculatedProperty::StartElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOCalculatedProperty::StartElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     this->m_currElemName = name;
     this->m_currElemId = _ElementIdFromName(name);
@@ -72,7 +72,7 @@
 }
 
 
-void IOCalculatedProperty::ElementChars(const wchar_t* ch)
+void IOCalculatedProperty::ElementChars(MdfCStr* ch)
 {
     switch (this->m_currElemId)
     {
@@ -87,7 +87,7 @@
 }
 
 
-void IOCalculatedProperty::EndElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOCalculatedProperty::EndElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     if (this->m_startElemName == name)
     {

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOCalculatedProperty.h
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOCalculatedProperty.h	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOCalculatedProperty.h	2019-02-05 16:19:47 UTC (rev 9478)
@@ -35,9 +35,9 @@
         IOCalculatedProperty(Extension* extension, Version& version);
         virtual ~IOCalculatedProperty();
 
-        virtual void StartElement(const wchar_t* name, HandlerStack* handlerStack);
-        virtual void ElementChars(const wchar_t* ch);
-        virtual void EndElement(const wchar_t* name, HandlerStack* handlerStack);
+        virtual void StartElement(MdfCStr* name, HandlerStack* handlerStack);
+        virtual void ElementChars(MdfCStr* ch);
+        virtual void EndElement(MdfCStr* name, HandlerStack* handlerStack);
 
         static void Write(MdfStream& fd, CalculatedProperty* calculatedProperty, Version* version, MgTab& tab);
 

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOChannelBand.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOChannelBand.cpp	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOChannelBand.cpp	2019-02-05 16:19:47 UTC (rev 9478)
@@ -54,7 +54,7 @@
 }
 
 
-void IOChannelBand::StartElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOChannelBand::StartElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     this->m_currElemName = name;
     this->m_currElemId = _ElementIdFromName(name);
@@ -80,7 +80,7 @@
 }
 
 
-void IOChannelBand::ElementChars(const wchar_t* ch)
+void IOChannelBand::ElementChars(MdfCStr* ch)
 {
     switch (this->m_currElemId)
     {
@@ -107,7 +107,7 @@
 }
 
 
-void IOChannelBand::EndElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOChannelBand::EndElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     if (this->m_startElemName == name)
     {

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOChannelBand.h
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOChannelBand.h	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOChannelBand.h	2019-02-05 16:19:47 UTC (rev 9478)
@@ -34,9 +34,9 @@
         IOChannelBand(ChannelBand* channel, Version& version);
         virtual ~IOChannelBand();
 
-        virtual void StartElement(const wchar_t* name, HandlerStack* handlerStack);
-        virtual void ElementChars(const wchar_t* ch);
-        virtual void EndElement(const wchar_t* name, HandlerStack* handlerStack);
+        virtual void StartElement(MdfCStr* name, HandlerStack* handlerStack);
+        virtual void ElementChars(MdfCStr* ch);
+        virtual void EndElement(MdfCStr* name, HandlerStack* handlerStack);
 
         static void Write(MdfStream& fd, const ChannelBand* channel, std::string name, Version* version, MgTab& tab);
 

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOCompositeRule.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOCompositeRule.cpp	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOCompositeRule.cpp	2019-02-05 16:19:47 UTC (rev 9478)
@@ -37,7 +37,7 @@
 }
 
 
-void IOCompositeRule::StartElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOCompositeRule::StartElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     this->m_currElemName = name;
     if (this->m_currElemName == MDF_STR("CompositeRule")) // NOXLATE
@@ -62,7 +62,7 @@
 }
 
 
-void IOCompositeRule::ElementChars(const wchar_t* ch)
+void IOCompositeRule::ElementChars(MdfCStr* ch)
 {
          IF_STRING_PROPERTY(this->m_currElemName, this->m_compositeRule, LegendLabel, ch)
     else IF_STRING_PROPERTY(this->m_currElemName, this->m_compositeRule, Filter, ch)
@@ -69,7 +69,7 @@
 }
 
 
-void IOCompositeRule::EndElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOCompositeRule::EndElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     if (this->m_startElemName == name)
     {

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOCompositeRule.h
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOCompositeRule.h	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOCompositeRule.h	2019-02-05 16:19:47 UTC (rev 9478)
@@ -34,9 +34,9 @@
         IOCompositeRule(CompositeTypeStyle* compositeTypeStyle, Version& version);
         virtual ~IOCompositeRule();
 
-        virtual void StartElement(const wchar_t* name, HandlerStack* handlerStack);
-        virtual void ElementChars(const wchar_t* ch);
-        virtual void EndElement(const wchar_t* name, HandlerStack* handlerStack);
+        virtual void StartElement(MdfCStr* name, HandlerStack* handlerStack);
+        virtual void ElementChars(MdfCStr* ch);
+        virtual void EndElement(MdfCStr* name, HandlerStack* handlerStack);
 
         static void Write(MdfStream& fd, CompositeRule* compositeRule, Version* version, MgTab& tab);
 

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOCompositeSymbolization.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOCompositeSymbolization.cpp	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOCompositeSymbolization.cpp	2019-02-05 16:19:47 UTC (rev 9478)
@@ -37,7 +37,7 @@
 }
 
 
-void IOCompositeSymbolization::StartElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOCompositeSymbolization::StartElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     this->m_currElemName = name;
     if (this->m_currElemName == MDF_STR("CompositeSymbolization")) // NOXLATE
@@ -62,12 +62,12 @@
 }
 
 
-void IOCompositeSymbolization::ElementChars(const wchar_t* ch)
+void IOCompositeSymbolization::ElementChars(MdfCStr* ch)
 {
 }
 
 
-void IOCompositeSymbolization::EndElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOCompositeSymbolization::EndElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     if (this->m_startElemName == name)
     {

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOCompositeSymbolization.h
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOCompositeSymbolization.h	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOCompositeSymbolization.h	2019-02-05 16:19:47 UTC (rev 9478)
@@ -34,9 +34,9 @@
         IOCompositeSymbolization(CompositeRule* compositeRule, Version& version);
         virtual ~IOCompositeSymbolization();
 
-        virtual void StartElement(const wchar_t* name, HandlerStack* handlerStack);
-        virtual void ElementChars(const wchar_t* ch);
-        virtual void EndElement(const wchar_t* name, HandlerStack* handlerStack);
+        virtual void StartElement(MdfCStr* name, HandlerStack* handlerStack);
+        virtual void ElementChars(MdfCStr* ch);
+        virtual void EndElement(MdfCStr* name, HandlerStack* handlerStack);
 
         static void Write(MdfStream& fd, CompositeSymbolization* compositeSymbolization, Version* version, MgTab& tab);
 

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOCompositeTypeStyle.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOCompositeTypeStyle.cpp	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOCompositeTypeStyle.cpp	2019-02-05 16:19:47 UTC (rev 9478)
@@ -42,7 +42,7 @@
 }
 
 
-void IOCompositeTypeStyle::StartElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOCompositeTypeStyle::StartElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     this->m_currElemName = name;
     this->m_currElemId = _ElementIdFromName(name);
@@ -73,7 +73,7 @@
 }
 
 
-void IOCompositeTypeStyle::ElementChars(const wchar_t* ch)
+void IOCompositeTypeStyle::ElementChars(MdfCStr* ch)
 {
     switch (this->m_currElemId)
     {
@@ -84,7 +84,7 @@
 }
 
 
-void IOCompositeTypeStyle::EndElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOCompositeTypeStyle::EndElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     if (this->m_startElemName == name)
     {

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOCompositeTypeStyle.h
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOCompositeTypeStyle.h	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOCompositeTypeStyle.h	2019-02-05 16:19:47 UTC (rev 9478)
@@ -34,9 +34,9 @@
         IOCompositeTypeStyle(VectorScaleRange* vectorScaleRange, Version& version);
         virtual ~IOCompositeTypeStyle();
 
-        virtual void StartElement(const wchar_t* name, HandlerStack* handlerStack);
-        virtual void ElementChars(const wchar_t* ch);
-        virtual void EndElement(const wchar_t* name, HandlerStack* handlerStack);
+        virtual void StartElement(MdfCStr* name, HandlerStack* handlerStack);
+        virtual void ElementChars(MdfCStr* ch);
+        virtual void EndElement(MdfCStr* name, HandlerStack* handlerStack);
 
         static void Write(MdfStream& fd, CompositeTypeStyle* compositeTypeStyle, Version* version, MgTab& tab);
 

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOCompoundSymbolDefinition.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOCompoundSymbolDefinition.cpp	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOCompoundSymbolDefinition.cpp	2019-02-05 16:19:47 UTC (rev 9478)
@@ -31,7 +31,7 @@
 }
 
 
-void IOCompoundSymbolDefinition::StartElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOCompoundSymbolDefinition::StartElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     this->m_currElemName = name;
     if (this->m_currElemName == MDF_STR("CompoundSymbolDefinition")) // NOXLATE
@@ -55,7 +55,7 @@
 }
 
 
-void IOCompoundSymbolDefinition::ElementChars(const wchar_t* ch)
+void IOCompoundSymbolDefinition::ElementChars(MdfCStr* ch)
 {
          IF_STRING_PROPERTY(this->m_currElemName, this->m_symbolDefinition, Name, ch)
     else IF_STRING_PROPERTY(this->m_currElemName, this->m_symbolDefinition, Description, ch)
@@ -62,7 +62,7 @@
 }
 
 
-void IOCompoundSymbolDefinition::EndElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOCompoundSymbolDefinition::EndElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     if (this->m_startElemName == name)
     {

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOCompoundSymbolDefinition.h
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOCompoundSymbolDefinition.h	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOCompoundSymbolDefinition.h	2019-02-05 16:19:47 UTC (rev 9478)
@@ -32,9 +32,9 @@
     public:
         IOCompoundSymbolDefinition(CompoundSymbolDefinition* symbolDefinition, Version& version);
 
-        virtual void StartElement(const wchar_t* name, HandlerStack* handlerStack);
-        virtual void ElementChars(const wchar_t* ch);
-        virtual void EndElement(const wchar_t* name, HandlerStack* handlerStack);
+        virtual void StartElement(MdfCStr* name, HandlerStack* handlerStack);
+        virtual void ElementChars(MdfCStr* ch);
+        virtual void EndElement(MdfCStr* name, HandlerStack* handlerStack);
 
         static void Write(MdfStream& fd, CompoundSymbolDefinition* symbolDefinition, bool writeAsRootElement, Version* version, MgTab& tab);
 

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IODrawingLayerDefinition.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IODrawingLayerDefinition.cpp	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IODrawingLayerDefinition.cpp	2019-02-05 16:19:47 UTC (rev 9478)
@@ -55,7 +55,7 @@
 }
 
 
-void IODrawingLayerDefinition::StartElement(const wchar_t* name, HandlerStack* handlerStack)
+void IODrawingLayerDefinition::StartElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     this->m_currElemName = name;
     this->m_currElemId = _ElementIdFromName(name);
@@ -91,7 +91,7 @@
 }
 
 
-void IODrawingLayerDefinition::ElementChars(const wchar_t* ch)
+void IODrawingLayerDefinition::ElementChars(MdfCStr* ch)
 {
     switch (this->m_currElemId)
     {
@@ -122,7 +122,7 @@
 }
 
 
-void IODrawingLayerDefinition::EndElement(const wchar_t* name, HandlerStack* handlerStack)
+void IODrawingLayerDefinition::EndElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     if (this->m_startElemName == name)
     {

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IODrawingLayerDefinition.h
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IODrawingLayerDefinition.h	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IODrawingLayerDefinition.h	2019-02-05 16:19:47 UTC (rev 9478)
@@ -34,9 +34,9 @@
         IODrawingLayerDefinition(DrawingLayerDefinition* layer, Version& version);
         virtual ~IODrawingLayerDefinition();
 
-        virtual void StartElement(const wchar_t* name, HandlerStack* handlerStack);
-        virtual void ElementChars(const wchar_t* ch);
-        virtual void EndElement(const wchar_t* name, HandlerStack* handlerStack);
+        virtual void StartElement(MdfCStr* name, HandlerStack* handlerStack);
+        virtual void ElementChars(MdfCStr* ch);
+        virtual void EndElement(MdfCStr* name, HandlerStack* handlerStack);
 
         static void Write(MdfStream& fd, DrawingLayerDefinition* drawingLayer, Version* version, MgTab& tab);
 

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOElevationSettings.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOElevationSettings.cpp	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOElevationSettings.cpp	2019-02-05 16:19:47 UTC (rev 9478)
@@ -51,7 +51,7 @@
 }
 
 
-void IOElevationSettings::StartElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOElevationSettings::StartElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     this->m_currElemName = name;
     this->m_currElemId = _ElementIdFromName(name);
@@ -74,7 +74,7 @@
 }
 
 
-void IOElevationSettings::ElementChars(const wchar_t* ch)
+void IOElevationSettings::ElementChars(MdfCStr* ch)
 {
     switch (this->m_currElemId)
     {
@@ -101,7 +101,7 @@
 }
 
 
-void IOElevationSettings::EndElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOElevationSettings::EndElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     if (this->m_startElemName == name)
     {

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOElevationSettings.h
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOElevationSettings.h	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOElevationSettings.h	2019-02-05 16:19:47 UTC (rev 9478)
@@ -35,9 +35,9 @@
         IOElevationSettings(VectorScaleRange* scaleRange, Version& version);
         virtual ~IOElevationSettings();
 
-        virtual void StartElement(const wchar_t* name, HandlerStack* handlerStack);
-        virtual void ElementChars(const wchar_t* ch);
-        virtual void EndElement(const wchar_t* name, HandlerStack* handlerStack);
+        virtual void StartElement(MdfCStr* name, HandlerStack* handlerStack);
+        virtual void ElementChars(MdfCStr* ch);
+        virtual void EndElement(MdfCStr* name, HandlerStack* handlerStack);
 
         static void Write(MdfStream& fd, ElevationSettings* elevationSettings, Version* version, MgTab& tab);
 

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOExtension.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOExtension.cpp	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOExtension.cpp	2019-02-05 16:19:47 UTC (rev 9478)
@@ -52,7 +52,7 @@
 }
 
 
-void IOExtension::StartElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOExtension::StartElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     this->m_currElemName = name;
     this->m_currElemId = _ElementIdFromName(name);
@@ -91,7 +91,7 @@
 }
 
 
-void IOExtension::ElementChars(const wchar_t* ch)
+void IOExtension::ElementChars(MdfCStr* ch)
 {
     switch (this->m_currElemId)
     {
@@ -106,7 +106,7 @@
 }
 
 
-void IOExtension::EndElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOExtension::EndElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     if (this->m_startElemName == name)
     {

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOExtension.h
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOExtension.h	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOExtension.h	2019-02-05 16:19:47 UTC (rev 9478)
@@ -35,9 +35,9 @@
         IOExtension(FeatureSource* featureSource, Version& version);
         virtual ~IOExtension();
 
-        virtual void StartElement(const wchar_t* name, HandlerStack* handlerStack);
-        virtual void ElementChars(const wchar_t* ch);
-        virtual void EndElement(const wchar_t* name, HandlerStack* handlerStack);
+        virtual void StartElement(MdfCStr* name, HandlerStack* handlerStack);
+        virtual void ElementChars(MdfCStr* ch);
+        virtual void EndElement(MdfCStr* name, HandlerStack* handlerStack);
 
         static void Write(MdfStream& fd, Extension* extension, Version* version, MgTab& tab);
 

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOExtra.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOExtra.cpp	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOExtra.cpp	2019-02-05 16:19:47 UTC (rev 9478)
@@ -68,7 +68,7 @@
 }
 
 
-void IOExtra::StartElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOExtra::StartElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     this->m_currElemName = name;
     this->m_currElemId = _ElementIdFromName(name);
@@ -82,7 +82,7 @@
 }
 
 
-void IOExtra::ElementChars(const wchar_t* ch)
+void IOExtra::ElementChars(MdfCStr* ch)
 {
     switch (this->m_currElemId)
     {
@@ -105,7 +105,7 @@
 }
 
 
-void IOExtra::EndElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOExtra::EndElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     if (this->m_startElemName == name)
     {

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOExtra.h
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOExtra.h	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOExtra.h	2019-02-05 16:19:47 UTC (rev 9478)
@@ -37,9 +37,9 @@
         IOExtra(TileSetDefinition* map, Version& version);
         virtual ~IOExtra();
 
-        virtual void StartElement(const wchar_t* name, HandlerStack* handlerStack);
-        virtual void ElementChars(const wchar_t* ch);
-        virtual void EndElement(const wchar_t* name, HandlerStack* handlerStack);
+        virtual void StartElement(MdfCStr* name, HandlerStack* handlerStack);
+        virtual void ElementChars(MdfCStr* ch);
+        virtual void EndElement(MdfCStr* name, HandlerStack* handlerStack);
 
         static void WriteBox2D(MdfStream& fd, const Box2D& box2D, bool autoCorrect, Version* version, MgTab& tab);
 

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOFeatureSource.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOFeatureSource.cpp	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOFeatureSource.cpp	2019-02-05 16:19:47 UTC (rev 9478)
@@ -54,7 +54,7 @@
 }
 
 
-void IOFeatureSource::StartElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOFeatureSource::StartElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     this->m_currElemName = name;
     this->m_currElemId = _ElementIdFromName(name);
@@ -100,7 +100,7 @@
 }
 
 
-void IOFeatureSource::ElementChars(const wchar_t* ch)
+void IOFeatureSource::ElementChars(MdfCStr* ch)
 {
     switch (this->m_currElemId)
     {
@@ -119,7 +119,7 @@
 }
 
 
-void IOFeatureSource::EndElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOFeatureSource::EndElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     if (this->m_startElemName == name)
     {

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOFeatureSource.h
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOFeatureSource.h	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOFeatureSource.h	2019-02-05 16:19:47 UTC (rev 9478)
@@ -34,9 +34,9 @@
         IOFeatureSource(FeatureSource* featureSource, Version& version);
         virtual ~IOFeatureSource();
 
-        virtual void StartElement(const wchar_t* name, HandlerStack* handlerStack);
-        virtual void ElementChars(const wchar_t* ch);
-        virtual void EndElement(const wchar_t* name, HandlerStack* handlerStack);
+        virtual void StartElement(MdfCStr* name, HandlerStack* handlerStack);
+        virtual void ElementChars(MdfCStr* ch);
+        virtual void EndElement(MdfCStr* name, HandlerStack* handlerStack);
 
         static void Write(MdfStream& fd, FeatureSource* featureSource, Version* version, MgTab& tab);
 

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOFill.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOFill.cpp	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOFill.cpp	2019-02-05 16:19:47 UTC (rev 9478)
@@ -48,7 +48,7 @@
 }
 
 
-void IOFill::StartElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOFill::StartElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     this->m_currElemName = name;
     this->m_currElemId = _ElementIdFromName(name);
@@ -70,7 +70,7 @@
 }
 
 
-void IOFill::ElementChars(const wchar_t* ch)
+void IOFill::ElementChars(MdfCStr* ch)
 {
     switch (this->m_currElemId)
     {
@@ -89,7 +89,7 @@
 }
 
 
-void IOFill::EndElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOFill::EndElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     if (this->m_startElemName == name)
     {

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOFill.h
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOFill.h	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOFill.h	2019-02-05 16:19:47 UTC (rev 9478)
@@ -34,9 +34,9 @@
         IOFill(Fill* fill, Version& version);
         virtual ~IOFill();
 
-        virtual void StartElement(const wchar_t* name, HandlerStack* handlerStack);
-        virtual void ElementChars(const wchar_t* ch);
-        virtual void EndElement(const wchar_t* name, HandlerStack* handlerStack);
+        virtual void StartElement(MdfCStr* name, HandlerStack* handlerStack);
+        virtual void ElementChars(MdfCStr* ch);
+        virtual void EndElement(MdfCStr* name, HandlerStack* handlerStack);
 
         static void Write(MdfStream& fd, Fill* fill, Version* version, MgTab& tab);
 

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOFontSymbol.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOFontSymbol.cpp	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOFontSymbol.cpp	2019-02-05 16:19:47 UTC (rev 9478)
@@ -52,7 +52,7 @@
 }
 
 
-void IOFontSymbol::StartElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOFontSymbol::StartElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     this->m_currElemName = name;
     this->m_currElemId = _ElementIdFromName(name);
@@ -75,7 +75,7 @@
 }
 
 
-void IOFontSymbol::ElementChars(const wchar_t* ch)
+void IOFontSymbol::ElementChars(MdfCStr* ch)
 {
     FontSymbol* symbol = static_cast<FontSymbol*>(this->m_symbol);
 
@@ -112,7 +112,7 @@
 }
 
 
-void IOFontSymbol::EndElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOFontSymbol::EndElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     if (this->m_startElemName == name)
     {

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOFontSymbol.h
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOFontSymbol.h	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOFontSymbol.h	2019-02-05 16:19:47 UTC (rev 9478)
@@ -31,9 +31,9 @@
 {
     public:
         IOFontSymbol(Version& version);
-        virtual void StartElement(const wchar_t* name, HandlerStack* handlerStack);
-        virtual void ElementChars(const wchar_t* ch);
-        virtual void EndElement(const wchar_t* name, HandlerStack* handlerStack);
+        virtual void StartElement(MdfCStr* name, HandlerStack* handlerStack);
+        virtual void ElementChars(MdfCStr* ch);
+        virtual void EndElement(MdfCStr* name, HandlerStack* handlerStack);
 
         static void Write(MdfStream& fd, FontSymbol* fontSymbol, Version* version, MgTab& tab);
 };

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOGraphicElement.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOGraphicElement.cpp	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOGraphicElement.cpp	2019-02-05 16:19:47 UTC (rev 9478)
@@ -34,13 +34,13 @@
 }
 
 
-void IOGraphicElement::ElementChars(const wchar_t* ch)
+void IOGraphicElement::ElementChars(MdfCStr* ch)
 {
     IF_STRING_PROPERTY(this->m_currElemName, this->m_element, ResizeControl, ch)
 }
 
 
-void IOGraphicElement::EndElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOGraphicElement::EndElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     if (this->m_startElemName == name)
     {

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOGraphicElement.h
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOGraphicElement.h	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOGraphicElement.h	2019-02-05 16:19:47 UTC (rev 9478)
@@ -33,8 +33,8 @@
         IOGraphicElement(GraphicElement* element, Version& version);
         virtual ~IOGraphicElement();
 
-        virtual void ElementChars(const wchar_t* ch);
-        virtual void EndElement(const wchar_t* name, HandlerStack* handlerStack);
+        virtual void ElementChars(MdfCStr* ch);
+        virtual void EndElement(MdfCStr* name, HandlerStack* handlerStack);
 
         static void Write(MdfStream& fd, GraphicElement* element, Version* version, MgTab& tab);
 

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOGraphicElementCollection.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOGraphicElementCollection.cpp	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOGraphicElementCollection.cpp	2019-02-05 16:19:47 UTC (rev 9478)
@@ -37,7 +37,7 @@
 }
 
 
-void IOGraphicElementCollection::StartElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOGraphicElementCollection::StartElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     this->m_currElemName = name;
     if (this->m_currElemName == MDF_STR("Graphics")) // NOXLATE
@@ -73,12 +73,12 @@
 }
 
 
-void IOGraphicElementCollection::ElementChars(const wchar_t* ch)
+void IOGraphicElementCollection::ElementChars(MdfCStr* ch)
 {
 }
 
 
-void IOGraphicElementCollection::EndElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOGraphicElementCollection::EndElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     if (this->m_startElemName == name)
     {

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOGraphicElementCollection.h
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOGraphicElementCollection.h	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOGraphicElementCollection.h	2019-02-05 16:19:47 UTC (rev 9478)
@@ -33,9 +33,9 @@
         IOGraphicElementCollection(GraphicElementCollection* elementCollection, Version& version);
         virtual ~IOGraphicElementCollection();
 
-        virtual void StartElement(const wchar_t* name, HandlerStack* handlerStack);
-        virtual void ElementChars(const wchar_t* ch);
-        virtual void EndElement(const wchar_t* name, HandlerStack* handlerStack);
+        virtual void StartElement(MdfCStr* name, HandlerStack* handlerStack);
+        virtual void ElementChars(MdfCStr* ch);
+        virtual void EndElement(MdfCStr* name, HandlerStack* handlerStack);
 
         static void Write(MdfStream& fd, GraphicElementCollection* elementCollection, Version* version, MgTab& tab);
 

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOGridColor.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOGridColor.cpp	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOGridColor.cpp	2019-02-05 16:19:47 UTC (rev 9478)
@@ -49,7 +49,7 @@
 }
 
 
-void IOGridColor::StartElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOGridColor::StartElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     this->m_currElemName = name;
     this->m_currElemId = _ElementIdFromName(name);
@@ -79,7 +79,7 @@
 }
 
 
-void IOGridColor::ElementChars(const wchar_t* ch)
+void IOGridColor::ElementChars(MdfCStr* ch)
 {
     switch (this->m_currElemId)
     {
@@ -102,7 +102,7 @@
 }
 
 
-void IOGridColor::EndElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOGridColor::EndElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     if (this->m_startElemName == name)
     {

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOGridColor.h
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOGridColor.h	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOGridColor.h	2019-02-05 16:19:47 UTC (rev 9478)
@@ -36,9 +36,9 @@
         IOGridColor(GridColorRule* colorRule, Version& version);
         virtual ~IOGridColor();
 
-        virtual void StartElement(const wchar_t* name, HandlerStack* handlerStack);
-        virtual void ElementChars(const wchar_t* ch);
-        virtual void EndElement(const wchar_t* name, HandlerStack* handlerStack);
+        virtual void StartElement(MdfCStr* name, HandlerStack* handlerStack);
+        virtual void ElementChars(MdfCStr* ch);
+        virtual void EndElement(MdfCStr* name, HandlerStack* handlerStack);
 
         static void Write(MdfStream& fd, GridColor* color, Version* version, MgTab& tab);
 
@@ -54,9 +54,9 @@
         IOGridColorBands(GridColorRule* colorRule, Version& version);
         virtual ~IOGridColorBands();
 
-        virtual void StartElement(const wchar_t* name, HandlerStack* handlerStack);
-        virtual void ElementChars(const wchar_t* ch);
-        virtual void EndElement(const wchar_t* name, HandlerStack* handlerStack);
+        virtual void StartElement(MdfCStr* name, HandlerStack* handlerStack);
+        virtual void ElementChars(MdfCStr* ch);
+        virtual void EndElement(MdfCStr* name, HandlerStack* handlerStack);
 
         static void Write(MdfStream& fd, GridColorBands* colorBands, Version* version, MgTab& tab);
 

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOGridColorBands.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOGridColorBands.cpp	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOGridColorBands.cpp	2019-02-05 16:19:47 UTC (rev 9478)
@@ -55,7 +55,7 @@
 }
 
 
-void IOGridColorBands::StartElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOGridColorBands::StartElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     this->m_currElemName = name;
     this->m_currElemId = _ElementIdFromName(name);
@@ -105,12 +105,12 @@
 }
 
 
-void IOGridColorBands::ElementChars(const wchar_t* ch)
+void IOGridColorBands::ElementChars(MdfCStr* ch)
 {
 }
 
 
-void IOGridColorBands::EndElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOGridColorBands::EndElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     if (this->m_startElemName == name)
     {

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOGridColorRule.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOGridColorRule.cpp	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOGridColorRule.cpp	2019-02-05 16:19:47 UTC (rev 9478)
@@ -53,7 +53,7 @@
 }
 
 
-void IOGridColorRule::StartElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOGridColorRule::StartElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     this->m_currElemName = name;
     this->m_currElemId = _ElementIdFromName(name);
@@ -92,7 +92,7 @@
 }
 
 
-void IOGridColorRule::ElementChars(const wchar_t* ch)
+void IOGridColorRule::ElementChars(MdfCStr* ch)
 {
     switch (this->m_currElemId)
     {
@@ -107,7 +107,7 @@
 }
 
 
-void IOGridColorRule::EndElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOGridColorRule::EndElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     if (this->m_startElemName == name)
     {

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOGridColorRule.h
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOGridColorRule.h	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOGridColorRule.h	2019-02-05 16:19:47 UTC (rev 9478)
@@ -35,9 +35,9 @@
         IOGridColorRule(GridColorStyle* colorStyle, Version& version);
         virtual ~IOGridColorRule();
 
-        virtual void StartElement(const wchar_t* name, HandlerStack* handlerStack);
-        virtual void ElementChars(const wchar_t* ch);
-        virtual void EndElement(const wchar_t* name, HandlerStack* handlerStack);
+        virtual void StartElement(MdfCStr* name, HandlerStack* handlerStack);
+        virtual void ElementChars(MdfCStr* ch);
+        virtual void EndElement(MdfCStr* name, HandlerStack* handlerStack);
 
         static void Write(MdfStream& fd, GridColorRule* colorRule, Version* version, MgTab& tab);
 

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOGridColorStyle.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOGridColorStyle.cpp	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOGridColorStyle.cpp	2019-02-05 16:19:47 UTC (rev 9478)
@@ -54,7 +54,7 @@
 }
 
 
-void IOGridColorStyle::StartElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOGridColorStyle::StartElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     this->m_currElemName = name;
     this->m_currElemId = _ElementIdFromName(name);
@@ -93,7 +93,7 @@
 }
 
 
-void IOGridColorStyle::ElementChars(const wchar_t* ch)
+void IOGridColorStyle::ElementChars(MdfCStr* ch)
 {
     switch (this->m_currElemId)
     {
@@ -112,7 +112,7 @@
 }
 
 
-void IOGridColorStyle::EndElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOGridColorStyle::EndElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     if (this->m_startElemName == name)
     {

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOGridColorStyle.h
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOGridColorStyle.h	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOGridColorStyle.h	2019-02-05 16:19:47 UTC (rev 9478)
@@ -35,9 +35,9 @@
         IOGridColorStyle(GridScaleRange* scaleRange, Version& version);
         virtual ~IOGridColorStyle();
 
-        virtual void StartElement(const wchar_t* name, HandlerStack* handlerStack);
-        virtual void ElementChars(const wchar_t* ch);
-        virtual void EndElement(const wchar_t* name, HandlerStack* handlerStack);
+        virtual void StartElement(MdfCStr* name, HandlerStack* handlerStack);
+        virtual void ElementChars(MdfCStr* ch);
+        virtual void EndElement(MdfCStr* name, HandlerStack* handlerStack);
 
         static void Write(MdfStream& fd, GridColorStyle* colorStyle, Version* version, MgTab& tab);
 

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOGridLayerDefinition.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOGridLayerDefinition.cpp	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOGridLayerDefinition.cpp	2019-02-05 16:19:47 UTC (rev 9478)
@@ -55,7 +55,7 @@
 }
 
 
-void IOGridLayerDefinition::StartElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOGridLayerDefinition::StartElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     this->m_currElemName = name;
     this->m_currElemId = _ElementIdFromName(name);
@@ -99,7 +99,7 @@
 }
 
 
-void IOGridLayerDefinition::ElementChars(const wchar_t* ch)
+void IOGridLayerDefinition::ElementChars(MdfCStr* ch)
 {
     switch (this->m_currElemId)
     {
@@ -126,7 +126,7 @@
 }
 
 
-void IOGridLayerDefinition::EndElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOGridLayerDefinition::EndElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     if (this->m_startElemName == name)
     {

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOGridLayerDefinition.h
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOGridLayerDefinition.h	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOGridLayerDefinition.h	2019-02-05 16:19:47 UTC (rev 9478)
@@ -34,9 +34,9 @@
         IOGridLayerDefinition(GridLayerDefinition* layer, Version& version);
         virtual ~IOGridLayerDefinition();
 
-        virtual void StartElement(const wchar_t* name, HandlerStack* handlerStack);
-        virtual void ElementChars(const wchar_t* ch);
-        virtual void EndElement(const wchar_t* name, HandlerStack* handlerStack);
+        virtual void StartElement(MdfCStr* name, HandlerStack* handlerStack);
+        virtual void ElementChars(MdfCStr* ch);
+        virtual void EndElement(MdfCStr* name, HandlerStack* handlerStack);
 
         static void Write(MdfStream& fd, GridLayerDefinition* gridLayer, Version* version, MgTab& tab);
 

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOGridScaleRange.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOGridScaleRange.cpp	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOGridScaleRange.cpp	2019-02-05 16:19:47 UTC (rev 9478)
@@ -57,7 +57,7 @@
 }
 
 
-void IOGridScaleRange::StartElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOGridScaleRange::StartElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     this->m_currElemName = name;
     this->m_currElemId = _ElementIdFromName(name);
@@ -96,7 +96,7 @@
 }
 
 
-void IOGridScaleRange::ElementChars(const wchar_t* ch)
+void IOGridScaleRange::ElementChars(MdfCStr* ch)
 {
     switch (this->m_currElemId)
     {
@@ -115,7 +115,7 @@
 }
 
 
-void IOGridScaleRange::EndElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOGridScaleRange::EndElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     if (this->m_startElemName == name)
     {

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOGridScaleRange.h
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOGridScaleRange.h	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOGridScaleRange.h	2019-02-05 16:19:47 UTC (rev 9478)
@@ -35,9 +35,9 @@
         IOGridScaleRange(GridLayerDefinition* layer, Version& version);
         virtual ~IOGridScaleRange();
 
-        virtual void StartElement(const wchar_t* name, HandlerStack* handlerStack);
-        virtual void ElementChars(const wchar_t* ch);
-        virtual void EndElement(const wchar_t* name, HandlerStack* handlerStack);
+        virtual void StartElement(MdfCStr* name, HandlerStack* handlerStack);
+        virtual void ElementChars(MdfCStr* ch);
+        virtual void EndElement(MdfCStr* name, HandlerStack* handlerStack);
 
         static void Write(MdfStream& fd, GridScaleRange* scaleRange, Version* version, MgTab& tab);
 

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOGridSurfaceStyle.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOGridSurfaceStyle.cpp	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOGridSurfaceStyle.cpp	2019-02-05 16:19:47 UTC (rev 9478)
@@ -51,7 +51,7 @@
 }
 
 
-void IOGridSurfaceStyle::StartElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOGridSurfaceStyle::StartElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     this->m_currElemName = name;
     this->m_currElemId = _ElementIdFromName(name);
@@ -74,7 +74,7 @@
 }
 
 
-void IOGridSurfaceStyle::ElementChars(const wchar_t* ch)
+void IOGridSurfaceStyle::ElementChars(MdfCStr* ch)
 {
     switch (this->m_currElemId)
     {
@@ -97,7 +97,7 @@
 }
 
 
-void IOGridSurfaceStyle::EndElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOGridSurfaceStyle::EndElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     if (this->m_startElemName == name)
     {

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOGridSurfaceStyle.h
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOGridSurfaceStyle.h	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOGridSurfaceStyle.h	2019-02-05 16:19:47 UTC (rev 9478)
@@ -35,9 +35,9 @@
         IOGridSurfaceStyle(GridScaleRange* scaleRange, Version& version);
         virtual ~IOGridSurfaceStyle();
 
-        virtual void StartElement(const wchar_t* name, HandlerStack* handlerStack);
-        virtual void ElementChars(const wchar_t* ch);
-        virtual void EndElement(const wchar_t* name, HandlerStack* handlerStack);
+        virtual void StartElement(MdfCStr* name, HandlerStack* handlerStack);
+        virtual void ElementChars(MdfCStr* ch);
+        virtual void EndElement(MdfCStr* name, HandlerStack* handlerStack);
 
         static void Write(MdfStream& fd, GridSurfaceStyle* surfaceStyle, Version* version, MgTab& tab);
 

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOHillShade.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOHillShade.cpp	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOHillShade.cpp	2019-02-05 16:19:47 UTC (rev 9478)
@@ -51,7 +51,7 @@
 }
 
 
-void IOHillShade::StartElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOHillShade::StartElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     this->m_currElemName = name;
     this->m_currElemId = _ElementIdFromName(name);
@@ -74,7 +74,7 @@
 }
 
 
-void IOHillShade::ElementChars(const wchar_t* ch)
+void IOHillShade::ElementChars(MdfCStr* ch)
 {
     switch (this->m_currElemId)
     {
@@ -97,7 +97,7 @@
 }
 
 
-void IOHillShade::EndElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOHillShade::EndElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     if (this->m_startElemName == name)
     {

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOHillShade.h
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOHillShade.h	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOHillShade.h	2019-02-05 16:19:47 UTC (rev 9478)
@@ -35,9 +35,9 @@
         IOHillShade(GridColorStyle* colorStyle, Version& version);
         virtual ~IOHillShade();
 
-        virtual void StartElement(const wchar_t* name, HandlerStack* handlerStack);
-        virtual void ElementChars(const wchar_t* ch);
-        virtual void EndElement(const wchar_t* name, HandlerStack* handlerStack);
+        virtual void StartElement(MdfCStr* name, HandlerStack* handlerStack);
+        virtual void ElementChars(MdfCStr* ch);
+        virtual void EndElement(MdfCStr* name, HandlerStack* handlerStack);
 
         static void Write(MdfStream& fd, HillShade* hillShade, Version* version, MgTab& tab);
 

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOImage.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOImage.cpp	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOImage.cpp	2019-02-05 16:19:47 UTC (rev 9478)
@@ -30,7 +30,7 @@
 }
 
 
-void IOImage::StartImageElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOImage::StartImageElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     // the element is an image with the supplied name
     this->m_currElemName = name;
@@ -38,7 +38,7 @@
 }
 
 
-void IOImage::StartElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOImage::StartElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     this->m_currElemName = name;
     if (this->m_currElemName == MDF_STR("ExtendedData1")) // NOXLATE
@@ -52,7 +52,7 @@
 }
 
 
-void IOImage::ElementChars(const wchar_t* ch)
+void IOImage::ElementChars(MdfCStr* ch)
 {
     Image* image = static_cast<Image*>(this->m_element);
 

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOImage.h
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOImage.h	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOImage.h	2019-02-05 16:19:47 UTC (rev 9478)
@@ -32,10 +32,10 @@
     public:
         IOImage(Image* image, Version& version);
 
-        void StartImageElement(const wchar_t* name, HandlerStack* handlerStack);
+        void StartImageElement(MdfCStr* name, HandlerStack* handlerStack);
 
-        virtual void StartElement(const wchar_t* name, HandlerStack* handlerStack);
-        virtual void ElementChars(const wchar_t* ch);
+        virtual void StartElement(MdfCStr* name, HandlerStack* handlerStack);
+        virtual void ElementChars(MdfCStr* ch);
 
         static void Write(MdfStream& fd, Image* image, Version* version, MgTab& tab);
 };

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOImageSymbol.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOImageSymbol.cpp	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOImageSymbol.cpp	2019-02-05 16:19:47 UTC (rev 9478)
@@ -48,7 +48,7 @@
 }
 
 
-void IOImageSymbol::StartElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOImageSymbol::StartElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     this->m_currElemName = name;
     this->m_currElemId = _ElementIdFromName(name);
@@ -82,7 +82,7 @@
 }
 
 
-void IOImageSymbol::ElementChars(const wchar_t* ch)
+void IOImageSymbol::ElementChars(MdfCStr* ch)
 {
     ImageSymbol* symbol = static_cast<ImageSymbol*>(this->m_symbol);
 
@@ -99,7 +99,7 @@
 }
 
 
-void IOImageSymbol::EndElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOImageSymbol::EndElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     if (this->m_startElemName == name)
     {

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOImageSymbol.h
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOImageSymbol.h	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOImageSymbol.h	2019-02-05 16:19:47 UTC (rev 9478)
@@ -32,9 +32,9 @@
 {
     public:
         IOImageSymbol(Version& version);
-        virtual void StartElement(const wchar_t* name, HandlerStack* handlerStack);
-        virtual void ElementChars(const wchar_t* ch);
-        virtual void EndElement(const wchar_t* name, HandlerStack* handlerStack);
+        virtual void StartElement(MdfCStr* name, HandlerStack* handlerStack);
+        virtual void ElementChars(MdfCStr* ch);
+        virtual void EndElement(MdfCStr* name, HandlerStack* handlerStack);
 
         static void Write(MdfStream& fd, ImageSymbol* imageSymbol, Version* version, MgTab& tab);
 

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOLabel.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOLabel.cpp	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOLabel.cpp	2019-02-05 16:19:47 UTC (rev 9478)
@@ -70,7 +70,7 @@
 }
 
 
-void IOLabel::StartElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOLabel::StartElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     this->m_currElemName = name;
     this->m_currElemId = _ElementIdFromName(name);
@@ -93,7 +93,7 @@
 }
 
 
-void IOLabel::ElementChars(const wchar_t* ch)
+void IOLabel::ElementChars(MdfCStr* ch)
 {
     if (this->m_label->GetSymbol() == NULL)
         this->m_label->AdoptSymbol(new TextSymbol());
@@ -221,7 +221,7 @@
 }
 
 
-void IOLabel::EndElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOLabel::EndElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     if (this->m_startElemName == name)
     {

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOLabel.h
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOLabel.h	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOLabel.h	2019-02-05 16:19:47 UTC (rev 9478)
@@ -35,9 +35,9 @@
         IOLabel(Rule* rule, Version& version);
         virtual ~IOLabel();
 
-        virtual void StartElement(const wchar_t* name, HandlerStack* handlerStack);
-        virtual void ElementChars(const wchar_t* ch);
-        virtual void EndElement(const wchar_t* name, HandlerStack* handlerStack);
+        virtual void StartElement(MdfCStr* name, HandlerStack* handlerStack);
+        virtual void ElementChars(MdfCStr* ch);
+        virtual void EndElement(MdfCStr* name, HandlerStack* handlerStack);
 
         static void Write(MdfStream& fd, Label* label, Version* version, MgTab& tab);
 

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOLineRule.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOLineRule.cpp	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOLineRule.cpp	2019-02-05 16:19:47 UTC (rev 9478)
@@ -53,7 +53,7 @@
 }
 
 
-void IOLineRule::StartElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOLineRule::StartElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     this->m_currElemName = name;
     this->m_currElemId = _ElementIdFromName(name);
@@ -92,7 +92,7 @@
 }
 
 
-void IOLineRule::ElementChars(const wchar_t* ch)
+void IOLineRule::ElementChars(MdfCStr* ch)
 {
     switch (this->m_currElemId)
     {
@@ -107,7 +107,7 @@
 }
 
 
-void IOLineRule::EndElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOLineRule::EndElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     if (this->m_startElemName == name)
     {

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOLineRule.h
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOLineRule.h	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOLineRule.h	2019-02-05 16:19:47 UTC (rev 9478)
@@ -35,9 +35,9 @@
         IOLineRule(LineTypeStyle* lineTypeStyle, Version& version);
         virtual ~IOLineRule();
 
-        virtual void StartElement(const wchar_t* name, HandlerStack* handlerStack);
-        virtual void ElementChars(const wchar_t* ch);
-        virtual void EndElement(const wchar_t* name, HandlerStack* handlerStack);
+        virtual void StartElement(MdfCStr* name, HandlerStack* handlerStack);
+        virtual void ElementChars(MdfCStr* ch);
+        virtual void EndElement(MdfCStr* name, HandlerStack* handlerStack);
 
         static void Write(MdfStream& fd, LineRule* lineRule, Version* version, MgTab& tab);
 

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOLineSymbolization2D.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOLineSymbolization2D.cpp	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOLineSymbolization2D.cpp	2019-02-05 16:19:47 UTC (rev 9478)
@@ -52,7 +52,7 @@
 }
 
 
-void IOLineSymbolization2D::StartElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOLineSymbolization2D::StartElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     this->m_currElemName = name;
     this->m_currElemId = _ElementIdFromName(name);
@@ -75,7 +75,7 @@
 }
 
 
-void IOLineSymbolization2D::ElementChars(const wchar_t* ch)
+void IOLineSymbolization2D::ElementChars(MdfCStr* ch)
 {
     Stroke* stroke = this->m_lineSymbolization->GetStroke();
 
@@ -107,7 +107,7 @@
 }
 
 
-void IOLineSymbolization2D::EndElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOLineSymbolization2D::EndElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     if (this->m_startElemName == name)
     {

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOLineSymbolization2D.h
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOLineSymbolization2D.h	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOLineSymbolization2D.h	2019-02-05 16:19:47 UTC (rev 9478)
@@ -35,9 +35,9 @@
         IOLineSymbolization2D(LineRule* lineRule, Version& version);
         virtual ~IOLineSymbolization2D();
 
-        virtual void StartElement(const wchar_t* name, HandlerStack* handlerStack);
-        virtual void ElementChars(const wchar_t* ch);
-        virtual void EndElement(const wchar_t* name, HandlerStack* handlerStack);
+        virtual void StartElement(MdfCStr* name, HandlerStack* handlerStack);
+        virtual void ElementChars(MdfCStr* ch);
+        virtual void EndElement(MdfCStr* name, HandlerStack* handlerStack);
 
         static void Write(MdfStream& fd, LineSymbolization2D* lineSymbolization, Version* version, MgTab& tab);
 

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOLineTypeStyle.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOLineTypeStyle.cpp	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOLineTypeStyle.cpp	2019-02-05 16:19:47 UTC (rev 9478)
@@ -50,7 +50,7 @@
 }
 
 
-void IOLineTypeStyle::StartElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOLineTypeStyle::StartElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     this->m_currElemName = name;
     this->m_currElemId = _ElementIdFromName(name);
@@ -81,7 +81,7 @@
 }
 
 
-void IOLineTypeStyle::ElementChars(const wchar_t* ch)
+void IOLineTypeStyle::ElementChars(MdfCStr* ch)
 {
     if (eShowInLegend == this->m_currElemId)
         this->m_lineTypeStyle->SetShowInLegend(wstrToBool(ch));
@@ -88,7 +88,7 @@
 }
 
 
-void IOLineTypeStyle::EndElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOLineTypeStyle::EndElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     if (this->m_startElemName == name)
     {

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOLineTypeStyle.h
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOLineTypeStyle.h	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOLineTypeStyle.h	2019-02-05 16:19:47 UTC (rev 9478)
@@ -35,9 +35,9 @@
         IOLineTypeStyle(VectorScaleRange* scaleRange, Version& version);
         virtual ~IOLineTypeStyle();
 
-        virtual void StartElement(const wchar_t* name, HandlerStack* handlerStack);
-        virtual void ElementChars(const wchar_t* ch);
-        virtual void EndElement(const wchar_t* name, HandlerStack* handlerStack);
+        virtual void StartElement(MdfCStr* name, HandlerStack* handlerStack);
+        virtual void ElementChars(MdfCStr* ch);
+        virtual void EndElement(MdfCStr* name, HandlerStack* handlerStack);
 
         static void Write(MdfStream& fd, LineTypeStyle* lineTypeStyle, Version* version, MgTab& tab);
 

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOLineUsage.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOLineUsage.cpp	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOLineUsage.cpp	2019-02-05 16:19:47 UTC (rev 9478)
@@ -32,7 +32,7 @@
 }
 
 
-void IOLineUsage::StartElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOLineUsage::StartElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     this->m_currElemName = name;
     if (this->m_currElemName == MDF_STR("LineUsage")) // NOXLATE
@@ -67,7 +67,7 @@
 }
 
 
-void IOLineUsage::ElementChars(const wchar_t* ch)
+void IOLineUsage::ElementChars(MdfCStr* ch)
 {
          IF_STRING_PROPERTY(this->m_currElemName, this->m_lineUsage, AngleControl, ch)
     else IF_STRING_PROPERTY(this->m_currElemName, this->m_lineUsage, UnitsControl, ch)
@@ -82,7 +82,7 @@
 }
 
 
-void IOLineUsage::EndElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOLineUsage::EndElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     if (this->m_startElemName == name)
     {

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOLineUsage.h
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOLineUsage.h	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOLineUsage.h	2019-02-05 16:19:47 UTC (rev 9478)
@@ -33,9 +33,9 @@
     public:
         IOLineUsage(SimpleSymbolDefinition* symbolDefinition, Version& version);
 
-        virtual void StartElement(const wchar_t* name, HandlerStack* handlerStack);
-        virtual void ElementChars(const wchar_t* ch);
-        virtual void EndElement(const wchar_t* name, HandlerStack* handlerStack);
+        virtual void StartElement(MdfCStr* name, HandlerStack* handlerStack);
+        virtual void ElementChars(MdfCStr* ch);
+        virtual void EndElement(MdfCStr* name, HandlerStack* handlerStack);
 
         static void Write(MdfStream& fd, LineUsage* lineUsage, Version* version, MgTab& tab);
 

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOMapDefinition.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOMapDefinition.cpp	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOMapDefinition.cpp	2019-02-05 16:19:47 UTC (rev 9478)
@@ -62,7 +62,7 @@
 }
 
 
-void IOMapDefinition::StartElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOMapDefinition::StartElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     this->m_currElemName = name;
     this->m_currElemId = _ElementIdFromName(name);
@@ -144,7 +144,7 @@
 }
 
 
-void IOMapDefinition::ElementChars(const wchar_t* ch)
+void IOMapDefinition::ElementChars(MdfCStr* ch)
 {
     switch (this->m_currElemId)
     {
@@ -167,7 +167,7 @@
 }
 
 
-void IOMapDefinition::EndElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOMapDefinition::EndElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     if (this->m_startElemName == name)
     {

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOMapDefinition.h
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOMapDefinition.h	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOMapDefinition.h	2019-02-05 16:19:47 UTC (rev 9478)
@@ -34,9 +34,9 @@
         IOMapDefinition(MapDefinition* map, Version& version);
         virtual ~IOMapDefinition();
 
-        virtual void StartElement(const wchar_t* name, HandlerStack* handlerStack);
-        virtual void ElementChars(const wchar_t* ch);
-        virtual void EndElement(const wchar_t* name, HandlerStack* handlerStack);
+        virtual void StartElement(MdfCStr* name, HandlerStack* handlerStack);
+        virtual void ElementChars(MdfCStr* ch);
+        virtual void EndElement(MdfCStr* name, HandlerStack* handlerStack);
 
         static void Write(MdfStream& fd, MapDefinition* map, Version* version, MgTab& tab);
 

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOMapLayer.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOMapLayer.cpp	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOMapLayer.cpp	2019-02-05 16:19:47 UTC (rev 9478)
@@ -52,7 +52,7 @@
 }
 
 
-void IOMapLayer::StartElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOMapLayer::StartElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     this->m_currElemName = name;
     this->m_currElemId = _ElementIdFromName(name);
@@ -75,7 +75,7 @@
 }
 
 
-void IOMapLayer::ElementChars(const wchar_t* ch)
+void IOMapLayer::ElementChars(MdfCStr* ch)
 {
     MapLayer* mapLayer = static_cast<MapLayer*>(this->m_mapLayerCommon);
     if (this->m_currElemId == eGroup)
@@ -87,7 +87,7 @@
 }
 
 
-void IOMapLayer::EndElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOMapLayer::EndElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     if (this->m_startElemName == name)
     {

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOMapLayer.h
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOMapLayer.h	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOMapLayer.h	2019-02-05 16:19:47 UTC (rev 9478)
@@ -35,9 +35,9 @@
         IOMapLayer(MapDefinition* map, Version& version);
         virtual ~IOMapLayer();
 
-        virtual void StartElement(const wchar_t* name, HandlerStack* handlerStack);
-        virtual void ElementChars(const wchar_t* ch);
-        virtual void EndElement(const wchar_t* name, HandlerStack* handlerStack);
+        virtual void StartElement(MdfCStr* name, HandlerStack* handlerStack);
+        virtual void ElementChars(MdfCStr* ch);
+        virtual void EndElement(MdfCStr* name, HandlerStack* handlerStack);
 
         static void Write(MdfStream& fd, MapLayer* mapLayer, Version* version, MgTab& tab);
 

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOMapLayerCommon.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOMapLayerCommon.cpp	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOMapLayerCommon.cpp	2019-02-05 16:19:47 UTC (rev 9478)
@@ -34,7 +34,7 @@
 }
 
 
-void IOMapLayerCommon::ElementChars(const wchar_t* ch)
+void IOMapLayerCommon::ElementChars(MdfCStr* ch)
 {
     if (this->m_currElemName == MDF_STR("Name")) // NOXLATE
         this->m_mapLayerCommon->SetName(ch);

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOMapLayerCommon.h
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOMapLayerCommon.h	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOMapLayerCommon.h	2019-02-05 16:19:47 UTC (rev 9478)
@@ -37,7 +37,7 @@
         IOMapLayerCommon(BaseMapLayer* mapLayerCommon, Version& version);
         virtual ~IOMapLayerCommon();
 
-        virtual void ElementChars(const wchar_t* ch);
+        virtual void ElementChars(MdfCStr* ch);
 
         static void Write(MdfStream& fd, BaseMapLayer* baseMapLayer, Version* version, MgTab& tab);
 

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOMapLayerGroup.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOMapLayerGroup.cpp	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOMapLayerGroup.cpp	2019-02-05 16:19:47 UTC (rev 9478)
@@ -48,7 +48,7 @@
 }
 
 
-void IOMapLayerGroup::StartElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOMapLayerGroup::StartElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     this->m_currElemName = name;
     this->m_currElemId = _ElementIdFromName(name);
@@ -71,7 +71,7 @@
 }
 
 
-void IOMapLayerGroup::ElementChars(const wchar_t* ch)
+void IOMapLayerGroup::ElementChars(MdfCStr* ch)
 {
     if (this->m_currElemId == eGroup)
         static_cast<MapLayerGroup*>(this->m_layerGroup)->SetGroup(ch);
@@ -80,7 +80,7 @@
 }
 
 
-void IOMapLayerGroup::EndElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOMapLayerGroup::EndElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     if (this->m_startElemName == name)
     {

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOMapLayerGroup.h
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOMapLayerGroup.h	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOMapLayerGroup.h	2019-02-05 16:19:47 UTC (rev 9478)
@@ -35,9 +35,9 @@
         IOMapLayerGroup(MapDefinition* map, Version& version);
         virtual ~IOMapLayerGroup();
 
-        virtual void StartElement(const wchar_t* name, HandlerStack* handlerStack);
-        virtual void ElementChars(const wchar_t* ch);
-        virtual void EndElement(const wchar_t* name, HandlerStack* handlerStack);
+        virtual void StartElement(MdfCStr* name, HandlerStack* handlerStack);
+        virtual void ElementChars(MdfCStr* ch);
+        virtual void EndElement(MdfCStr* name, HandlerStack* handlerStack);
 
         static void Write(MdfStream& fd, MapLayerGroup* mapLayerGroup, Version* version, MgTab& tab);
 };

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOMapLayerGroupCommon.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOMapLayerGroupCommon.cpp	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOMapLayerGroupCommon.cpp	2019-02-05 16:19:47 UTC (rev 9478)
@@ -52,7 +52,7 @@
 }
 
 
-void IOMapLayerGroupCommon::ElementChars(const wchar_t* ch)
+void IOMapLayerGroupCommon::ElementChars(MdfCStr* ch)
 {
     if (this->m_currElemName == MDF_STR("Name")) // NOXLATE
         this->m_layerGroup->SetName(ch);

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOMapLayerGroupCommon.h
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOMapLayerGroupCommon.h	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOMapLayerGroupCommon.h	2019-02-05 16:19:47 UTC (rev 9478)
@@ -39,7 +39,7 @@
         IOMapLayerGroupCommon(TileSetDefinition* tileset, Version& version);
         virtual ~IOMapLayerGroupCommon();
 
-        virtual void ElementChars(const wchar_t* ch);
+        virtual void ElementChars(MdfCStr* ch);
 
         static void Write(MdfStream& fd, MapLayerGroupCommon* layerGroup, Version* version, MgTab& tab);
 

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOMarkSymbol.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOMarkSymbol.cpp	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOMarkSymbol.cpp	2019-02-05 16:19:47 UTC (rev 9478)
@@ -51,7 +51,7 @@
 }
 
 
-void IOMarkSymbol::StartElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOMarkSymbol::StartElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     this->m_currElemName = name;
     this->m_currElemId = _ElementIdFromName(name);
@@ -99,7 +99,7 @@
 }
 
 
-void IOMarkSymbol::ElementChars(const wchar_t* ch)
+void IOMarkSymbol::ElementChars(MdfCStr* ch)
 {
     MarkSymbol* symbol = static_cast<MarkSymbol*>(this->m_symbol);
 
@@ -127,7 +127,7 @@
 }
 
 
-void IOMarkSymbol::EndElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOMarkSymbol::EndElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     if (this->m_startElemName == name)
     {

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOMarkSymbol.h
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOMarkSymbol.h	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOMarkSymbol.h	2019-02-05 16:19:47 UTC (rev 9478)
@@ -31,9 +31,9 @@
 {
     public:
         IOMarkSymbol(Version& version);
-        virtual void StartElement(const wchar_t* name, HandlerStack* handlerStack);
-        virtual void ElementChars(const wchar_t* ch);
-        virtual void EndElement(const wchar_t* name, HandlerStack* handlerStack);
+        virtual void StartElement(MdfCStr* name, HandlerStack* handlerStack);
+        virtual void ElementChars(MdfCStr* ch);
+        virtual void EndElement(MdfCStr* name, HandlerStack* handlerStack);
 
         static void Write(MdfStream& fd, MarkSymbol* markSymbol, Version* version, MgTab& tab);
 };

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IONameStringPair.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IONameStringPair.cpp	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IONameStringPair.cpp	2019-02-05 16:19:47 UTC (rev 9478)
@@ -73,7 +73,7 @@
 }
 
 
-void IONameStringPair::StartElement(const wchar_t* name, HandlerStack* handlerStack)
+void IONameStringPair::StartElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     this->m_currElemName = name;
     this->m_currElemId = _ElementIdFromName(name);
@@ -113,7 +113,7 @@
 }
 
 
-void IONameStringPair::ElementChars(const wchar_t* ch)
+void IONameStringPair::ElementChars(MdfCStr* ch)
 {
     switch (this->m_currElemId)
     {
@@ -128,7 +128,7 @@
 }
 
 
-void IONameStringPair::EndElement(const wchar_t* name, HandlerStack* handlerStack)
+void IONameStringPair::EndElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     if (this->m_startElemName == name)
     {

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IONameStringPair.h
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IONameStringPair.h	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IONameStringPair.h	2019-02-05 16:19:47 UTC (rev 9478)
@@ -39,9 +39,9 @@
         IONameStringPair(TileStoreParameters* params, Version& version);
         virtual ~IONameStringPair();
 
-        virtual void StartElement(const wchar_t* name, HandlerStack* handlerStack);
-        virtual void ElementChars(const wchar_t* ch);
-        virtual void EndElement(const wchar_t* name, HandlerStack* handlerStack);
+        virtual void StartElement(MdfCStr* name, HandlerStack* handlerStack);
+        virtual void ElementChars(MdfCStr* ch);
+        virtual void EndElement(MdfCStr* name, HandlerStack* handlerStack);
 
         static void Write(MdfStream& fd, std::string name, NameStringPair* nameStringPair, Version* version, MgTab& tab);
 

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOOverride.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOOverride.cpp	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOOverride.cpp	2019-02-05 16:19:47 UTC (rev 9478)
@@ -37,7 +37,7 @@
 }
 
 
-void IOOverride::StartElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOOverride::StartElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     this->m_currElemName = name;
     if (this->m_currElemName == MDF_STR("Override")) // NOXLATE
@@ -62,7 +62,7 @@
 }
 
 
-void IOOverride::ElementChars(const wchar_t* ch)
+void IOOverride::ElementChars(MdfCStr* ch)
 {
          IF_STRING_PROPERTY(this->m_currElemName, this->m_override, SymbolName, ch)
     else IF_STRING_PROPERTY(this->m_currElemName, this->m_override, ParameterIdentifier, ch)
@@ -70,7 +70,7 @@
 }
 
 
-void IOOverride::EndElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOOverride::EndElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     if (this->m_startElemName == name)
     {

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOOverride.h
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOOverride.h	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOOverride.h	2019-02-05 16:19:47 UTC (rev 9478)
@@ -33,9 +33,9 @@
         IOOverride(OverrideCollection* overrideCollection, Version& version);
         virtual ~IOOverride();
 
-        virtual void StartElement(const wchar_t* name, HandlerStack* handlerStack);
-        virtual void ElementChars(const wchar_t* ch);
-        virtual void EndElement(const wchar_t* name, HandlerStack* handlerStack);
+        virtual void StartElement(MdfCStr* name, HandlerStack* handlerStack);
+        virtual void ElementChars(MdfCStr* ch);
+        virtual void EndElement(MdfCStr* name, HandlerStack* handlerStack);
 
         static void Write(MdfStream& fd, Override* pOverride, Version* version, MgTab& tab);
 

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOOverrideCollection.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOOverrideCollection.cpp	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOOverrideCollection.cpp	2019-02-05 16:19:47 UTC (rev 9478)
@@ -31,7 +31,7 @@
 }
 
 
-void IOOverrideCollection::StartElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOOverrideCollection::StartElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     this->m_currElemName = name;
     if (this->m_currElemName == MDF_STR("ParameterOverrides")) // NOXLATE
@@ -55,12 +55,12 @@
 }
 
 
-void IOOverrideCollection::ElementChars(const wchar_t* ch)
+void IOOverrideCollection::ElementChars(MdfCStr* ch)
 {
 }
 
 
-void IOOverrideCollection::EndElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOOverrideCollection::EndElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     if (this->m_startElemName == name)
     {

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOOverrideCollection.h
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOOverrideCollection.h	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOOverrideCollection.h	2019-02-05 16:19:47 UTC (rev 9478)
@@ -32,9 +32,9 @@
     public:
         IOOverrideCollection(OverrideCollection* overrideCollection, Version& version);
 
-        virtual void StartElement(const wchar_t* name, HandlerStack* handlerStack);
-        virtual void ElementChars(const wchar_t* ch);
-        virtual void EndElement(const wchar_t* name, HandlerStack* handlerStack);
+        virtual void StartElement(MdfCStr* name, HandlerStack* handlerStack);
+        virtual void ElementChars(MdfCStr* ch);
+        virtual void EndElement(MdfCStr* name, HandlerStack* handlerStack);
 
         static void Write(MdfStream& fd, OverrideCollection* overrideCollection, Version* version, MgTab& tab);
 

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOParameter.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOParameter.cpp	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOParameter.cpp	2019-02-05 16:19:47 UTC (rev 9478)
@@ -36,7 +36,7 @@
 }
 
 
-void IOParameter::StartElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOParameter::StartElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     this->m_currElemName = name;
     if (this->m_currElemName == MDF_STR("Parameter")) // NOXLATE
@@ -59,7 +59,7 @@
 }
 
 
-void IOParameter::ElementChars(const wchar_t* ch)
+void IOParameter::ElementChars(MdfCStr* ch)
 {
          IF_STRING_PROPERTY(this->m_currElemName, this->m_parameter, Identifier, ch)
     else IF_STRING_PROPERTY(this->m_currElemName, this->m_parameter, DefaultValue, ch)
@@ -102,7 +102,7 @@
 }
 
 
-void IOParameter::EndElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOParameter::EndElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     if (this->m_startElemName == name)
     {

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOParameter.h
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOParameter.h	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOParameter.h	2019-02-05 16:19:47 UTC (rev 9478)
@@ -33,9 +33,9 @@
         IOParameter(ParameterCollection* parameterCollection, Version& version);
         virtual ~IOParameter();
 
-        virtual void StartElement(const wchar_t* name, HandlerStack* handlerStack);
-        virtual void ElementChars(const wchar_t* ch);
-        virtual void EndElement(const wchar_t* name, HandlerStack* handlerStack);
+        virtual void StartElement(MdfCStr* name, HandlerStack* handlerStack);
+        virtual void ElementChars(MdfCStr* ch);
+        virtual void EndElement(MdfCStr* name, HandlerStack* handlerStack);
 
         static void Write(MdfStream& fd, Parameter* parameter, Version* version, MgTab& tab);
 

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOParameterCollection.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOParameterCollection.cpp	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOParameterCollection.cpp	2019-02-05 16:19:47 UTC (rev 9478)
@@ -31,7 +31,7 @@
 }
 
 
-void IOParameterCollection::StartElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOParameterCollection::StartElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     this->m_currElemName = name;
     if (this->m_currElemName == MDF_STR("ParameterDefinition")) // NOXLATE
@@ -55,12 +55,12 @@
 }
 
 
-void IOParameterCollection::ElementChars(const wchar_t* ch)
+void IOParameterCollection::ElementChars(MdfCStr* ch)
 {
 }
 
 
-void IOParameterCollection::EndElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOParameterCollection::EndElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     if (this->m_startElemName == name)
     {

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOParameterCollection.h
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOParameterCollection.h	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOParameterCollection.h	2019-02-05 16:19:47 UTC (rev 9478)
@@ -32,9 +32,9 @@
     public:
         IOParameterCollection(ParameterCollection* parameterCollection, Version& version);
 
-        virtual void StartElement(const wchar_t* name, HandlerStack* handlerStack);
-        virtual void ElementChars(const wchar_t* ch);
-        virtual void EndElement(const wchar_t* name, HandlerStack* handlerStack);
+        virtual void StartElement(MdfCStr* name, HandlerStack* handlerStack);
+        virtual void ElementChars(MdfCStr* ch);
+        virtual void EndElement(MdfCStr* name, HandlerStack* handlerStack);
 
         static void Write(MdfStream& fd, ParameterCollection* parameterCollection, Version* version, MgTab& tab);
 

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOPath.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOPath.cpp	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOPath.cpp	2019-02-05 16:19:47 UTC (rev 9478)
@@ -29,7 +29,7 @@
 }
 
 
-void IOPath::StartPathElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOPath::StartPathElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     // the element is a path with the supplied name
     this->m_currElemName = name;
@@ -37,7 +37,7 @@
 }
 
 
-void IOPath::StartElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOPath::StartElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     this->m_currElemName = name;
     if (this->m_currElemName == MDF_STR("Geometry"))
@@ -91,7 +91,7 @@
 }
 
 
-void IOPath::ElementChars(const wchar_t* ch)
+void IOPath::ElementChars(MdfCStr* ch)
 {
     Path* path = static_cast<Path*>(this->m_element);
 

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOPath.h
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOPath.h	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOPath.h	2019-02-05 16:19:47 UTC (rev 9478)
@@ -32,10 +32,10 @@
     public:
         IOPath(Path* path, Version& version);
 
-        void StartPathElement(const wchar_t* name, HandlerStack* handlerStack);
+        void StartPathElement(MdfCStr* name, HandlerStack* handlerStack);
 
-        virtual void StartElement(const wchar_t* name, HandlerStack* handlerStack);
-        virtual void ElementChars(const wchar_t* ch);
+        virtual void StartElement(MdfCStr* name, HandlerStack* handlerStack);
+        virtual void ElementChars(MdfCStr* ch);
 
         static void Write(MdfStream& fd, Path* path, Version* version, MgTab& tab);
         static void Write(MdfStream& fd, Path* path, std::string name, Version* version, MgTab& tab);

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOPointRule.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOPointRule.cpp	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOPointRule.cpp	2019-02-05 16:19:47 UTC (rev 9478)
@@ -53,7 +53,7 @@
 }
 
 
-void IOPointRule::StartElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOPointRule::StartElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     this->m_currElemName = name;
     this->m_currElemId = _ElementIdFromName(name);
@@ -92,7 +92,7 @@
 }
 
 
-void IOPointRule::ElementChars(const wchar_t* ch)
+void IOPointRule::ElementChars(MdfCStr* ch)
 {
     switch (this->m_currElemId)
     {
@@ -107,7 +107,7 @@
 }
 
 
-void IOPointRule::EndElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOPointRule::EndElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     if (this->m_startElemName == name)
     {

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOPointRule.h
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOPointRule.h	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOPointRule.h	2019-02-05 16:19:47 UTC (rev 9478)
@@ -35,9 +35,9 @@
         IOPointRule(PointTypeStyle* pointTypeStyle, Version& version);
         virtual ~IOPointRule();
 
-        virtual void StartElement(const wchar_t* name, HandlerStack* handlerStack);
-        virtual void ElementChars(const wchar_t* ch);
-        virtual void EndElement(const wchar_t* name, HandlerStack* handlerStack);
+        virtual void StartElement(MdfCStr* name, HandlerStack* handlerStack);
+        virtual void ElementChars(MdfCStr* ch);
+        virtual void EndElement(MdfCStr* name, HandlerStack* handlerStack);
 
         static void Write(MdfStream& fd, PointRule* pointRule, Version* version, MgTab& tab);
 

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOPointSymbolization2D.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOPointSymbolization2D.cpp	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOPointSymbolization2D.cpp	2019-02-05 16:19:47 UTC (rev 9478)
@@ -60,7 +60,7 @@
 }
 
 
-void IOPointSymbolization2D::StartElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOPointSymbolization2D::StartElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     this->m_currElemName = name;
     this->m_currElemId = _ElementIdFromName(name);
@@ -107,12 +107,12 @@
 }
 
 
-void IOPointSymbolization2D::ElementChars(const wchar_t* ch)
+void IOPointSymbolization2D::ElementChars(MdfCStr* ch)
 {
 }
 
 
-void IOPointSymbolization2D::EndElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOPointSymbolization2D::EndElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     if (this->m_startElemName == name)
     {

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOPointSymbolization2D.h
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOPointSymbolization2D.h	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOPointSymbolization2D.h	2019-02-05 16:19:47 UTC (rev 9478)
@@ -36,9 +36,9 @@
         IOPointSymbolization2D(PointRule* pointRule, Version& version);
         virtual ~IOPointSymbolization2D();
 
-        virtual void StartElement(const wchar_t* name, HandlerStack* handlerStack);
-        virtual void ElementChars(const wchar_t* ch);
-        virtual void EndElement(const wchar_t* name, HandlerStack* handlerStack);
+        virtual void StartElement(MdfCStr* name, HandlerStack* handlerStack);
+        virtual void ElementChars(MdfCStr* ch);
+        virtual void EndElement(MdfCStr* name, HandlerStack* handlerStack);
 
         static void Write(MdfStream& fd, PointSymbolization2D* pointSymbolization2D, Version* version, MgTab& tab);
 

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOPointTypeStyle.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOPointTypeStyle.cpp	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOPointTypeStyle.cpp	2019-02-05 16:19:47 UTC (rev 9478)
@@ -52,7 +52,7 @@
 }
 
 
-void IOPointTypeStyle::StartElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOPointTypeStyle::StartElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     this->m_currElemName = name;
     this->m_currElemId = _ElementIdFromName(name);
@@ -83,7 +83,7 @@
 }
 
 
-void IOPointTypeStyle::ElementChars(const wchar_t* ch)
+void IOPointTypeStyle::ElementChars(MdfCStr* ch)
 {
     switch (this->m_currElemId)
     {
@@ -102,7 +102,7 @@
 }
 
 
-void IOPointTypeStyle::EndElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOPointTypeStyle::EndElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     if (this->m_startElemName == name)
     {

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOPointTypeStyle.h
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOPointTypeStyle.h	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOPointTypeStyle.h	2019-02-05 16:19:47 UTC (rev 9478)
@@ -35,9 +35,9 @@
         IOPointTypeStyle(VectorScaleRange* scaleRange, Version& version);
         virtual ~IOPointTypeStyle();
 
-        virtual void StartElement(const wchar_t* name, HandlerStack* handlerStack);
-        virtual void ElementChars(const wchar_t* ch);
-        virtual void EndElement(const wchar_t* name, HandlerStack* handlerStack);
+        virtual void StartElement(MdfCStr* name, HandlerStack* handlerStack);
+        virtual void ElementChars(MdfCStr* ch);
+        virtual void EndElement(MdfCStr* name, HandlerStack* handlerStack);
 
         static void Write(MdfStream& fd, PointTypeStyle* pointTypeStyle, Version* version, MgTab& tab);
 

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOPointUsage.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOPointUsage.cpp	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOPointUsage.cpp	2019-02-05 16:19:47 UTC (rev 9478)
@@ -31,7 +31,7 @@
 }
 
 
-void IOPointUsage::StartElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOPointUsage::StartElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     this->m_currElemName = name;
     if (this->m_currElemName == MDF_STR("PointUsage")) // NOXLATE
@@ -50,7 +50,7 @@
 }
 
 
-void IOPointUsage::ElementChars(const wchar_t* ch)
+void IOPointUsage::ElementChars(MdfCStr* ch)
 {
          IF_STRING_PROPERTY(this->m_currElemName, this->m_pointUsage, AngleControl, ch)
     else IF_STRING_PROPERTY(this->m_currElemName, this->m_pointUsage, Angle, ch)
@@ -59,7 +59,7 @@
 }
 
 
-void IOPointUsage::EndElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOPointUsage::EndElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     if (this->m_startElemName == name)
     {

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOPointUsage.h
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOPointUsage.h	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOPointUsage.h	2019-02-05 16:19:47 UTC (rev 9478)
@@ -33,9 +33,9 @@
     public:
         IOPointUsage(SimpleSymbolDefinition* symbolDefinition, Version& version);
 
-        virtual void StartElement(const wchar_t* name, HandlerStack* handlerStack);
-        virtual void ElementChars(const wchar_t* ch);
-        virtual void EndElement(const wchar_t* name, HandlerStack* handlerStack);
+        virtual void StartElement(MdfCStr* name, HandlerStack* handlerStack);
+        virtual void ElementChars(MdfCStr* ch);
+        virtual void EndElement(MdfCStr* name, HandlerStack* handlerStack);
 
         static void Write(MdfStream& fd, PointUsage* pointUsage, Version* version, MgTab& tab);
 

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOProfileRenderLabelsResult.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOProfileRenderLabelsResult.cpp	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOProfileRenderLabelsResult.cpp	2019-02-05 16:19:47 UTC (rev 9478)
@@ -47,19 +47,19 @@
 }
 
 
-void IOProfileRenderLabelsResult::StartElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOProfileRenderLabelsResult::StartElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     //TODO: Implement this while deserialization is needed.
 }
 
 
-void IOProfileRenderLabelsResult::ElementChars(const wchar_t* ch)
+void IOProfileRenderLabelsResult::ElementChars(MdfCStr* ch)
 {
     //TODO: Implement this while deserialization is needed.
 }
 
 
-void IOProfileRenderLabelsResult::EndElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOProfileRenderLabelsResult::EndElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     //TODO: Implement this while deserialization is needed.
 }

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOProfileRenderLabelsResult.h
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOProfileRenderLabelsResult.h	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOProfileRenderLabelsResult.h	2019-02-05 16:19:47 UTC (rev 9478)
@@ -34,9 +34,9 @@
         IOProfileRenderLabelsResult(ProfileRenderLabelsResult* profileRenderLabelsResult, Version& version);
         virtual ~IOProfileRenderLabelsResult();
 
-        virtual void StartElement(const wchar_t* name, HandlerStack* handlerStack);
-        virtual void ElementChars(const wchar_t* ch);
-        virtual void EndElement(const wchar_t* name, HandlerStack* handlerStack);
+        virtual void StartElement(MdfCStr* name, HandlerStack* handlerStack);
+        virtual void ElementChars(MdfCStr* ch);
+        virtual void EndElement(MdfCStr* name, HandlerStack* handlerStack);
 
         static void Write(MdfStream& fd, ProfileRenderLabelsResult* profileRenderLabelsResult, Version* version, MgTab& tab);
 

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOProfileRenderLayerResult.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOProfileRenderLayerResult.cpp	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOProfileRenderLayerResult.cpp	2019-02-05 16:19:47 UTC (rev 9478)
@@ -55,19 +55,19 @@
 }
 
 
-void IOProfileRenderLayerResult::StartElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOProfileRenderLayerResult::StartElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     //TODO: Implement this while deserialization is needed.
 }
 
 
-void IOProfileRenderLayerResult::ElementChars(const wchar_t* ch)
+void IOProfileRenderLayerResult::ElementChars(MdfCStr* ch)
 {
     //TODO: Implement this while deserialization is needed.
 }
 
 
-void IOProfileRenderLayerResult::EndElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOProfileRenderLayerResult::EndElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     //TODO: Implement this while deserialization is needed.
 }

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOProfileRenderLayerResult.h
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOProfileRenderLayerResult.h	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOProfileRenderLayerResult.h	2019-02-05 16:19:47 UTC (rev 9478)
@@ -34,9 +34,9 @@
         IOProfileRenderLayerResult(ProfileRenderLayerResult* profileRenderLayerResult, Version& version);
         virtual ~IOProfileRenderLayerResult();
 
-        virtual void StartElement(const wchar_t* name, HandlerStack* handlerStack);
-        virtual void ElementChars(const wchar_t* ch);
-        virtual void EndElement(const wchar_t* name, HandlerStack* handlerStack);
+        virtual void StartElement(MdfCStr* name, HandlerStack* handlerStack);
+        virtual void ElementChars(MdfCStr* ch);
+        virtual void EndElement(MdfCStr* name, HandlerStack* handlerStack);
 
         static void Write(MdfStream& fd, ProfileRenderLayerResult* profileRenderLayerResult, Version* version, MgTab& tab);
 

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOProfileRenderLayersResult.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOProfileRenderLayersResult.cpp	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOProfileRenderLayersResult.cpp	2019-02-05 16:19:47 UTC (rev 9478)
@@ -48,19 +48,19 @@
 }
 
 
-void IOProfileRenderLayersResult::StartElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOProfileRenderLayersResult::StartElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     //TODO: Implement this while deserialization is needed.
 }
 
 
-void IOProfileRenderLayersResult::ElementChars(const wchar_t* ch)
+void IOProfileRenderLayersResult::ElementChars(MdfCStr* ch)
 {
     //TODO: Implement this while deserialization is needed.
 }
 
 
-void IOProfileRenderLayersResult::EndElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOProfileRenderLayersResult::EndElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     //TODO: Implement this while deserialization is needed.
 }

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOProfileRenderLayersResult.h
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOProfileRenderLayersResult.h	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOProfileRenderLayersResult.h	2019-02-05 16:19:47 UTC (rev 9478)
@@ -34,9 +34,9 @@
         IOProfileRenderLayersResult(ProfileRenderLayersResult* profileRenderLayersResult, Version& version);
         virtual ~IOProfileRenderLayersResult();
 
-        virtual void StartElement(const wchar_t* name, HandlerStack* handlerStack);
-        virtual void ElementChars(const wchar_t* ch);
-        virtual void EndElement(const wchar_t* name, HandlerStack* handlerStack);
+        virtual void StartElement(MdfCStr* name, HandlerStack* handlerStack);
+        virtual void ElementChars(MdfCStr* ch);
+        virtual void EndElement(MdfCStr* name, HandlerStack* handlerStack);
 
         static void Write(MdfStream& fd, ProfileRenderLayersResult* profileRenderLayersResult, Version* version, MgTab& tab);
 

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOProfileRenderMapResult.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOProfileRenderMapResult.cpp	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOProfileRenderMapResult.cpp	2019-02-05 16:19:47 UTC (rev 9478)
@@ -65,19 +65,19 @@
 }
 
 
-void IOProfileRenderMapResult::StartElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOProfileRenderMapResult::StartElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     //TODO: Implement this while deserialization is needed.
 }
 
 
-void IOProfileRenderMapResult::ElementChars(const wchar_t* ch)
+void IOProfileRenderMapResult::ElementChars(MdfCStr* ch)
 {
     //TODO: Implement this while deserialization is needed.
 }
 
 
-void IOProfileRenderMapResult::EndElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOProfileRenderMapResult::EndElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     //TODO: Implement this while deserialization is needed.
 }

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOProfileRenderMapResult.h
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOProfileRenderMapResult.h	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOProfileRenderMapResult.h	2019-02-05 16:19:47 UTC (rev 9478)
@@ -34,9 +34,9 @@
         IOProfileRenderMapResult(ProfileRenderMapResult* profileRenderMapResult, Version& version);
         virtual ~IOProfileRenderMapResult();
 
-        virtual void StartElement(const wchar_t* name, HandlerStack* handlerStack);
-        virtual void ElementChars(const wchar_t* ch);
-        virtual void EndElement(const wchar_t* name, HandlerStack* handlerStack);
+        virtual void StartElement(MdfCStr* name, HandlerStack* handlerStack);
+        virtual void ElementChars(MdfCStr* ch);
+        virtual void EndElement(MdfCStr* name, HandlerStack* handlerStack);
 
         static void Write(MdfStream& fd, ProfileRenderMapResult* profileRenderMapResult, Version* version, MgTab& tab);
 

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOProfileRenderSelectionResult.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOProfileRenderSelectionResult.cpp	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOProfileRenderSelectionResult.cpp	2019-02-05 16:19:47 UTC (rev 9478)
@@ -48,19 +48,19 @@
 }
 
 
-void IOProfileRenderSelectionResult::StartElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOProfileRenderSelectionResult::StartElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     //TODO: Implement this while deserialization is needed.
 }
 
 
-void IOProfileRenderSelectionResult::ElementChars(const wchar_t* ch)
+void IOProfileRenderSelectionResult::ElementChars(MdfCStr* ch)
 {
     //TODO: Implement this while deserialization is needed.
 }
 
 
-void IOProfileRenderSelectionResult::EndElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOProfileRenderSelectionResult::EndElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     //TODO: Implement this while deserialization is needed.
 }

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOProfileRenderSelectionResult.h
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOProfileRenderSelectionResult.h	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOProfileRenderSelectionResult.h	2019-02-05 16:19:47 UTC (rev 9478)
@@ -34,9 +34,9 @@
         IOProfileRenderSelectionResult(ProfileRenderSelectionResult* profileRenderSelectionResult, Version& version);
         virtual ~IOProfileRenderSelectionResult();
 
-        virtual void StartElement(const wchar_t* name, HandlerStack* handlerStack);
-        virtual void ElementChars(const wchar_t* ch);
-        virtual void EndElement(const wchar_t* name, HandlerStack* handlerStack);
+        virtual void StartElement(MdfCStr* name, HandlerStack* handlerStack);
+        virtual void ElementChars(MdfCStr* ch);
+        virtual void EndElement(MdfCStr* name, HandlerStack* handlerStack);
 
         static void Write(MdfStream& fd, ProfileRenderSelectionResult* profileRenderSelectionResult, Version* version, MgTab& tab);
 

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOProfileRenderWatermarkResult.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOProfileRenderWatermarkResult.cpp	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOProfileRenderWatermarkResult.cpp	2019-02-05 16:19:47 UTC (rev 9478)
@@ -49,19 +49,19 @@
 }
 
 
-void IOProfileRenderWatermarkResult::StartElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOProfileRenderWatermarkResult::StartElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     //TODO: Implement this while deserialization is needed.
 }
 
 
-void IOProfileRenderWatermarkResult::ElementChars(const wchar_t* ch)
+void IOProfileRenderWatermarkResult::ElementChars(MdfCStr* ch)
 {
     //TODO: Implement this while deserialization is needed.
 }
 
 
-void IOProfileRenderWatermarkResult::EndElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOProfileRenderWatermarkResult::EndElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     //TODO: Implement this while deserialization is needed.
 }

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOProfileRenderWatermarkResult.h
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOProfileRenderWatermarkResult.h	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOProfileRenderWatermarkResult.h	2019-02-05 16:19:47 UTC (rev 9478)
@@ -34,9 +34,9 @@
         IOProfileRenderWatermarkResult(ProfileRenderWatermarkResult* profileRenderWatermarkResult, Version& version);
         virtual ~IOProfileRenderWatermarkResult();
 
-        virtual void StartElement(const wchar_t* name, HandlerStack* handlerStack);
-        virtual void ElementChars(const wchar_t* ch);
-        virtual void EndElement(const wchar_t* name, HandlerStack* handlerStack);
+        virtual void StartElement(MdfCStr* name, HandlerStack* handlerStack);
+        virtual void ElementChars(MdfCStr* ch);
+        virtual void EndElement(MdfCStr* name, HandlerStack* handlerStack);
 
         static void Write(MdfStream& fd, ProfileRenderWatermarkResult* profileRenderWatermarkResult, Version* version, MgTab& tab);
 

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOProfileRenderWatermarksResult.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOProfileRenderWatermarksResult.cpp	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOProfileRenderWatermarksResult.cpp	2019-02-05 16:19:47 UTC (rev 9478)
@@ -48,19 +48,19 @@
 }
 
 
-void IOProfileRenderWatermarksResult::StartElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOProfileRenderWatermarksResult::StartElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     //TODO: Implement this while deserialization is needed.
 }
 
 
-void IOProfileRenderWatermarksResult::ElementChars(const wchar_t* ch)
+void IOProfileRenderWatermarksResult::ElementChars(MdfCStr* ch)
 {
     //TODO: Implement this while deserialization is needed.
 }
 
 
-void IOProfileRenderWatermarksResult::EndElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOProfileRenderWatermarksResult::EndElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     //TODO: Implement this while deserialization is needed.
 }

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOProfileRenderWatermarksResult.h
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOProfileRenderWatermarksResult.h	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOProfileRenderWatermarksResult.h	2019-02-05 16:19:47 UTC (rev 9478)
@@ -34,9 +34,9 @@
         IOProfileRenderWatermarksResult(ProfileRenderWatermarksResult* profileRenderWatermarksResult, Version& version);
         virtual ~IOProfileRenderWatermarksResult();
 
-        virtual void StartElement(const wchar_t* name, HandlerStack* handlerStack);
-        virtual void ElementChars(const wchar_t* ch);
-        virtual void EndElement(const wchar_t* name, HandlerStack* handlerStack);
+        virtual void StartElement(MdfCStr* name, HandlerStack* handlerStack);
+        virtual void ElementChars(MdfCStr* ch);
+        virtual void EndElement(MdfCStr* name, HandlerStack* handlerStack);
 
         static void Write(MdfStream& fd, ProfileRenderWatermarksResult* profileRenderWatermarksResult, Version* version, MgTab& tab);
 

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOProfileResult.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOProfileResult.cpp	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOProfileResult.cpp	2019-02-05 16:19:47 UTC (rev 9478)
@@ -46,19 +46,19 @@
 }
 
 
-void IOProfileResult::StartElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOProfileResult::StartElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     //TODO: Implement this while deserialization is needed.
 }
 
 
-void IOProfileResult::ElementChars(const wchar_t* ch)
+void IOProfileResult::ElementChars(MdfCStr* ch)
 {
     //TODO: Implement this while deserialization is needed.
 }
 
 
-void IOProfileResult::EndElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOProfileResult::EndElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     //TODO: Implement this while deserialization is needed.
 }

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOProfileResult.h
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOProfileResult.h	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOProfileResult.h	2019-02-05 16:19:47 UTC (rev 9478)
@@ -34,9 +34,9 @@
         IOProfileResult(ProfileResult* profileResult, Version& version);
         virtual ~IOProfileResult();
 
-        virtual void StartElement(const wchar_t* name, HandlerStack* handlerStack);
-        virtual void ElementChars(const wchar_t* ch);
-        virtual void EndElement(const wchar_t* name, HandlerStack* handlerStack);
+        virtual void StartElement(MdfCStr* name, HandlerStack* handlerStack);
+        virtual void ElementChars(MdfCStr* ch);
+        virtual void EndElement(MdfCStr* name, HandlerStack* handlerStack);
 
         static void Write(MdfStream& fd, ProfileResult* profileResult, Version* version, MgTab& tab);
 

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IORelateProperty.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IORelateProperty.cpp	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IORelateProperty.cpp	2019-02-05 16:19:47 UTC (rev 9478)
@@ -49,7 +49,7 @@
 }
 
 
-void IORelateProperty::StartElement(const wchar_t* name, HandlerStack* handlerStack)
+void IORelateProperty::StartElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     this->m_currElemName = name;
     this->m_currElemId = _ElementIdFromName(name);
@@ -72,7 +72,7 @@
 }
 
 
-void IORelateProperty::ElementChars(const wchar_t* ch)
+void IORelateProperty::ElementChars(MdfCStr* ch)
 {
     switch (this->m_currElemId)
     {
@@ -94,7 +94,7 @@
 }
 
 
-void IORelateProperty::EndElement(const wchar_t* name, HandlerStack* handlerStack)
+void IORelateProperty::EndElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     if (this->m_startElemName == name)
     {

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IORelateProperty.h
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IORelateProperty.h	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IORelateProperty.h	2019-02-05 16:19:47 UTC (rev 9478)
@@ -35,9 +35,9 @@
         IORelateProperty(AttributeRelate* attributeRelate, Version& version);
         virtual ~IORelateProperty();
 
-        virtual void StartElement(const wchar_t* name, HandlerStack* handlerStack);
-        virtual void ElementChars(const wchar_t* ch);
-        virtual void EndElement(const wchar_t* name, HandlerStack* handlerStack);
+        virtual void StartElement(MdfCStr* name, HandlerStack* handlerStack);
+        virtual void ElementChars(MdfCStr* ch);
+        virtual void EndElement(MdfCStr* name, HandlerStack* handlerStack);
 
         static void Write(MdfStream& fd, RelateProperty* relateProperty, Version* version, MgTab& tab);
 

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOResizeBox.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOResizeBox.cpp	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOResizeBox.cpp	2019-02-05 16:19:47 UTC (rev 9478)
@@ -36,7 +36,7 @@
 }
 
 
-void IOResizeBox::StartElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOResizeBox::StartElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     this->m_currElemName = name;
     if (this->m_currElemName == MDF_STR("ResizeBox")) // NOXLATE
@@ -55,7 +55,7 @@
 }
 
 
-void IOResizeBox::ElementChars(const wchar_t* ch)
+void IOResizeBox::ElementChars(MdfCStr* ch)
 {
          IF_STRING_PROPERTY(this->m_currElemName, this->m_resizeBox, SizeX, ch)
     else IF_STRING_PROPERTY(this->m_currElemName, this->m_resizeBox, SizeY, ch)
@@ -65,7 +65,7 @@
 }
 
 
-void IOResizeBox::EndElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOResizeBox::EndElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     if (this->m_startElemName == name)
     {

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOResizeBox.h
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOResizeBox.h	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOResizeBox.h	2019-02-05 16:19:47 UTC (rev 9478)
@@ -34,9 +34,9 @@
         IOResizeBox(SimpleSymbolDefinition* symbolDefinition, Version& version);
         virtual ~IOResizeBox();
 
-        virtual void StartElement(const wchar_t* name, HandlerStack* handlerStack);
-        virtual void ElementChars(const wchar_t* ch);
-        virtual void EndElement(const wchar_t* name, HandlerStack* handlerStack);
+        virtual void StartElement(MdfCStr* name, HandlerStack* handlerStack);
+        virtual void ElementChars(MdfCStr* ch);
+        virtual void EndElement(MdfCStr* name, HandlerStack* handlerStack);
 
         static void Write(MdfStream& fd, ResizeBox* resizeBox, Version* version, MgTab& tab);
 

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOResourceRef.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOResourceRef.cpp	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOResourceRef.cpp	2019-02-05 16:19:47 UTC (rev 9478)
@@ -35,7 +35,7 @@
 }
 
 
-void IOResourceRef::StartElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOResourceRef::StartElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     this->m_currElemName = name;
     this->m_currElemId = _ElementIdFromName(name);
@@ -45,7 +45,7 @@
 }
 
 
-void IOResourceRef::ElementChars(const wchar_t* ch)
+void IOResourceRef::ElementChars(MdfCStr* ch)
 {
     switch (this->m_currElemId)
     {
@@ -60,7 +60,7 @@
 }
 
 
-void IOResourceRef::EndElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOResourceRef::EndElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     if (this->m_startElemName == name)
     {

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOResourceRef.h
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOResourceRef.h	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOResourceRef.h	2019-02-05 16:19:47 UTC (rev 9478)
@@ -34,9 +34,9 @@
         std::wstring GetResourceId();
         std::wstring GetItemName();
 
-        virtual void StartElement(const wchar_t* name, HandlerStack* handlerStack);
-        virtual void ElementChars(const wchar_t* ch);
-        virtual void EndElement(const wchar_t* name, HandlerStack* handlerStack);
+        virtual void StartElement(MdfCStr* name, HandlerStack* handlerStack);
+        virtual void ElementChars(MdfCStr* ch);
+        virtual void EndElement(MdfCStr* name, HandlerStack* handlerStack);
 
         static void Write(MdfStream& fd, std::string name, std::wstring resourceId, std::wstring itemName, bool mandatory, Version* version, MgTab& tab);
 

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOScaleRange.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOScaleRange.cpp	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOScaleRange.cpp	2019-02-05 16:19:47 UTC (rev 9478)
@@ -47,19 +47,19 @@
 }
 
 
-void IOScaleRange::StartElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOScaleRange::StartElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     //TODO: Implement this while deserialization is needed.
 }
 
 
-void IOScaleRange::ElementChars(const wchar_t* ch)
+void IOScaleRange::ElementChars(MdfCStr* ch)
 {
     //TODO: Implement this while deserialization is needed.
 }
 
 
-void IOScaleRange::EndElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOScaleRange::EndElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     //TODO: Implement this while deserialization is needed.
 }

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOScaleRange.h
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOScaleRange.h	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOScaleRange.h	2019-02-05 16:19:47 UTC (rev 9478)
@@ -34,9 +34,9 @@
         IOScaleRange(ScaleRange* scaleRange, Version& version);
         virtual ~IOScaleRange();
 
-        virtual void StartElement(const wchar_t* name, HandlerStack* handlerStack);
-        virtual void ElementChars(const wchar_t* ch);
-        virtual void EndElement(const wchar_t* name, HandlerStack* handlerStack);
+        virtual void StartElement(MdfCStr* name, HandlerStack* handlerStack);
+        virtual void ElementChars(MdfCStr* ch);
+        virtual void EndElement(MdfCStr* name, HandlerStack* handlerStack);
 
         static void Write(MdfStream& fd, ScaleRange* scaleRange, Version* version, MgTab& tab);
 

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOSimpleSymbol.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOSimpleSymbol.cpp	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOSimpleSymbol.cpp	2019-02-05 16:19:47 UTC (rev 9478)
@@ -32,7 +32,7 @@
 }
 
 
-void IOSimpleSymbol::StartElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOSimpleSymbol::StartElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     this->m_currElemName = name;
     if (this->m_currElemName == MDF_STR("SimpleSymbol")) // NOXLATE
@@ -59,7 +59,7 @@
 }
 
 
-void IOSimpleSymbol::ElementChars(const wchar_t* ch)
+void IOSimpleSymbol::ElementChars(MdfCStr* ch)
 {
          IF_STRING_PROPERTY(this->m_currElemName, this->m_simpleSymbol, ResourceId, ch)
     else IF_STRING_PROPERTY(this->m_currElemName, this->m_simpleSymbol, RenderingPass, ch)
@@ -66,7 +66,7 @@
 }
 
 
-void IOSimpleSymbol::EndElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOSimpleSymbol::EndElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     if (this->m_startElemName == name)
     {

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOSimpleSymbol.h
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOSimpleSymbol.h	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOSimpleSymbol.h	2019-02-05 16:19:47 UTC (rev 9478)
@@ -32,9 +32,9 @@
     public:
         IOSimpleSymbol(SimpleSymbolCollection* symbolCollection, Version& version);
 
-        virtual void StartElement(const wchar_t* name, HandlerStack* handlerStack);
-        virtual void ElementChars(const wchar_t* ch);
-        virtual void EndElement(const wchar_t* name, HandlerStack* handlerStack);
+        virtual void StartElement(MdfCStr* name, HandlerStack* handlerStack);
+        virtual void ElementChars(MdfCStr* ch);
+        virtual void EndElement(MdfCStr* name, HandlerStack* handlerStack);
 
         static void Write(MdfStream& fd, SimpleSymbol* simpleSymbol, Version* version, MgTab& tab);
 

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOSimpleSymbolDefinition.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOSimpleSymbolDefinition.cpp	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOSimpleSymbolDefinition.cpp	2019-02-05 16:19:47 UTC (rev 9478)
@@ -36,7 +36,7 @@
 }
 
 
-void IOSimpleSymbolDefinition::StartElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOSimpleSymbolDefinition::StartElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     this->m_currElemName = name;
     if (this->m_currElemName == MDF_STR("SimpleSymbolDefinition")) // NOXLATE
@@ -90,7 +90,7 @@
 }
 
 
-void IOSimpleSymbolDefinition::ElementChars(const wchar_t* ch)
+void IOSimpleSymbolDefinition::ElementChars(MdfCStr* ch)
 {
          IF_STRING_PROPERTY(this->m_currElemName, this->m_symbolDefinition, Name, ch)
     else IF_STRING_PROPERTY(this->m_currElemName, this->m_symbolDefinition, Description, ch)
@@ -97,7 +97,7 @@
 }
 
 
-void IOSimpleSymbolDefinition::EndElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOSimpleSymbolDefinition::EndElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     if (this->m_startElemName == name)
     {

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOSimpleSymbolDefinition.h
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOSimpleSymbolDefinition.h	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOSimpleSymbolDefinition.h	2019-02-05 16:19:47 UTC (rev 9478)
@@ -32,9 +32,9 @@
     public:
         IOSimpleSymbolDefinition(SimpleSymbolDefinition* symbolDefinition, Version& version);
 
-        virtual void StartElement(const wchar_t* name, HandlerStack* handlerStack);
-        virtual void ElementChars(const wchar_t* ch);
-        virtual void EndElement(const wchar_t* name, HandlerStack* handlerStack);
+        virtual void StartElement(MdfCStr* name, HandlerStack* handlerStack);
+        virtual void ElementChars(MdfCStr* ch);
+        virtual void EndElement(MdfCStr* name, HandlerStack* handlerStack);
 
         static void Write(MdfStream& fd, SimpleSymbolDefinition* symbolDefinition, bool writeAsRootElement, Version* version, MgTab& tab);
 

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOStroke.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOStroke.cpp	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOStroke.cpp	2019-02-05 16:19:47 UTC (rev 9478)
@@ -53,7 +53,7 @@
 }
 
 
-void IOStroke::StartElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOStroke::StartElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     // Note: m_elementName is not part of the Element Map, so the
     // eStroke value is substituted - but sStroke will not be the correct
@@ -83,7 +83,7 @@
 }
 
 
-void IOStroke::ElementChars(const wchar_t* ch)
+void IOStroke::ElementChars(MdfCStr* ch)
 {
     switch (this->m_currElemId)
     {
@@ -113,7 +113,7 @@
 }
 
 
-void IOStroke::EndElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOStroke::EndElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     if (this->m_startElemName == name)
     {

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOStroke.h
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOStroke.h	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOStroke.h	2019-02-05 16:19:47 UTC (rev 9478)
@@ -34,9 +34,9 @@
         IOStroke(Stroke* stroke, std::wstring elementName, Version& version);
         virtual ~IOStroke();
 
-        virtual void StartElement(const wchar_t* name, HandlerStack* handlerStack);
-        virtual void ElementChars(const wchar_t* ch);
-        virtual void EndElement(const wchar_t* name, HandlerStack* handlerStack);
+        virtual void StartElement(MdfCStr* name, HandlerStack* handlerStack);
+        virtual void ElementChars(MdfCStr* ch);
+        virtual void EndElement(MdfCStr* name, HandlerStack* handlerStack);
 
         static void Write(MdfStream& fd, Stroke* stroke, std::string name, Version* version, MgTab& tab);
 

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOSupplementalSpatialContextInfo.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOSupplementalSpatialContextInfo.cpp	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOSupplementalSpatialContextInfo.cpp	2019-02-05 16:19:47 UTC (rev 9478)
@@ -49,7 +49,7 @@
 }
 
 
-void IOSupplementalSpatialContextInfo::StartElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOSupplementalSpatialContextInfo::StartElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     this->m_currElemName = name;
     this->m_currElemId = _ElementIdFromName(name);
@@ -75,7 +75,7 @@
 }
 
 
-void IOSupplementalSpatialContextInfo::ElementChars(const wchar_t* ch)
+void IOSupplementalSpatialContextInfo::ElementChars(MdfCStr* ch)
 {
     switch (this->m_currElemId)
     {
@@ -90,7 +90,7 @@
 }
 
 
-void IOSupplementalSpatialContextInfo::EndElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOSupplementalSpatialContextInfo::EndElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     if (this->m_startElemName == name)
     {

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOSupplementalSpatialContextInfo.h
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOSupplementalSpatialContextInfo.h	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOSupplementalSpatialContextInfo.h	2019-02-05 16:19:47 UTC (rev 9478)
@@ -35,9 +35,9 @@
         IOSupplementalSpatialContextInfo(FeatureSource* featureSource, Version& version);
         virtual ~IOSupplementalSpatialContextInfo();
 
-        virtual void StartElement(const wchar_t* name, HandlerStack* handlerStack);
-        virtual void ElementChars(const wchar_t* ch);
-        virtual void EndElement(const wchar_t* name, HandlerStack* handlerStack);
+        virtual void StartElement(MdfCStr* name, HandlerStack* handlerStack);
+        virtual void ElementChars(MdfCStr* ch);
+        virtual void EndElement(MdfCStr* name, HandlerStack* handlerStack);
 
         static void Write(MdfStream& fd, SupplementalSpatialContextInfo* ssContextInfo, Version* version, MgTab& tab);
 

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOSymbol.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOSymbol.cpp	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOSymbol.cpp	2019-02-05 16:19:47 UTC (rev 9478)
@@ -29,7 +29,7 @@
 }
 
 
-void IOSymbol::ElementChars(const wchar_t* ch)
+void IOSymbol::ElementChars(MdfCStr* ch)
 {
     if (this->m_currElemName == MDF_STR("Unit")) // NOXLATE
     {

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOSymbol.h
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOSymbol.h	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOSymbol.h	2019-02-05 16:19:47 UTC (rev 9478)
@@ -31,7 +31,7 @@
 {
     public:
         IOSymbol(Version& version);
-        virtual void ElementChars(const wchar_t* ch);
+        virtual void ElementChars(MdfCStr* ch);
 
         Symbol* GetSymbol();
 

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOSymbolInstance.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOSymbolInstance.cpp	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOSymbolInstance.cpp	2019-02-05 16:19:47 UTC (rev 9478)
@@ -33,7 +33,7 @@
 }
 
 
-void IOSymbolInstance::StartElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOSymbolInstance::StartElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     this->m_currElemName = name;
     if (this->m_currElemName == MDF_STR("SymbolInstance")) // NOXLATE
@@ -94,7 +94,7 @@
 }
 
 
-void IOSymbolInstance::ElementChars(const wchar_t* ch)
+void IOSymbolInstance::ElementChars(MdfCStr* ch)
 {
          IF_STRING_PROPERTY(this->m_currElemName, this->m_symbolInstance, ResourceId, ch)
     else IF_STRING_PROPERTY(this->m_currElemName, this->m_symbolInstance, ScaleX, ch)
@@ -132,7 +132,7 @@
 }
 
 
-void IOSymbolInstance::EndElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOSymbolInstance::EndElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     if (this->m_startElemName == name)
     {

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOSymbolInstance.h
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOSymbolInstance.h	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOSymbolInstance.h	2019-02-05 16:19:47 UTC (rev 9478)
@@ -32,9 +32,9 @@
     public:
         IOSymbolInstance(SymbolInstanceCollection* symbolInstanceCollection, Version& version);
 
-        virtual void StartElement(const wchar_t* name, HandlerStack* handlerStack);
-        virtual void ElementChars(const wchar_t* ch);
-        virtual void EndElement(const wchar_t* name, HandlerStack* handlerStack);
+        virtual void StartElement(MdfCStr* name, HandlerStack* handlerStack);
+        virtual void ElementChars(MdfCStr* ch);
+        virtual void EndElement(MdfCStr* name, HandlerStack* handlerStack);
 
         static void Write(MdfStream& fd, SymbolInstance* symbolInstance, Version* version, MgTab& tab);
 

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOText.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOText.cpp	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOText.cpp	2019-02-05 16:19:47 UTC (rev 9478)
@@ -30,7 +30,7 @@
 }
 
 
-void IOText::StartTextElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOText::StartTextElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     // the element is a text with the supplied name
     this->m_currElemName = name;
@@ -38,7 +38,7 @@
 }
 
 
-void IOText::StartElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOText::StartElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     this->m_currElemName = name;
     if (this->m_currElemName == MDF_STR("Frame")) // NOXLATE
@@ -75,7 +75,7 @@
 }
 
 
-void IOText::ElementChars(const wchar_t* ch)
+void IOText::ElementChars(MdfCStr* ch)
 {
     Text* text = static_cast<Text*>(this->m_element);
 

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOText.h
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOText.h	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOText.h	2019-02-05 16:19:47 UTC (rev 9478)
@@ -32,10 +32,10 @@
     public:
         IOText(Text* text, Version& version);
 
-        void StartTextElement(const wchar_t* name, HandlerStack* handlerStack);
+        void StartTextElement(MdfCStr* name, HandlerStack* handlerStack);
 
-        virtual void StartElement(const wchar_t* name, HandlerStack* handlerStack);
-        virtual void ElementChars(const wchar_t* ch);
+        virtual void StartElement(MdfCStr* name, HandlerStack* handlerStack);
+        virtual void ElementChars(MdfCStr* ch);
 
         static void Write(MdfStream& fd, Text* text, Version* version, MgTab& tab);
 };

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOTextFrame.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOTextFrame.cpp	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOTextFrame.cpp	2019-02-05 16:19:47 UTC (rev 9478)
@@ -36,7 +36,7 @@
 }
 
 
-void IOTextFrame::StartElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOTextFrame::StartElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     this->m_currElemName = name;
     if (this->m_currElemName == MDF_STR("Frame")) // NOXLATE
@@ -55,7 +55,7 @@
 }
 
 
-void IOTextFrame::ElementChars(const wchar_t* ch)
+void IOTextFrame::ElementChars(MdfCStr* ch)
 {
          IF_STRING_PROPERTY(this->m_currElemName, this->m_textFrame, LineColor, ch)
     else IF_STRING_PROPERTY(this->m_currElemName, this->m_textFrame, FillColor, ch)
@@ -64,7 +64,7 @@
 }
 
 
-void IOTextFrame::EndElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOTextFrame::EndElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     if (this->m_startElemName == name)
     {

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOTextFrame.h
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOTextFrame.h	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOTextFrame.h	2019-02-05 16:19:47 UTC (rev 9478)
@@ -34,9 +34,9 @@
         IOTextFrame(Text* text, Version& version);
         virtual ~IOTextFrame();
 
-        virtual void StartElement(const wchar_t* name, HandlerStack* handlerStack);
-        virtual void ElementChars(const wchar_t* ch);
-        virtual void EndElement(const wchar_t* name, HandlerStack* handlerStack);
+        virtual void StartElement(MdfCStr* name, HandlerStack* handlerStack);
+        virtual void ElementChars(MdfCStr* ch);
+        virtual void EndElement(MdfCStr* name, HandlerStack* handlerStack);
 
         static void Write(MdfStream& fd, TextFrame* textFrame, Version* version, MgTab& tab);
 

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOThemeLabel.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOThemeLabel.cpp	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOThemeLabel.cpp	2019-02-05 16:19:47 UTC (rev 9478)
@@ -36,7 +36,7 @@
 }
 
 
-void IOThemeLabel::StartElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOThemeLabel::StartElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     this->m_currElemName = name;
     if (this->m_currElemName == MDF_STR("ThemeLabel")) // NOXLATE
@@ -55,7 +55,7 @@
 }
 
 
-void IOThemeLabel::ElementChars(const wchar_t* ch)
+void IOThemeLabel::ElementChars(MdfCStr* ch)
 {
          IF_STRING_PROPERTY(this->m_currElemName, this->m_themeLabel, Description, ch)
     else IF_STRING_PROPERTY(this->m_currElemName, this->m_themeLabel, CategoryFormat, ch)
@@ -62,7 +62,7 @@
 }
 
 
-void IOThemeLabel::EndElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOThemeLabel::EndElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     if (this->m_startElemName == name)
     {

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOThemeLabel.h
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOThemeLabel.h	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOThemeLabel.h	2019-02-05 16:19:47 UTC (rev 9478)
@@ -34,9 +34,9 @@
         IOThemeLabel(Override* pOverride, Version& version);
         virtual ~IOThemeLabel();
 
-        virtual void StartElement(const wchar_t* name, HandlerStack* handlerStack);
-        virtual void ElementChars(const wchar_t* ch);
-        virtual void EndElement(const wchar_t* name, HandlerStack* handlerStack);
+        virtual void StartElement(MdfCStr* name, HandlerStack* handlerStack);
+        virtual void ElementChars(MdfCStr* ch);
+        virtual void EndElement(MdfCStr* name, HandlerStack* handlerStack);
 
         static void Write(MdfStream& fd, ThemeLabel* pThemeLabel, Version* version, MgTab& tab);
 

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOTileSetDefinition.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOTileSetDefinition.cpp	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOTileSetDefinition.cpp	2019-02-05 16:19:47 UTC (rev 9478)
@@ -52,7 +52,7 @@
 }
 
 
-void IOTileSetDefinition::StartElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOTileSetDefinition::StartElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     this->m_currElemName = name;
     this->m_currElemId = _ElementIdFromName(name);
@@ -98,13 +98,13 @@
 }
 
 
-void IOTileSetDefinition::ElementChars(const wchar_t* ch)
+void IOTileSetDefinition::ElementChars(MdfCStr* ch)
 {
 
 }
 
 
-void IOTileSetDefinition::EndElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOTileSetDefinition::EndElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     if (this->m_startElemName == name)
     {

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOTileSetDefinition.h
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOTileSetDefinition.h	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOTileSetDefinition.h	2019-02-05 16:19:47 UTC (rev 9478)
@@ -36,9 +36,9 @@
         IOTileSetDefinition(TileSetDefinition* tileset, Version& version);
         virtual ~IOTileSetDefinition();
 
-        virtual void StartElement(const wchar_t* name, HandlerStack* handlerStack);
-        virtual void ElementChars(const wchar_t* ch);
-        virtual void EndElement(const wchar_t* name, HandlerStack* handlerStack);
+        virtual void StartElement(MdfCStr* name, HandlerStack* handlerStack);
+        virtual void ElementChars(MdfCStr* ch);
+        virtual void EndElement(MdfCStr* name, HandlerStack* handlerStack);
 
         static void Write(MdfStream& fd, TileSetDefinition* tileset, Version* version, MgTab& tab);
 

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOTileSetSource.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOTileSetSource.cpp	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOTileSetSource.cpp	2019-02-05 16:19:47 UTC (rev 9478)
@@ -37,7 +37,7 @@
 
 }
 
-void IOTileSetSource::StartElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOTileSetSource::StartElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     this->m_currElemName = name;
     if (this->m_currElemName == MDF_STR("TileSetSource")) // NOXLATE
@@ -46,7 +46,7 @@
     }
 }
 
-void IOTileSetSource::ElementChars(const wchar_t* ch)
+void IOTileSetSource::ElementChars(MdfCStr* ch)
 {
     if (this->m_currElemName == MDF_STR("ResourceId")) // NOXLATE
     {
@@ -54,7 +54,7 @@
     }
 }
 
-void IOTileSetSource::EndElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOTileSetSource::EndElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     if (this->m_startElemName == name)
     {

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOTileSetSource.h
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOTileSetSource.h	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOTileSetSource.h	2019-02-05 16:19:47 UTC (rev 9478)
@@ -36,9 +36,9 @@
         IOTileSetSource(TileSetSource* source, Version& version);
         virtual ~IOTileSetSource();
 
-        virtual void StartElement(const wchar_t* name, HandlerStack* handlerStack);
-        virtual void ElementChars(const wchar_t* ch);
-        virtual void EndElement(const wchar_t* name, HandlerStack* handlerStack);
+        virtual void StartElement(MdfCStr* name, HandlerStack* handlerStack);
+        virtual void ElementChars(MdfCStr* ch);
+        virtual void EndElement(MdfCStr* name, HandlerStack* handlerStack);
 
         static void Write(MdfStream& fd, TileSetSource* source, Version* version, MgTab& tab);
 

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOTileStoreParameters.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOTileStoreParameters.cpp	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOTileStoreParameters.cpp	2019-02-05 16:19:47 UTC (rev 9478)
@@ -38,7 +38,7 @@
 
 }
 
-void IOTileStoreParameters::StartElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOTileStoreParameters::StartElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     this->m_currElemName = name;
     if (this->m_currElemName == MDF_STR("TileStoreParameters")) // NOXLATE
@@ -56,7 +56,7 @@
     }
 }
 
-void IOTileStoreParameters::ElementChars(const wchar_t* ch)
+void IOTileStoreParameters::ElementChars(MdfCStr* ch)
 {
     if (this->m_currElemName == MDF_STR("TileProvider")) // NOXLATE
     {
@@ -64,7 +64,7 @@
     }
 }
 
-void IOTileStoreParameters::EndElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOTileStoreParameters::EndElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     if (this->m_startElemName == name)
     {

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOTileStoreParameters.h
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOTileStoreParameters.h	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOTileStoreParameters.h	2019-02-05 16:19:47 UTC (rev 9478)
@@ -36,9 +36,9 @@
         IOTileStoreParameters(TileStoreParameters* params, Version& version);
         virtual ~IOTileStoreParameters();
 
-        virtual void StartElement(const wchar_t* name, HandlerStack* handlerStack);
-        virtual void ElementChars(const wchar_t* ch);
-        virtual void EndElement(const wchar_t* name, HandlerStack* handlerStack);
+        virtual void StartElement(MdfCStr* name, HandlerStack* handlerStack);
+        virtual void ElementChars(MdfCStr* ch);
+        virtual void EndElement(MdfCStr* name, HandlerStack* handlerStack);
 
         static void Write(MdfStream& fd, TileStoreParameters* params, Version* version, MgTab& tab);
 

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOTileWatermarkPosition.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOTileWatermarkPosition.cpp	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOTileWatermarkPosition.cpp	2019-02-05 16:19:47 UTC (rev 9478)
@@ -49,7 +49,7 @@
 }
 
 
-void IOTileWatermarkPosition::StartElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOTileWatermarkPosition::StartElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     this->m_currElemName = name;
     this->m_currElemId = _ElementIdFromName(name);
@@ -87,7 +87,7 @@
 }
 
 
-void IOTileWatermarkPosition::ElementChars(const wchar_t* ch)
+void IOTileWatermarkPosition::ElementChars(MdfCStr* ch)
 {
     switch (this->m_currElemId)
     {
@@ -102,7 +102,7 @@
 }
 
 
-void IOTileWatermarkPosition::EndElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOTileWatermarkPosition::EndElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     if (this->m_startElemName == name)
     {

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOTileWatermarkPosition.h
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOTileWatermarkPosition.h	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOTileWatermarkPosition.h	2019-02-05 16:19:47 UTC (rev 9478)
@@ -34,9 +34,9 @@
         IOTileWatermarkPosition(TileWatermarkPosition* position, Version& version);
         virtual ~IOTileWatermarkPosition();
 
-        virtual void StartElement(const wchar_t* name, HandlerStack* handlerStack);
-        virtual void ElementChars(const wchar_t* ch);
-        virtual void EndElement(const wchar_t* name, HandlerStack* handlerStack);
+        virtual void StartElement(MdfCStr* name, HandlerStack* handlerStack);
+        virtual void ElementChars(MdfCStr* ch);
+        virtual void EndElement(MdfCStr* name, HandlerStack* handlerStack);
 
         static void Write(MdfStream& fd, TileWatermarkPosition* position, Version* version, MgTab& tab);
 

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOURLData.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOURLData.cpp	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOURLData.cpp	2019-02-05 16:19:47 UTC (rev 9478)
@@ -51,7 +51,7 @@
 }
 
 
-void IOURLData::StartElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOURLData::StartElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     this->m_currElemName = name;
     this->m_currElemId = _ElementIdFromName(name);
@@ -77,7 +77,7 @@
 }
 
 
-void IOURLData::ElementChars(const wchar_t* ch)
+void IOURLData::ElementChars(MdfCStr* ch)
 {
     switch (this->m_currElemId)
     {
@@ -100,7 +100,7 @@
 }
 
 
-void IOURLData::EndElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOURLData::EndElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     if (this->m_startElemName == name)
     {

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOURLData.h
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOURLData.h	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOURLData.h	2019-02-05 16:19:47 UTC (rev 9478)
@@ -35,9 +35,9 @@
         IOURLData(VectorLayerDefinition* vectorLayerDefinition, Version& version);
         virtual ~IOURLData();
 
-        virtual void StartElement(const wchar_t* name, HandlerStack* handlerStack);
-        virtual void ElementChars(const wchar_t* ch);
-        virtual void EndElement(const wchar_t* name, HandlerStack* handlerStack);
+        virtual void StartElement(MdfCStr* name, HandlerStack* handlerStack);
+        virtual void ElementChars(MdfCStr* ch);
+        virtual void EndElement(MdfCStr* name, HandlerStack* handlerStack);
 
         static void Write(MdfStream& fd, URLData* urlData, Version* version, MgTab& tab);
 

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOUnknown.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOUnknown.cpp	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOUnknown.cpp	2019-02-05 16:19:47 UTC (rev 9478)
@@ -36,7 +36,7 @@
 }
 
 
-void IOUnknown::StartElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOUnknown::StartElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     this->m_currElemName = name;
     if (this->m_startElemName.empty())
@@ -72,7 +72,7 @@
 }
 
 
-void IOUnknown::ElementChars(const wchar_t* ch)
+void IOUnknown::ElementChars(MdfCStr* ch)
 {
     this->m_xml->append(ch);
     this->m_endedElement = false;
@@ -79,7 +79,7 @@
 }
 
 
-void IOUnknown::EndElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOUnknown::EndElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     if (this->m_endedElement)
     {

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOUnknown.h
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOUnknown.h	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOUnknown.h	2019-02-05 16:19:47 UTC (rev 9478)
@@ -32,9 +32,9 @@
         IOUnknown(std::wstring* xml, Version& version);
         virtual ~IOUnknown();
 
-        virtual void StartElement(const wchar_t* name, HandlerStack* handlerStack);
-        virtual void ElementChars(const wchar_t* ch);
-        virtual void EndElement(const wchar_t* name, HandlerStack* handlerStack);
+        virtual void StartElement(MdfCStr* name, HandlerStack* handlerStack);
+        virtual void ElementChars(MdfCStr* ch);
+        virtual void EndElement(MdfCStr* name, HandlerStack* handlerStack);
 
         static void Write(MdfStream& fd, const std::wstring& unkData, Version* version, MgTab& tab);
         static void Write(MdfStream& fd, const std::wstring& unkData, const std::string& rawData, Version* version, MgTab& tab);

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOUtil.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOUtil.cpp	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOUtil.cpp	2019-02-05 16:19:47 UTC (rev 9478)
@@ -77,13 +77,13 @@
 }
 
 
-bool wstrToBool(const wchar_t* ch)
+bool wstrToBool(MdfCStr* ch)
 {
     return (_wcsnicmp(ch, MDF_STR("true"), 5) == 0);
 }
 
 
-double wstrToDouble(const wchar_t* ch)
+double wstrToDouble(MdfCStr* ch)
 {
     #ifdef _WIN32
         return _wtof(ch);
@@ -93,7 +93,7 @@
 }
 
 
-int wstrToInt(const wchar_t* ch)
+int wstrToInt(MdfCStr* ch)
 {
     #ifdef _WIN32
         return _wtoi(ch);
@@ -110,7 +110,7 @@
     if (len == 0)
         return false;
 
-    const wchar_t* cstr = str.c_str();
+    MdfCStr* cstr = str.c_str();
 
     if (_wcsnicmp(cstr, MDF_STR("true"), 5) == 0)
     {
@@ -135,7 +135,7 @@
     if (len == 0)
         return false;
 
-    const wchar_t* cstr = str.c_str();
+    MdfCStr* cstr = str.c_str();
     size_t chars = 0;
     int ret = swscanf(cstr, MDF_STR("%lf%n"), &result, &chars);
     if (ret == 1 && chars == len)
@@ -152,7 +152,7 @@
     if (len == 0)
         return false;
 
-    const wchar_t* cstr = str.c_str();
+    MdfCStr* cstr = str.c_str();
     size_t chars = 0;
     int ret = swscanf(cstr, MDF_STR("%d%n"), &result, &chars);
     if (ret == 1 && chars == len)

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOUtil.h
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOUtil.h	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOUtil.h	2019-02-05 16:19:47 UTC (rev 9478)
@@ -97,9 +97,9 @@
     MDFPARSER_API std::string EncodeString(const std::wstring& str);
     MDFPARSER_API std::string toCString(const std::wstring& str);
 
-    MDFPARSER_API bool wstrToBool(const wchar_t* ch);
-    MDFPARSER_API double wstrToDouble(const wchar_t* ch);
-    MDFPARSER_API int wstrToInt(const wchar_t* ch);
+    MDFPARSER_API bool wstrToBool(MdfCStr* ch);
+    MDFPARSER_API double wstrToDouble(MdfCStr* ch);
+    MDFPARSER_API int wstrToInt(MdfCStr* ch);
 
     MDFPARSER_API bool wstrToBool(const MdfString& str, bool& result);
     MDFPARSER_API bool wstrToDouble(const MdfString& str, double& result);

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOVectorLayerDefinition.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOVectorLayerDefinition.cpp	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOVectorLayerDefinition.cpp	2019-02-05 16:19:47 UTC (rev 9478)
@@ -62,7 +62,7 @@
 }
 
 
-void IOVectorLayerDefinition::StartElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOVectorLayerDefinition::StartElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     this->m_currElemName = name;
     this->m_currElemId = _ElementIdFromName(name);
@@ -122,7 +122,7 @@
 }
 
 
-void IOVectorLayerDefinition::ElementChars(const wchar_t* ch)
+void IOVectorLayerDefinition::ElementChars(MdfCStr* ch)
 {
     switch (this->m_currElemId)
     {
@@ -174,7 +174,7 @@
 }
 
 
-void IOVectorLayerDefinition::EndElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOVectorLayerDefinition::EndElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     if (this->m_startElemName == name)
     {

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOVectorLayerDefinition.h
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOVectorLayerDefinition.h	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOVectorLayerDefinition.h	2019-02-05 16:19:47 UTC (rev 9478)
@@ -34,9 +34,9 @@
         IOVectorLayerDefinition(VectorLayerDefinition* layer, Version& version);
         virtual ~IOVectorLayerDefinition();
 
-        virtual void StartElement(const wchar_t* name, HandlerStack* handlerStack);
-        virtual void ElementChars(const wchar_t* ch);
-        virtual void EndElement(const wchar_t* name, HandlerStack* handlerStack);
+        virtual void StartElement(MdfCStr* name, HandlerStack* handlerStack);
+        virtual void ElementChars(MdfCStr* ch);
+        virtual void EndElement(MdfCStr* name, HandlerStack* handlerStack);
 
         static void Write(MdfStream& fd, VectorLayerDefinition* vectorLayer, Version* version, MgTab& tab);
 

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOVectorScaleRange.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOVectorScaleRange.cpp	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOVectorScaleRange.cpp	2019-02-05 16:19:47 UTC (rev 9478)
@@ -59,7 +59,7 @@
 }
 
 
-void IOVectorScaleRange::StartElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOVectorScaleRange::StartElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     this->m_currElemName = name;
     this->m_currElemId = _ElementIdFromName(name);
@@ -122,7 +122,7 @@
 }
 
 
-void IOVectorScaleRange::ElementChars(const wchar_t* ch)
+void IOVectorScaleRange::ElementChars(MdfCStr* ch)
 {
     switch (this->m_currElemId)
     {
@@ -137,7 +137,7 @@
 }
 
 
-void IOVectorScaleRange::EndElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOVectorScaleRange::EndElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     if (this->m_startElemName == name)
     {

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOVectorScaleRange.h
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOVectorScaleRange.h	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOVectorScaleRange.h	2019-02-05 16:19:47 UTC (rev 9478)
@@ -35,9 +35,9 @@
         IOVectorScaleRange(VectorLayerDefinition* layer, Version& version);
         virtual ~IOVectorScaleRange();
 
-        virtual void StartElement(const wchar_t* name, HandlerStack* handlerStack);
-        virtual void ElementChars(const wchar_t* ch);
-        virtual void EndElement(const wchar_t* name, HandlerStack* handlerStack);
+        virtual void StartElement(MdfCStr* name, HandlerStack* handlerStack);
+        virtual void ElementChars(MdfCStr* ch);
+        virtual void EndElement(MdfCStr* name, HandlerStack* handlerStack);
 
         static void Write(MdfStream& fd, VectorScaleRange* scaleRange, Version* version, MgTab& tab);
 

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOW2DSymbol.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOW2DSymbol.cpp	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOW2DSymbol.cpp	2019-02-05 16:19:47 UTC (rev 9478)
@@ -51,7 +51,7 @@
 }
 
 
-void IOW2DSymbol::StartElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOW2DSymbol::StartElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     this->m_currElemName = name;
     this->m_currElemId = _ElementIdFromName(name);
@@ -82,7 +82,7 @@
 }
 
 
-void IOW2DSymbol::ElementChars(const wchar_t* ch)
+void IOW2DSymbol::ElementChars(MdfCStr* ch)
 {
     W2DSymbol* symbol = static_cast<W2DSymbol*>(this->m_symbol);
 
@@ -107,7 +107,7 @@
 }
 
 
-void IOW2DSymbol::EndElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOW2DSymbol::EndElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     if (this->m_startElemName == name)
     {

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOW2DSymbol.h
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOW2DSymbol.h	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOW2DSymbol.h	2019-02-05 16:19:47 UTC (rev 9478)
@@ -32,9 +32,9 @@
 {
     public:
         IOW2DSymbol(Version& version);
-        virtual void StartElement(const wchar_t* name, HandlerStack* handlerStack);
-        virtual void ElementChars(const wchar_t* ch);
-        virtual void EndElement(const wchar_t* name, HandlerStack* handlerStack);
+        virtual void StartElement(MdfCStr* name, HandlerStack* handlerStack);
+        virtual void ElementChars(MdfCStr* ch);
+        virtual void EndElement(MdfCStr* name, HandlerStack* handlerStack);
 
         static void Write(MdfStream& fd, W2DSymbol* symbol, Version* version, MgTab& tab);
 

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOWatermarkAppearance.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOWatermarkAppearance.cpp	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOWatermarkAppearance.cpp	2019-02-05 16:19:47 UTC (rev 9478)
@@ -46,7 +46,7 @@
 }
 
 
-void IOWatermarkAppearance::StartElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOWatermarkAppearance::StartElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     this->m_currElemName = name;
     this->m_currElemId = _ElementIdFromName(name);
@@ -68,7 +68,7 @@
 }
 
 
-void IOWatermarkAppearance::ElementChars(const wchar_t* ch)
+void IOWatermarkAppearance::ElementChars(MdfCStr* ch)
 {
     switch (this->m_currElemId)
     {
@@ -83,7 +83,7 @@
 }
 
 
-void IOWatermarkAppearance::EndElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOWatermarkAppearance::EndElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     if (this->m_startElemName == name)
     {

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOWatermarkAppearance.h
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOWatermarkAppearance.h	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOWatermarkAppearance.h	2019-02-05 16:19:47 UTC (rev 9478)
@@ -34,9 +34,9 @@
         IOWatermarkAppearance(WatermarkAppearance* appearance, Version& version);
         virtual ~IOWatermarkAppearance();
 
-        virtual void StartElement(const wchar_t* name, HandlerStack* handlerStack);
-        virtual void ElementChars(const wchar_t* ch);
-        virtual void EndElement(const wchar_t* name, HandlerStack* handlerStack);
+        virtual void StartElement(MdfCStr* name, HandlerStack* handlerStack);
+        virtual void ElementChars(MdfCStr* ch);
+        virtual void EndElement(MdfCStr* name, HandlerStack* handlerStack);
 
         static void Write(MdfStream& fd, WatermarkAppearance* appearance, Version* version, const std::string& name, MgTab& tab);
 

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOWatermarkDefinition.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOWatermarkDefinition.cpp	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOWatermarkDefinition.cpp	2019-02-05 16:19:47 UTC (rev 9478)
@@ -57,7 +57,7 @@
 }
 
 
-void IOWatermarkDefinition::StartElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOWatermarkDefinition::StartElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     this->m_currElemName = name;
     this->m_currElemId = _ElementIdFromName(name);
@@ -137,12 +137,12 @@
 }
 
 
-void IOWatermarkDefinition::ElementChars(const wchar_t* ch)
+void IOWatermarkDefinition::ElementChars(MdfCStr* ch)
 {
 }
 
 
-void IOWatermarkDefinition::EndElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOWatermarkDefinition::EndElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     if (this->m_startElemName == name)
     {

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOWatermarkDefinition.h
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOWatermarkDefinition.h	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOWatermarkDefinition.h	2019-02-05 16:19:47 UTC (rev 9478)
@@ -34,9 +34,9 @@
         IOWatermarkDefinition(WatermarkDefinition* watermark, Version& version);
         virtual ~IOWatermarkDefinition();
 
-        virtual void StartElement(const wchar_t* name, HandlerStack* handlerStack);
-        virtual void ElementChars(const wchar_t* ch);
-        virtual void EndElement(const wchar_t* name, HandlerStack* handlerStack);
+        virtual void StartElement(MdfCStr* name, HandlerStack* handlerStack);
+        virtual void ElementChars(MdfCStr* ch);
+        virtual void EndElement(MdfCStr* name, HandlerStack* handlerStack);
 
         static void Write(MdfStream& fd, WatermarkDefinition* watermark, Version* version, MgTab& tab);
 

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOWatermarkInstance.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOWatermarkInstance.cpp	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOWatermarkInstance.cpp	2019-02-05 16:19:47 UTC (rev 9478)
@@ -55,7 +55,7 @@
 }
 
 
-void IOWatermarkInstance::StartElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOWatermarkInstance::StartElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     this->m_currElemName = name;
     this->m_currElemId = _ElementIdFromName(name);
@@ -107,7 +107,7 @@
 }
 
 
-void IOWatermarkInstance::ElementChars(const wchar_t* ch)
+void IOWatermarkInstance::ElementChars(MdfCStr* ch)
 {
     switch (this->m_currElemId)
     {
@@ -131,7 +131,7 @@
 }
 
 
-void IOWatermarkInstance::EndElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOWatermarkInstance::EndElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     if (this->m_startElemName == name)
     {

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOWatermarkInstance.h
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOWatermarkInstance.h	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOWatermarkInstance.h	2019-02-05 16:19:47 UTC (rev 9478)
@@ -34,9 +34,9 @@
         IOWatermarkInstance(WatermarkInstance* watermark, Version& version);
         virtual ~IOWatermarkInstance();
 
-        virtual void StartElement(const wchar_t* name, HandlerStack* handlerStack);
-        virtual void ElementChars(const wchar_t* ch);
-        virtual void EndElement(const wchar_t* name, HandlerStack* handlerStack);
+        virtual void StartElement(MdfCStr* name, HandlerStack* handlerStack);
+        virtual void ElementChars(MdfCStr* ch);
+        virtual void EndElement(MdfCStr* name, HandlerStack* handlerStack);
 
         static void Write(MdfStream& fd, WatermarkInstance* watermark, Version* version, MgTab& tab);
 

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOWatermarkOffsetUnit.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOWatermarkOffsetUnit.cpp	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOWatermarkOffsetUnit.cpp	2019-02-05 16:19:47 UTC (rev 9478)
@@ -23,7 +23,7 @@
 using namespace MDFPARSER_NAMESPACE;
 
 
-WatermarkOffset::WatermarkOffsetUnit IOWatermarkOffsetUnit::ParseWatermarkOffsetUnit(const wchar_t* ch)
+WatermarkOffset::WatermarkOffsetUnit IOWatermarkOffsetUnit::ParseWatermarkOffsetUnit(MdfCStr* ch)
 {
     if (::wcscmp(ch, MDF_STR("Inches")) == 0) // NOXLATE
         return WatermarkOffset::Inches;

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOWatermarkOffsetUnit.h
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOWatermarkOffsetUnit.h	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOWatermarkOffsetUnit.h	2019-02-05 16:19:47 UTC (rev 9478)
@@ -28,7 +28,7 @@
 class IOWatermarkOffsetUnit
 {
     public:
-        static WatermarkOffset::WatermarkOffsetUnit ParseWatermarkOffsetUnit(const wchar_t* ch);
+        static WatermarkOffset::WatermarkOffsetUnit ParseWatermarkOffsetUnit(MdfCStr* ch);
 
         static void Write(MdfStream& fd, WatermarkOffset::WatermarkOffsetUnit offsetUnit, MgTab& tab);
 };

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOWatermarkXOffset.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOWatermarkXOffset.cpp	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOWatermarkXOffset.cpp	2019-02-05 16:19:47 UTC (rev 9478)
@@ -48,7 +48,7 @@
 }
 
 
-void IOWatermarkXOffset::StartElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOWatermarkXOffset::StartElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     this->m_currElemName = name;
     this->m_currElemId = _ElementIdFromName(name);
@@ -70,7 +70,7 @@
 }
 
 
-void IOWatermarkXOffset::ElementChars(const wchar_t* ch)
+void IOWatermarkXOffset::ElementChars(MdfCStr* ch)
 {
     switch (this->m_currElemId)
     {
@@ -94,7 +94,7 @@
 }
 
 
-void IOWatermarkXOffset::EndElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOWatermarkXOffset::EndElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     if (this->m_startElemName == name)
     {

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOWatermarkXOffset.h
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOWatermarkXOffset.h	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOWatermarkXOffset.h	2019-02-05 16:19:47 UTC (rev 9478)
@@ -34,9 +34,9 @@
         IOWatermarkXOffset(WatermarkXOffset* xOffset, Version& version);
         virtual ~IOWatermarkXOffset();
 
-        virtual void StartElement(const wchar_t* name, HandlerStack* handlerStack);
-        virtual void ElementChars(const wchar_t* ch);
-        virtual void EndElement(const wchar_t* name, HandlerStack* handlerStack);
+        virtual void StartElement(MdfCStr* name, HandlerStack* handlerStack);
+        virtual void ElementChars(MdfCStr* ch);
+        virtual void EndElement(MdfCStr* name, HandlerStack* handlerStack);
 
         static void Write(MdfStream& fd, WatermarkXOffset* xOffset, const std::string& name, Version* version, MgTab& tab);
 

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOWatermarkYOffset.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOWatermarkYOffset.cpp	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOWatermarkYOffset.cpp	2019-02-05 16:19:47 UTC (rev 9478)
@@ -48,7 +48,7 @@
 }
 
 
-void IOWatermarkYOffset::StartElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOWatermarkYOffset::StartElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     this->m_currElemName = name;
     this->m_currElemId = _ElementIdFromName(name);
@@ -70,7 +70,7 @@
 }
 
 
-void IOWatermarkYOffset::ElementChars(const wchar_t* ch)
+void IOWatermarkYOffset::ElementChars(MdfCStr* ch)
 {
     switch (this->m_currElemId)
     {
@@ -94,7 +94,7 @@
 }
 
 
-void IOWatermarkYOffset::EndElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOWatermarkYOffset::EndElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     if (this->m_startElemName == name)
     {

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOWatermarkYOffset.h
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOWatermarkYOffset.h	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOWatermarkYOffset.h	2019-02-05 16:19:47 UTC (rev 9478)
@@ -34,9 +34,9 @@
         IOWatermarkYOffset(WatermarkYOffset* yOffset, Version& version);
         virtual ~IOWatermarkYOffset();
 
-        virtual void StartElement(const wchar_t* name, HandlerStack* handlerStack);
-        virtual void ElementChars(const wchar_t* ch);
-        virtual void EndElement(const wchar_t* name, HandlerStack* handlerStack);
+        virtual void StartElement(MdfCStr* name, HandlerStack* handlerStack);
+        virtual void ElementChars(MdfCStr* ch);
+        virtual void EndElement(MdfCStr* name, HandlerStack* handlerStack);
 
         static void Write(MdfStream& fd, WatermarkYOffset* xOffset, const std::string& name, Version* version, MgTab& tab);
 

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOXYWatermarkPosition.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOXYWatermarkPosition.cpp	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOXYWatermarkPosition.cpp	2019-02-05 16:19:47 UTC (rev 9478)
@@ -47,7 +47,7 @@
 }
 
 
-void IOXYWatermarkPosition::StartElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOXYWatermarkPosition::StartElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     this->m_currElemName = name;
     this->m_currElemId = _ElementIdFromName(name);
@@ -85,12 +85,12 @@
 }
 
 
-void IOXYWatermarkPosition::ElementChars(const wchar_t* ch)
+void IOXYWatermarkPosition::ElementChars(MdfCStr* ch)
 {
 }
 
 
-void IOXYWatermarkPosition::EndElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOXYWatermarkPosition::EndElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     if (this->m_startElemName == name)
     {

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/IOXYWatermarkPosition.h
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/IOXYWatermarkPosition.h	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/IOXYWatermarkPosition.h	2019-02-05 16:19:47 UTC (rev 9478)
@@ -34,9 +34,9 @@
         IOXYWatermarkPosition(XYWatermarkPosition* position, Version& version);
         virtual ~IOXYWatermarkPosition();
 
-        virtual void StartElement(const wchar_t* name, HandlerStack* handlerStack);
-        virtual void ElementChars(const wchar_t* ch);
-        virtual void EndElement(const wchar_t* name, HandlerStack* handlerStack);
+        virtual void StartElement(MdfCStr* name, HandlerStack* handlerStack);
+        virtual void ElementChars(MdfCStr* ch);
+        virtual void EndElement(MdfCStr* name, HandlerStack* handlerStack);
 
         static void Write(MdfStream& fd, XYWatermarkPosition* position, Version* version, MgTab& tab);
 

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:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/PrintLayout/IODataConfiguration.cpp	2019-02-05 16:19:47 UTC (rev 9478)
@@ -43,7 +43,7 @@
 {
 }
 
-void IODataConfiguration::StartElement(const wchar_t* name, HandlerStack* handlerStack)
+void IODataConfiguration::StartElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     m_currElemName = name;
     m_currElemId = _ElementIdFromName(name);
@@ -72,7 +72,7 @@
     }
 }
 
-void IODataConfiguration::ElementChars(const wchar_t* ch)
+void IODataConfiguration::ElementChars(MdfCStr* ch)
 {
     switch (m_currElemId)
     {
@@ -94,7 +94,7 @@
     }
 }
 
-void IODataConfiguration::EndElement(const wchar_t* name, HandlerStack* handlerStack)
+void IODataConfiguration::EndElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     if (m_startElemName == name)
     {

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/PrintLayout/IODataConfiguration.h
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/PrintLayout/IODataConfiguration.h	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/PrintLayout/IODataConfiguration.h	2019-02-05 16:19:47 UTC (rev 9478)
@@ -29,9 +29,9 @@
     IODataConfiguration(DataConfiguration* dataConf, Version& version);
     virtual ~IODataConfiguration();
 
-    virtual void StartElement(const wchar_t* name, HandlerStack* handlerStack);
-    virtual void ElementChars(const wchar_t* ch);
-    virtual void EndElement(const wchar_t* name, HandlerStack* handlerStack);
+    virtual void StartElement(MdfCStr* name, HandlerStack* handlerStack);
+    virtual void ElementChars(MdfCStr* ch);
+    virtual void EndElement(MdfCStr* name, HandlerStack* handlerStack);
 
     static void Write(MdfStream& fd, DataConfiguration* dataConf, Version* version, MgTab& tab);
 

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:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/PrintLayout/IOMapView.cpp	2019-02-05 16:19:47 UTC (rev 9478)
@@ -44,7 +44,7 @@
 {
 }
 
-void IOMapView::StartElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOMapView::StartElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     m_currElemName = name;
     m_currElemId = _ElementIdFromName(name);
@@ -81,7 +81,7 @@
     }
 }
 
-void IOMapView::ElementChars(const wchar_t* ch)
+void IOMapView::ElementChars(MdfCStr* ch)
 {
     switch (m_currElemId)
     {
@@ -99,7 +99,7 @@
     }
 }
 
-void IOMapView::EndElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOMapView::EndElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     if (m_startElemName == name)
     {

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/PrintLayout/IOMapView.h
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/PrintLayout/IOMapView.h	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/PrintLayout/IOMapView.h	2019-02-05 16:19:47 UTC (rev 9478)
@@ -29,9 +29,9 @@
     IOMapView(MapView* mapView, Version& version);
     virtual ~IOMapView();
 
-    virtual void StartElement(const wchar_t* name, HandlerStack* handlerStack);
-    virtual void ElementChars(const wchar_t* ch);
-    virtual void EndElement(const wchar_t* name, HandlerStack* handlerStack);
+    virtual void StartElement(MdfCStr* name, HandlerStack* handlerStack);
+    virtual void ElementChars(MdfCStr* ch);
+    virtual void EndElement(MdfCStr* name, HandlerStack* handlerStack);
 
     static void Write(MdfStream& fd, MapView* mapView, Version* version, MgTab& tab);
 

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:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/PrintLayout/IOMapViewportDefinition.cpp	2019-02-05 16:19:47 UTC (rev 9478)
@@ -48,7 +48,7 @@
 {
 }
 
-void IOMapViewportDefinition::StartElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOMapViewportDefinition::StartElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     m_currElemName = name;
     m_currElemId = _ElementIdFromName(name);
@@ -86,7 +86,7 @@
     }
 }
 
-void IOMapViewportDefinition::ElementChars(const wchar_t* ch)
+void IOMapViewportDefinition::ElementChars(MdfCStr* ch)
 {
     switch (m_currElemId)
     {

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/PrintLayout/IOMapViewportDefinition.h
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/PrintLayout/IOMapViewportDefinition.h	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/PrintLayout/IOMapViewportDefinition.h	2019-02-05 16:19:47 UTC (rev 9478)
@@ -31,8 +31,8 @@
 
     MapViewportDefinition* GetMapViewportDefinition();
 
-    virtual void StartElement(const wchar_t* name, HandlerStack* handlerStack);
-    virtual void ElementChars(const wchar_t* ch);
+    virtual void StartElement(MdfCStr* name, HandlerStack* handlerStack);
+    virtual void ElementChars(MdfCStr* ch);
 
     static void Write(MdfStream& fd, MapViewportDefinition* mapViewportDef, Version* version, MgTab& tab);
 

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:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/PrintLayout/IOPrintLayoutDefinition.cpp	2019-02-05 16:19:47 UTC (rev 9478)
@@ -52,7 +52,7 @@
 {
 }
 
-void IOPrintLayoutDefinition::StartElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOPrintLayoutDefinition::StartElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     m_currElemName = name;
     m_currElemId = _ElementIdFromName(name);
@@ -113,7 +113,7 @@
     }
 }
 
-void IOPrintLayoutDefinition::ElementChars(const wchar_t* ch)
+void IOPrintLayoutDefinition::ElementChars(MdfCStr* ch)
 {
     switch (m_currElemId)
     {
@@ -139,7 +139,7 @@
     }
 }
 
-void IOPrintLayoutDefinition::EndElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOPrintLayoutDefinition::EndElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     if (m_startElemName == name)
     {

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/PrintLayout/IOPrintLayoutDefinition.h
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/PrintLayout/IOPrintLayoutDefinition.h	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/PrintLayout/IOPrintLayoutDefinition.h	2019-02-05 16:19:47 UTC (rev 9478)
@@ -29,9 +29,9 @@
     IOPrintLayoutDefinition(PrintLayoutDefinition* layoutDef, Version& version);
     virtual ~IOPrintLayoutDefinition();
 
-    virtual void StartElement(const wchar_t* name, HandlerStack* handlerStack);
-    virtual void ElementChars(const wchar_t* ch);
-    virtual void EndElement(const wchar_t* name, HandlerStack* handlerStack);
+    virtual void StartElement(MdfCStr* name, HandlerStack* handlerStack);
+    virtual void ElementChars(MdfCStr* ch);
+    virtual void EndElement(MdfCStr* name, HandlerStack* handlerStack);
 
     static void Write(MdfStream& fd, PrintLayoutDefinition* layoutDef, Version* version, MgTab& tab);
 

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:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/PrintLayout/IOPrintLayoutElementCollection.cpp	2019-02-05 16:19:47 UTC (rev 9478)
@@ -50,7 +50,7 @@
 {
 }
 
-void IOPrintLayoutElementCollection::StartElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOPrintLayoutElementCollection::StartElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     m_currElemName = name;
     m_currElemId = _ElementIdFromName(name);
@@ -90,7 +90,7 @@
     }
 }
 
-void IOPrintLayoutElementCollection::ElementChars(const wchar_t* ch)
+void IOPrintLayoutElementCollection::ElementChars(MdfCStr* ch)
 {
     switch (m_currElemId)
     {
@@ -128,7 +128,7 @@
     }
 }
 
-void IOPrintLayoutElementCollection::EndElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOPrintLayoutElementCollection::EndElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     if (m_startElemName == name)
     {

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/PrintLayout/IOPrintLayoutElementCollection.h
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/PrintLayout/IOPrintLayoutElementCollection.h	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/PrintLayout/IOPrintLayoutElementCollection.h	2019-02-05 16:19:47 UTC (rev 9478)
@@ -29,9 +29,9 @@
     IOPrintLayoutElementCollection(PrintLayoutElementCollection* layoutElems, Version& version);
     virtual ~IOPrintLayoutElementCollection();
 
-    virtual void StartElement(const wchar_t* name, HandlerStack* handlerStack);
-    virtual void ElementChars(const wchar_t* ch);
-    virtual void EndElement(const wchar_t* name, HandlerStack* handlerStack);
+    virtual void StartElement(MdfCStr* name, HandlerStack* handlerStack);
+    virtual void ElementChars(MdfCStr* ch);
+    virtual void EndElement(MdfCStr* name, HandlerStack* handlerStack);
 
     static void Write(MdfStream& fd, PrintLayoutElementCollection* layoutElems, Version* version, const std::string& name, MgTab& tab);
 

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:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/PrintLayout/IOPrintLayoutElementDefinition.cpp	2019-02-05 16:19:47 UTC (rev 9478)
@@ -43,7 +43,7 @@
 {
 }
 
-void IOPrintLayoutElementDefinition::StartElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOPrintLayoutElementDefinition::StartElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     m_currElemName = name;
     m_currElemId = _ElementIdFromName(name);
@@ -80,7 +80,7 @@
     }
 }
 
-void IOPrintLayoutElementDefinition::ElementChars(const wchar_t* ch)
+void IOPrintLayoutElementDefinition::ElementChars(MdfCStr* ch)
 {
     switch (m_currElemId)
     {
@@ -94,7 +94,7 @@
     }
 }
 
-void IOPrintLayoutElementDefinition::EndElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOPrintLayoutElementDefinition::EndElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     if (m_startElemName == name)
     {

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/PrintLayout/IOPrintLayoutElementDefinition.h
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/PrintLayout/IOPrintLayoutElementDefinition.h	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/PrintLayout/IOPrintLayoutElementDefinition.h	2019-02-05 16:19:47 UTC (rev 9478)
@@ -29,9 +29,9 @@
     IOPrintLayoutElementDefinition(PrintLayoutElementDefinition* layoutElemDef, Version& version);
     virtual ~IOPrintLayoutElementDefinition();
 
-    virtual void StartElement(const wchar_t* name, HandlerStack* handlerStack);
-    virtual void ElementChars(const wchar_t* ch);
-    virtual void EndElement(const wchar_t* name, HandlerStack* handlerStack);
+    virtual void StartElement(MdfCStr* name, HandlerStack* handlerStack);
+    virtual void ElementChars(MdfCStr* ch);
+    virtual void EndElement(MdfCStr* name, HandlerStack* handlerStack);
 
 protected:
     static void Write(MdfStream& fd, PrintLayoutElementDefinition* layoutElemDef, Version* version, MgTab& tab);

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:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/PrintLayout/IOPrintLayoutElementStyle.cpp	2019-02-05 16:19:47 UTC (rev 9478)
@@ -40,7 +40,7 @@
 {
 }
 
-void IOPrintLayoutElementStyle::StartElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOPrintLayoutElementStyle::StartElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     m_currElemName = name;
     m_currElemId = _ElementIdFromName(name);
@@ -63,7 +63,7 @@
     }
 }
 
-void IOPrintLayoutElementStyle::ElementChars(const wchar_t* ch)
+void IOPrintLayoutElementStyle::ElementChars(MdfCStr* ch)
 {
     switch (m_currElemId)
     {
@@ -73,7 +73,7 @@
     }
 }
 
-void IOPrintLayoutElementStyle::EndElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOPrintLayoutElementStyle::EndElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     if (m_startElemName == name)
     {

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/PrintLayout/IOPrintLayoutElementStyle.h
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/PrintLayout/IOPrintLayoutElementStyle.h	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/PrintLayout/IOPrintLayoutElementStyle.h	2019-02-05 16:19:47 UTC (rev 9478)
@@ -29,9 +29,9 @@
     IOPrintLayoutElementStyle(PrintLayoutElementStyle* layoutElemStyle, Version& version);
     virtual ~IOPrintLayoutElementStyle();
 
-    virtual void StartElement(const wchar_t* name, HandlerStack* handlerStack);
-    virtual void ElementChars(const wchar_t* ch);
-    virtual void EndElement(const wchar_t* name, HandlerStack* handlerStack);
+    virtual void StartElement(MdfCStr* name, HandlerStack* handlerStack);
+    virtual void ElementChars(MdfCStr* ch);
+    virtual void EndElement(MdfCStr* name, HandlerStack* handlerStack);
 
     static void Write(MdfStream& fd, PrintLayoutElementStyle* layoutElemStyle, Version* version, const std::string& name, MgTab& tab);
 

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:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/PrintLayout/IOPropertyMappingCollection.cpp	2019-02-05 16:19:47 UTC (rev 9478)
@@ -41,7 +41,7 @@
 {
 }
 
-void IOPropertyMappingCollection::StartElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOPropertyMappingCollection::StartElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     m_currElemName = name;
     m_currElemId = _ElementIdFromName(name);
@@ -65,7 +65,7 @@
     }
 }
 
-void IOPropertyMappingCollection::ElementChars(const wchar_t* ch)
+void IOPropertyMappingCollection::ElementChars(MdfCStr* ch)
 {
     switch (m_currElemId)
     {
@@ -83,7 +83,7 @@
     }
 }
 
-void IOPropertyMappingCollection::EndElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOPropertyMappingCollection::EndElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     if (m_startElemName == name)
     {

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/PrintLayout/IOPropertyMappingCollection.h
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/PrintLayout/IOPropertyMappingCollection.h	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/PrintLayout/IOPropertyMappingCollection.h	2019-02-05 16:19:47 UTC (rev 9478)
@@ -29,9 +29,9 @@
     IOPropertyMappingCollection(PropertyMappingCollection* propMappings, Version& version);
     virtual ~IOPropertyMappingCollection();
 
-    virtual void StartElement(const wchar_t* name, HandlerStack* handlerStack);
-    virtual void ElementChars(const wchar_t* ch);
-    virtual void EndElement(const wchar_t* name, HandlerStack* handlerStack);
+    virtual void StartElement(MdfCStr* name, HandlerStack* handlerStack);
+    virtual void ElementChars(MdfCStr* ch);
+    virtual void EndElement(MdfCStr* name, HandlerStack* handlerStack);
 
     static void Write(MdfStream& fd, PropertyMappingCollection* propMappings, Version* version, const std::string& name, MgTab& tab);
 

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:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/PrintLayout/IOStylizationConfiguration.cpp	2019-02-05 16:19:47 UTC (rev 9478)
@@ -38,7 +38,7 @@
 {
 }
 
-void IOStylizationConfiguration::StartElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOStylizationConfiguration::StartElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     m_currElemName = name;
     m_currElemId = _ElementIdFromName(name);
@@ -59,7 +59,7 @@
     }
 }
 
-void IOStylizationConfiguration::ElementChars(const wchar_t* ch)
+void IOStylizationConfiguration::ElementChars(MdfCStr* ch)
 {
     switch (m_currElemId)
     {
@@ -69,7 +69,7 @@
     }
 }
 
-void IOStylizationConfiguration::EndElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOStylizationConfiguration::EndElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     if (m_startElemName == name)
     {

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/PrintLayout/IOStylizationConfiguration.h
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/PrintLayout/IOStylizationConfiguration.h	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/PrintLayout/IOStylizationConfiguration.h	2019-02-05 16:19:47 UTC (rev 9478)
@@ -29,9 +29,9 @@
     IOStylizationConfiguration(StylizationConfiguration* stylizationConf, Version& version);
     virtual ~IOStylizationConfiguration();
 
-    virtual void StartElement(const wchar_t* name, HandlerStack* handlerStack);
-    virtual void ElementChars(const wchar_t* ch);
-    virtual void EndElement(const wchar_t* name, HandlerStack* handlerStack);
+    virtual void StartElement(MdfCStr* name, HandlerStack* handlerStack);
+    virtual void ElementChars(MdfCStr* ch);
+    virtual void EndElement(MdfCStr* name, HandlerStack* handlerStack);
 
     static void Write(MdfStream& fd, StylizationConfiguration* stylizationConf, Version* version, MgTab& tab);
 

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:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/PrintLayout/IOThickness.cpp	2019-02-05 16:19:47 UTC (rev 9478)
@@ -39,7 +39,7 @@
 {
 }
 
-void IOThickness::StartElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOThickness::StartElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     m_currElemName = name;
     m_currElemId = _ElementIdFromName(name);
@@ -52,7 +52,7 @@
     }
 }
 
-void IOThickness::ElementChars(const wchar_t* ch)
+void IOThickness::ElementChars(MdfCStr* ch)
 {
     switch (m_currElemId)
     {
@@ -74,7 +74,7 @@
     }
 }
 
-void IOThickness::EndElement(const wchar_t* name, HandlerStack* handlerStack)
+void IOThickness::EndElement(MdfCStr* name, HandlerStack* handlerStack)
 {
     if (m_startElemName == name)
     {

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/PrintLayout/IOThickness.h
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/PrintLayout/IOThickness.h	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/PrintLayout/IOThickness.h	2019-02-05 16:19:47 UTC (rev 9478)
@@ -29,9 +29,9 @@
     IOThickness(Thickness* thickness, Version& version);
     virtual ~IOThickness();
 
-    virtual void StartElement(const wchar_t* name, HandlerStack* handlerStack);
-    virtual void ElementChars(const wchar_t* ch);
-    virtual void EndElement(const wchar_t* name, HandlerStack* handlerStack);
+    virtual void StartElement(MdfCStr* name, HandlerStack* handlerStack);
+    virtual void ElementChars(MdfCStr* ch);
+    virtual void EndElement(MdfCStr* name, HandlerStack* handlerStack);
 
     static void Write(MdfStream& fd, Thickness* thickness, Version* version, const std::string& name, MgTab& tab);
 

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/SAX2ElementHandler.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/SAX2ElementHandler.cpp	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/SAX2ElementHandler.cpp	2019-02-05 16:19:47 UTC (rev 9478)
@@ -37,7 +37,7 @@
 }
 
 
-void SAX2ElementHandler::ParseUnknownXml(const wchar_t* name, HandlerStack* handlerStack)
+void SAX2ElementHandler::ParseUnknownXml(MdfCStr* name, HandlerStack* handlerStack)
 {
     if (this->m_procExtData)
     {

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/SAX2ElementHandler.h
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/SAX2ElementHandler.h	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/SAX2ElementHandler.h	2019-02-05 16:19:47 UTC (rev 9478)
@@ -53,12 +53,12 @@
         SAX2ElementHandler(MdfModel::Version& version);
         virtual ~SAX2ElementHandler();
 
-        virtual void StartElement(const wchar_t* name, HandlerStack* handlerStack) = 0;
-        virtual void ElementChars(const wchar_t* ch) = 0;
-        virtual void EndElement(const wchar_t* name, HandlerStack* handlerStack) = 0;
+        virtual void StartElement(MdfCStr* name, HandlerStack* handlerStack) = 0;
+        virtual void ElementChars(MdfCStr* ch) = 0;
+        virtual void EndElement(MdfCStr* name, HandlerStack* handlerStack) = 0;
 
     protected:
-        void ParseUnknownXml(const wchar_t* name, HandlerStack* handlerStack);
+        void ParseUnknownXml(MdfCStr* name, HandlerStack* handlerStack);
 
     protected:
         std::wstring m_unknownXml;
@@ -87,12 +87,12 @@
 // type.  The IDs provided to ELEM_MAP_ENTRY must be consecutive, starting from 1.
 #define CREATE_ELEMENT_MAP                                                      \
     static std::vector<std::wstring> _elementMap;                               \
-    static std::string _CreateMapEntry(const wchar_t* wName, const char* sName) \
+    static std::string _CreateMapEntry(MdfCStr* wName, const char* sName) \
     {                                                                           \
         _elementMap.push_back(wName);                                           \
         return sName;                                                           \
     }                                                                           \
-    static int _ElementIdFromName(const wchar_t* name)                          \
+    static int _ElementIdFromName(MdfCStr* name)                          \
     {                                                                           \
         std::vector<std::wstring>::const_iterator iter = _elementMap.begin();   \
         int id = 1;                                                             \

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/SAX2Parser.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/SAX2Parser.cpp	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/SAX2Parser.cpp	2019-02-05 16:19:47 UTC (rev 9478)
@@ -355,7 +355,7 @@
 }
 
 
-void SAX2Parser::ParseString(const wchar_t* str, size_t numChars)
+void SAX2Parser::ParseString(MdfCStr* str, size_t numChars)
 {
     // reset the version
     m_version = Version();

Modified: sandbox/jng/common_decouple_v3/Common/MdfParser/SAX2Parser.h
===================================================================
--- sandbox/jng/common_decouple_v3/Common/MdfParser/SAX2Parser.h	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/MdfParser/SAX2Parser.h	2019-02-05 16:19:47 UTC (rev 9478)
@@ -75,7 +75,7 @@
         void ParseFile(std::string str);
         void ParseFile(char* str);
         void ParseString(const char* str, size_t numBytes);
-        void ParseString(const wchar_t* str, size_t numChars);
+        void ParseString(MdfCStr* str, size_t numChars);
         void WriteToFile(std::string name,
                          MapDefinition* map,
                          VectorLayerDefinition* vLayer,

Modified: sandbox/jng/common_decouple_v3/Common/Stylization/FdoExpressionEvaluator.h
===================================================================
--- sandbox/jng/common_decouple_v3/Common/Stylization/FdoExpressionEvaluator.h	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/Stylization/FdoExpressionEvaluator.h	2019-02-05 16:19:47 UTC (rev 9478)
@@ -21,6 +21,18 @@
 #include "Renderer.h"
 #include "SE_ExpressionEvaluator.h"
 
+//-----------------------------------------------------------------------------
+// Implements evaluation of FDO expressions
+//
+// *** IMPORTANT ***
+// This class implements a common caching scheme for theming filters and
+// theming expressions.  The caching is done using pointers to strings
+// in the incoming layer definition objects.  This relies on these strings
+// not changing during stylization of the layer.  This should be the case
+// since we instantiate a copy of the whole map definition during each
+// map request.
+//
+//-----------------------------------------------------------------------------
 class FdoExpressionEvaluator : public SE_ExpressionEvaluator
 {
 public:
@@ -38,6 +50,13 @@
     void ProcessStylizerException(FdoException* exception, int line, wchar_t* file);
 
     FdoPtr<FdoExpressionEngine> m_exec;
+
+    // BOGUS:
+    // TODO: we use pointer to the MDF strings for caching --
+    // this may be risky but all caching in the stylizer is
+    // based on the MDF pointer staying the same throughout the
+    // stylization process
+
     // FdoFilter cache
     std::map<const void*, FdoFilter*> m_hFilterCache;
     // FdoExpression cache

Modified: sandbox/jng/common_decouple_v3/Common/Stylization/GeometryAdapter.cpp
===================================================================
--- sandbox/jng/common_decouple_v3/Common/Stylization/GeometryAdapter.cpp	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/Stylization/GeometryAdapter.cpp	2019-02-05 16:19:47 UTC (rev 9478)
@@ -38,27 +38,7 @@
 //////////////////////////////////////////////////////////////////////////////
 GeometryAdapter::~GeometryAdapter()
 {
-#ifdef WITH_FDO
-    // free up cached fdo filters
-    for (std::map<const void*, FdoFilter*>::iterator iter = m_hFilterCache.begin();
-        iter != m_hFilterCache.end(); ++iter)
-    {
-        if (iter->second)
-            iter->second->Release();
-    }
 
-    m_hFilterCache.clear();
-
-    // free up cached fdo expressions
-    for (std::map<const void*, FdoExpression*>::iterator iter = m_hExpressionCache.begin();
-        iter != m_hExpressionCache.end(); ++iter)
-    {
-        if (iter->second)
-            iter->second->Release();
-    }
-
-    m_hExpressionCache.clear();
-#endif
 }
 
 

Modified: sandbox/jng/common_decouple_v3/Common/Stylization/GeometryAdapter.h
===================================================================
--- sandbox/jng/common_decouple_v3/Common/Stylization/GeometryAdapter.h	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/Stylization/GeometryAdapter.h	2019-02-05 16:19:47 UTC (rev 9478)
@@ -29,17 +29,7 @@
 
 //-----------------------------------------------------------------------------
 // Base class for helper classes which know how to stylize a particular
-// type of geometry.
-//
-// *** IMPORTANT ***
-// This class implements a common caching scheme for theming filters and
-// theming expressions.  The caching is done using pointers to strings
-// in the incoming layer definition objects.  This relies on these strings
-// not changing during stylization of the layer.  This should be the case
-// since we instantiate a copy of the whole map definition during each
-// map request.
-//
-//-----------------------------------------------------------------------------
+// type of geometry.------------------------------------------------------
 class GeometryAdapter
 {
 public:
@@ -91,20 +81,6 @@
 
     SE_ExpressionEvaluator* m_exec;
     LineBufferPool* m_lbPool;
-
-#ifdef WITH_FDO
-    // BOGUS:
-    // TODO: we use pointer to the MDF strings for caching --
-    // this may be risky but all caching in the stylizer is
-    // based on the MDF pointer staying the same throughout the
-    // stylization process
-
-    // FdoFilter cache
-    std::map<const void*, FdoFilter*> m_hFilterCache;
-
-    // FdoExpression cache
-    std::map<const void*, FdoExpression*> m_hExpressionCache;
-#endif
 };
 
 #endif

Modified: sandbox/jng/common_decouple_v3/Common/Stylization/SE_ExpressionEvaluator.h
===================================================================
--- sandbox/jng/common_decouple_v3/Common/Stylization/SE_ExpressionEvaluator.h	2019-02-05 15:58:21 UTC (rev 9477)
+++ sandbox/jng/common_decouple_v3/Common/Stylization/SE_ExpressionEvaluator.h	2019-02-05 16:19:47 UTC (rev 9478)
@@ -21,6 +21,9 @@
 #include "Stylization.h"
 #include "RendererStyles.h"
 
+//-----------------------------------------------------------------------------
+// Abstract expression evaluator
+//-----------------------------------------------------------------------------
 class SE_ExpressionEvaluator
 {
 public:



More information about the mapguide-commits mailing list