[mapguide-commits] r8819 - sandbox/jng/clean_json/Web/src/HttpHandler
svn_mapguide at osgeo.org
svn_mapguide at osgeo.org
Sat Nov 7 09:19:53 PST 2015
Author: jng
Date: 2015-11-07 09:19:53 -0800 (Sat, 07 Nov 2015)
New Revision: 8819
Modified:
sandbox/jng/clean_json/Web/src/HttpHandler/HttpRequestResponseHandler.cpp
sandbox/jng/clean_json/Web/src/HttpHandler/HttpRequestResponseHandler.h
sandbox/jng/clean_json/Web/src/HttpHandler/HttpResourceStrings.cpp
sandbox/jng/clean_json/Web/src/HttpHandler/HttpResourceStrings.h
sandbox/jng/clean_json/Web/src/HttpHandler/XmlJsonConvert.cpp
sandbox/jng/clean_json/Web/src/HttpHandler/XmlJsonConvert.h
Log:
Check in infrastructure for clean JSON conversion. No actual conversion is done yet.
Modified: sandbox/jng/clean_json/Web/src/HttpHandler/HttpRequestResponseHandler.cpp
===================================================================
--- sandbox/jng/clean_json/Web/src/HttpHandler/HttpRequestResponseHandler.cpp 2015-11-07 15:51:29 UTC (rev 8818)
+++ sandbox/jng/clean_json/Web/src/HttpHandler/HttpRequestResponseHandler.cpp 2015-11-07 17:19:53 UTC (rev 8819)
@@ -35,6 +35,8 @@
{
MG_HTTP_HANDLER_TRY()
+ m_bCleanJson = false;
+
// Check that this HTTP operation is enabled in webconfig.ini
STRING disableProperty;
switch (GetRequestClassification())
@@ -178,6 +180,13 @@
m_userInfo->SetClientIp(clientIp);
}
+ // Get clean json flag (CLEAN)
+ STRING cleanJson = hrParam->GetParameterValue(MgHttpResourceStrings::reqClean);
+ if (cleanJson.length() > 0)
+ {
+ m_bCleanJson = (cleanJson == L"1");
+ }
+
// Short circuit the authentication check if no username or session is supplied.
// This will ensure that load balancing works correctly if browsers send an
// unauthenticated then an authenticated request.
@@ -275,6 +284,6 @@
m_responseFormat == MgMimeType::Json)
{
MgXmlJsonConvert convert;
- convert.ToJson(byteReader);
+ convert.ToJson(byteReader, m_bCleanJson);
}
}
Modified: sandbox/jng/clean_json/Web/src/HttpHandler/HttpRequestResponseHandler.h
===================================================================
--- sandbox/jng/clean_json/Web/src/HttpHandler/HttpRequestResponseHandler.h 2015-11-07 15:51:29 UTC (rev 8818)
+++ sandbox/jng/clean_json/Web/src/HttpHandler/HttpRequestResponseHandler.h 2015-11-07 17:19:53 UTC (rev 8819)
@@ -125,6 +125,7 @@
Ptr<MgHttpRequest> m_hRequest;
STRING m_version;
STRING m_responseFormat;
+ bool m_bCleanJson;
Ptr<MgUserInformation> m_userInfo;
Ptr<MgSiteConnection> m_siteConn;
};
Modified: sandbox/jng/clean_json/Web/src/HttpHandler/HttpResourceStrings.cpp
===================================================================
--- sandbox/jng/clean_json/Web/src/HttpHandler/HttpResourceStrings.cpp 2015-11-07 15:51:29 UTC (rev 8818)
+++ sandbox/jng/clean_json/Web/src/HttpHandler/HttpResourceStrings.cpp 2015-11-07 17:19:53 UTC (rev 8819)
@@ -82,6 +82,7 @@
const STRING MgHttpResourceStrings::reqClientAgent = L"CLIENTAGENT";
const STRING MgHttpResourceStrings::reqClientIp = L"CLIENTIP";
const STRING MgHttpResourceStrings::reqResponseFormat = L"FORMAT";
+const STRING MgHttpResourceStrings::reqClean = L"CLEAN";
// Predefined Resource Service Request Parameters
const STRING MgHttpResourceStrings::reqType = L"TYPE";
Modified: sandbox/jng/clean_json/Web/src/HttpHandler/HttpResourceStrings.h
===================================================================
--- sandbox/jng/clean_json/Web/src/HttpHandler/HttpResourceStrings.h 2015-11-07 15:51:29 UTC (rev 8818)
+++ sandbox/jng/clean_json/Web/src/HttpHandler/HttpResourceStrings.h 2015-11-07 17:19:53 UTC (rev 8819)
@@ -86,6 +86,7 @@
static const STRING reqClientAgent;
static const STRING reqClientIp;
static const STRING reqResponseFormat;
+ static const STRING reqClean;
// PREDEFINED RESOURCE REQUEST PARAMETERS
static const STRING reqType;
Modified: sandbox/jng/clean_json/Web/src/HttpHandler/XmlJsonConvert.cpp
===================================================================
--- sandbox/jng/clean_json/Web/src/HttpHandler/XmlJsonConvert.cpp 2015-11-07 15:51:29 UTC (rev 8818)
+++ sandbox/jng/clean_json/Web/src/HttpHandler/XmlJsonConvert.cpp 2015-11-07 17:19:53 UTC (rev 8819)
@@ -22,8 +22,14 @@
#include <string>
#include <map>
#include <vector>
+#include <set>
using namespace std;
+static map<string, INT32> s_elementPathTypeMap;
+static set<string> s_multiElementPaths;
+
+bool MgXmlJsonConvert::m_isInitialized = MgXmlJsonConvert::Initialize();
+
MgXmlJsonConvert::MgXmlJsonConvert()
{
}
@@ -32,7 +38,7 @@
{
}
-void MgXmlJsonConvert::ToJson(Ptr<MgByteReader> &byteReader)
+void MgXmlJsonConvert::ToJson(Ptr<MgByteReader> &byteReader, bool bClean)
{
string xmlDoc;
byteReader->ToStringUtf8(xmlDoc);
@@ -45,7 +51,7 @@
byteReader.Attach(byteSource->GetReader());
}
-void MgXmlJsonConvert::ToJson(const string &xmlString, string &jsonString)
+void MgXmlJsonConvert::ToJson(const string &xmlString, string &jsonString, bool bClean)
{
// Parse into DOM
m_xmlUtil.ParseString(xmlString.c_str());
@@ -53,7 +59,7 @@
string nodeName = MgUtil::WideCharToMultiByte(X2W(root->getNodeName()));
m_jsonDoc.BeginObject(nodeName);
{
- XmlToJsonNode((DOMNode *)root);
+ XmlToJsonNode((DOMNode *)root, bClean);
}
m_jsonDoc.EndObject();
@@ -61,7 +67,7 @@
}
// XmlToJSONnode: Output an XmlElement, possibly as part of a higher array
-void MgXmlJsonConvert::XmlToJsonNode(DOMNode *node)
+void MgXmlJsonConvert::XmlToJsonNode(DOMNode *node, bool bClean)
{
// Build a sorted list of key-value pairs
// where key is case-sensitive nodeName
@@ -281,3 +287,549 @@
}
m_jsonDoc.EndArrayObject();
}
+
+bool MgXmlJsonConvert::GetElementPath(DOMNode * node, string & path, const XMLCh * suffix)
+{
+ if (NULL != node) {
+ STRING elPath = L"/";
+ elPath += node->getNodeName();
+ elPath += suffix;
+ DOMNode* currentNode = node->getParentNode();
+ while (NULL != currentNode) {
+ if (currentNode->getNodeType() == DOMNode::DOCUMENT_NODE) {
+ STRING pathPart = L"/";
+ pathPart += currentNode->getNodeName();
+ elPath = pathPart + elPath;
+ currentNode = currentNode->getParentNode();
+ if (NULL == currentNode)
+ break;
+ }
+ else {
+ break;
+ }
+ }
+ path = MgUtil::WideCharToMultiByte(elPath);
+ return true;
+ }
+ return false;
+}
+
+bool MgXmlJsonConvert::GetElementType(DOMNode * node, int & type, const XMLCh * suffix)
+{
+ string path;
+ if (GetElementPath(node, path))
+ {
+ if (s_elementPathTypeMap.find(path) != s_elementPathTypeMap.end())
+ {
+ type = s_elementPathTypeMap[path];
+ return true;
+ }
+ }
+ return false;
+}
+
+bool MgXmlJsonConvert::IsMultiple(DOMNode * node, bool & isMultiple, const XMLCh * suffix)
+{
+ string path;
+ if (GetElementPath(node, path, suffix))
+ {
+ isMultiple = (s_multiElementPaths.find(path) != s_multiElementPaths.end());
+ return true;
+ }
+ return false;
+}
+
+bool MgXmlJsonConvert::Initialize()
+{
+ //ApplicationDefinition-1.0.0.xsd
+ s_elementPathTypeMap["/ApplicationDefinition/MapSet/MapGroup/InitialView/CenterX"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/ApplicationDefinition/MapSet/MapGroup/InitialView/CenterY"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/ApplicationDefinition/MapSet/MapGroup/InitialView/Scale"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/ApplicationDefinition/WidgetSet/Widget/Disabled"] = XML_DATA_TYPE_BOOLEAN;
+ //ApplicationDefinitionInfo-1.0.0.xsd
+ s_elementPathTypeMap["/ApplicationDefinitionWidgetInfoSet/WidgetInfo/StandardUi"] = XML_DATA_TYPE_BOOLEAN;
+ s_elementPathTypeMap["/ApplicationDefinitionWidgetInfoSet/WidgetInfo/Parameter/IsMandatory"] = XML_DATA_TYPE_BOOLEAN;
+ //DataStoreList-1.0.0.xsd
+ s_elementPathTypeMap["/DataStoreList/DataStore/FdoEnabled"] = XML_DATA_TYPE_BOOLEAN;
+ //DrawingSource-1.0.0.xsd
+ s_elementPathTypeMap["/DrawingSource/Sheet/Extent/MinX"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/DrawingSource/Sheet/Extent/MinY"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/DrawingSource/Sheet/Extent/MaxX"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/DrawingSource/Sheet/Extent/MaxY"] = XML_DATA_TYPE_NUMBER;
+ //FdoLongTransactionList-1.0.0.xsd
+ s_elementPathTypeMap["/FdoLongTransactionList/LongTransaction/@IsActive"] = XML_DATA_TYPE_BOOLEAN;
+ s_elementPathTypeMap["/FdoLongTransactionList/LongTransaction/@IsFrozen"] = XML_DATA_TYPE_BOOLEAN;
+ //FdoSpatialContextList-1.0.0.xsd
+ s_elementPathTypeMap["/FdoSpatialContextList/SpatialContext/@IsActive"] = XML_DATA_TYPE_BOOLEAN;
+ s_elementPathTypeMap["/FdoSpatialContextList/SpatialContext/XYTolerance"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/FdoSpatialContextList/SpatialContext/ZTolerance"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/FdoSpatialContextList/SpatialContext/Extent/LowerLeftCoordinate/X"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/FdoSpatialContextList/SpatialContext/Extent/LowerLeftCoordinate/Y"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/FdoSpatialContextList/SpatialContext/Extent/UpperRightCoordinate/X"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/FdoSpatialContextList/SpatialContext/Extent/UpperRightCoordinate/Y"] = XML_DATA_TYPE_NUMBER;
+ //FdoProviderCapabilities-1.1.0.xsd
+ s_elementPathTypeMap["/FeatureProviderCapabilities/Geometry/Dimensionality"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/FeatureProviderCapabilities/Connection/SupportsLocking"] = XML_DATA_TYPE_BOOLEAN;
+ s_elementPathTypeMap["/FeatureProviderCapabilities/Connection/SupportsTimeout"] = XML_DATA_TYPE_BOOLEAN;
+ s_elementPathTypeMap["/FeatureProviderCapabilities/Connection/SupportsTransactions"] = XML_DATA_TYPE_BOOLEAN;
+ s_elementPathTypeMap["/FeatureProviderCapabilities/Connection/SupportsLongTransactions"] = XML_DATA_TYPE_BOOLEAN;
+ s_elementPathTypeMap["/FeatureProviderCapabilities/Connection/SupportsSQL"] = XML_DATA_TYPE_BOOLEAN;
+ s_elementPathTypeMap["/FeatureProviderCapabilities/Connection/SupportsConfiguration"] = XML_DATA_TYPE_BOOLEAN;
+ s_elementPathTypeMap["/FeatureProviderCapabilities/Connection/SupportsSavePoint"] = XML_DATA_TYPE_BOOLEAN;
+ s_elementPathTypeMap["/FeatureProviderCapabilities/Schema/SupportsInheritance"] = XML_DATA_TYPE_BOOLEAN;
+ s_elementPathTypeMap["/FeatureProviderCapabilities/Schema/SupportsMultipleSchemas"] = XML_DATA_TYPE_BOOLEAN;
+ s_elementPathTypeMap["/FeatureProviderCapabilities/Schema/SupportsObjectProperties"] = XML_DATA_TYPE_BOOLEAN;
+ s_elementPathTypeMap["/FeatureProviderCapabilities/Schema/SupportsAssociationProperties"] = XML_DATA_TYPE_BOOLEAN;
+ s_elementPathTypeMap["/FeatureProviderCapabilities/Schema/SupportsSchemaOverrides"] = XML_DATA_TYPE_BOOLEAN;
+ s_elementPathTypeMap["/FeatureProviderCapabilities/Schema/SupportsNetworkModel"] = XML_DATA_TYPE_BOOLEAN;
+ s_elementPathTypeMap["/FeatureProviderCapabilities/Schema/SupportsAutoIdGeneration"] = XML_DATA_TYPE_BOOLEAN;
+ s_elementPathTypeMap["/FeatureProviderCapabilities/Schema/SupportsDataStoreScopeUniqueIdGeneration"] = XML_DATA_TYPE_BOOLEAN;
+ s_elementPathTypeMap["/FeatureProviderCapabilities/Schema/SupportsSchemaModification"] = XML_DATA_TYPE_BOOLEAN;
+ s_elementPathTypeMap["/FeatureProviderCapabilities/Command/SupportsParameters"] = XML_DATA_TYPE_BOOLEAN;
+ s_elementPathTypeMap["/FeatureProviderCapabilities/Command/SupportsTimeout"] = XML_DATA_TYPE_BOOLEAN;
+ s_elementPathTypeMap["/FeatureProviderCapabilities/Command/SupportsSelectExpressions"] = XML_DATA_TYPE_BOOLEAN;
+ s_elementPathTypeMap["/FeatureProviderCapabilities/Command/SupportsSelectFunctions"] = XML_DATA_TYPE_BOOLEAN;
+ s_elementPathTypeMap["/FeatureProviderCapabilities/Command/SupportsSelectDistinct"] = XML_DATA_TYPE_BOOLEAN;
+ s_elementPathTypeMap["/FeatureProviderCapabilities/Command/SupportsSelectOrdering"] = XML_DATA_TYPE_BOOLEAN;
+ s_elementPathTypeMap["/FeatureProviderCapabilities/Command/SupportsSelectGrouping"] = XML_DATA_TYPE_BOOLEAN;
+ s_elementPathTypeMap["/FeatureProviderCapabilities/Filter/SupportsGeodesicDistance"] = XML_DATA_TYPE_BOOLEAN;
+ s_elementPathTypeMap["/FeatureProviderCapabilities/Filter/SupportsNonLiteralGeometricOperations"] = XML_DATA_TYPE_BOOLEAN;
+ s_elementPathTypeMap["/FeatureProviderCapabilities/Raster/SupportsRaster"] = XML_DATA_TYPE_BOOLEAN;
+ s_elementPathTypeMap["/FeatureProviderCapabilities/Raster/SupportsStitching"] = XML_DATA_TYPE_BOOLEAN;
+ s_elementPathTypeMap["/FeatureProviderCapabilities/Raster/SupportsSubsampling"] = XML_DATA_TYPE_BOOLEAN;
+ s_elementPathTypeMap["/FeatureProviderCapabilities/Topology/SupportsTopology"] = XML_DATA_TYPE_BOOLEAN;
+ s_elementPathTypeMap["/FeatureProviderCapabilities/Topology/SupportsTopologicalHierarchy"] = XML_DATA_TYPE_BOOLEAN;
+ s_elementPathTypeMap["/FeatureProviderCapabilities/Topology/BreaksCurveCrossingsAutomatically"] = XML_DATA_TYPE_BOOLEAN;
+ s_elementPathTypeMap["/FeatureProviderCapabilities/Topology/ActivatesTopologyByArea"] = XML_DATA_TYPE_BOOLEAN;
+ s_elementPathTypeMap["/FeatureProviderCapabilities/Topology/ConstrainsFeatureMovements"] = XML_DATA_TYPE_BOOLEAN;
+ //FeatureProviderRegistry-1.0.0.xsd
+ s_elementPathTypeMap["/FeatureProviderRegistry/FeatureProvider/ConnectionProperties/ConnectionProperty/@Required"] = XML_DATA_TYPE_BOOLEAN;
+ s_elementPathTypeMap["/FeatureProviderRegistry/FeatureProvider/ConnectionProperties/ConnectionProperty/@Protected"] = XML_DATA_TYPE_BOOLEAN;
+ s_elementPathTypeMap["/FeatureProviderRegistry/FeatureProvider/ConnectionProperties/ConnectionProperty/@Enumerable"] = XML_DATA_TYPE_BOOLEAN;
+ //FeatureSource-1.0.0.xsd
+ s_elementPathTypeMap["/FeatureSource/Extension/AttributeRelate/ForceOneToOne"] = XML_DATA_TYPE_BOOLEAN;
+ //LayerDefinition-2.4.0.xsd
+ s_elementPathTypeMap["/LayerDefinition/DrawingLayerDefinition/Opacity"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/LayerDefinition/DrawingLayerDefinition/MinScale"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/LayerDefinition/DrawingLayerDefinition/MaxScale"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/LayerDefinition/VectorLayerDefinition/Opacity"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/LayerDefinition/VectorLayerDefinition/VectorScaleRange/MinScale"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/LayerDefinition/VectorLayerDefinition/VectorScaleRange/MaxScale"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/LayerDefinition/VectorLayerDefinition/VectorScaleRange/AreaTypeStyle/AreaRule/Label/AdvancedPlacement/ScaleLimit"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/LayerDefinition/VectorLayerDefinition/VectorScaleRange/AreaTypeStyle/ShowInLegend"] = XML_DATA_TYPE_BOOLEAN;
+ s_elementPathTypeMap["/LayerDefinition/VectorLayerDefinition/VectorScaleRange/LineTypeStyle/LineRule/Label/AdvancedPlacement/ScaleLimit"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/LayerDefinition/VectorLayerDefinition/VectorScaleRange/LineTypeStyle/ShowInLegend"] = XML_DATA_TYPE_BOOLEAN;
+ s_elementPathTypeMap["/LayerDefinition/VectorLayerDefinition/VectorScaleRange/PointTypeStyle/PointRule/Label/AdvancedPlacement/ScaleLimit"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/LayerDefinition/VectorLayerDefinition/VectorScaleRange/PointTypeStyle/DisplayAsText"] = XML_DATA_TYPE_BOOLEAN;
+ s_elementPathTypeMap["/LayerDefinition/VectorLayerDefinition/VectorScaleRange/PointTypeStyle/AllowOverpost"] = XML_DATA_TYPE_BOOLEAN;
+ s_elementPathTypeMap["/LayerDefinition/VectorLayerDefinition/VectorScaleRange/PointTypeStyle/ShowInLegend"] = XML_DATA_TYPE_BOOLEAN;
+ s_elementPathTypeMap["/LayerDefinition/VectorLayerDefinition/VectorScaleRange/PointTypeStyle/PointRule/Label/MaintainAspect"] = XML_DATA_TYPE_BOOLEAN;
+ s_elementPathTypeMap["/LayerDefinition/VectorLayerDefinition/VectorScaleRange/PointTypeStyle/PointRule/PointSymbolization2D/Mark/MaintainAspect"] = XML_DATA_TYPE_BOOLEAN;
+ s_elementPathTypeMap["/LayerDefinition/VectorLayerDefinition/VectorScaleRange/PointTypeStyle/PointRule/PointSymbolization2D/Image/MaintainAspect"] = XML_DATA_TYPE_BOOLEAN;
+ s_elementPathTypeMap["/LayerDefinition/VectorLayerDefinition/VectorScaleRange/PointTypeStyle/PointRule/PointSymbolization2D/Font/MaintainAspect"] = XML_DATA_TYPE_BOOLEAN;
+ s_elementPathTypeMap["/LayerDefinition/VectorLayerDefinition/VectorScaleRange/PointTypeStyle/PointRule/PointSymbolization2D/Font/Bold"] = XML_DATA_TYPE_BOOLEAN;
+ s_elementPathTypeMap["/LayerDefinition/VectorLayerDefinition/VectorScaleRange/PointTypeStyle/PointRule/PointSymbolization2D/Font/Italic"] = XML_DATA_TYPE_BOOLEAN;
+ s_elementPathTypeMap["/LayerDefinition/VectorLayerDefinition/VectorScaleRange/PointTypeStyle/PointRule/PointSymbolization2D/Font/Underlined"] = XML_DATA_TYPE_BOOLEAN;
+ s_elementPathTypeMap["/LayerDefinition/VectorLayerDefinition/VectorScaleRange/PointTypeStyle/PointRule/PointSymbolization2D/W2D/MaintainAspect"] = XML_DATA_TYPE_BOOLEAN;
+ s_elementPathTypeMap["/LayerDefinition/VectorLayerDefinition/VectorScaleRange/PointTypeStyle/PointRule/PointSymbolization2D/Block/MaintainAspect"] = XML_DATA_TYPE_BOOLEAN;
+ s_elementPathTypeMap["/LayerDefinition/VectorLayerDefinition/VectorScaleRange/CompositeTypeStyle/ShowInLegend"] = XML_DATA_TYPE_BOOLEAN;
+ s_elementPathTypeMap["/LayerDefinition/GridLayerDefinition/Opacity"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/LayerDefinition/GridLayerDefinition/GridScaleRange/ColorStyle/ColorRule/Label/AdvancedPlacement/ScaleLimit"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/LayerDefinition/GridLayerDefinition/GridScaleRange/ColorStyle/ColorRule/Color/Bands/RedBand/LowBand"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/LayerDefinition/GridLayerDefinition/GridScaleRange/ColorStyle/ColorRule/Color/Bands/RedBand/HighBand"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/LayerDefinition/GridLayerDefinition/GridScaleRange/ColorStyle/ColorRule/Color/Bands/RedBand/LowChannel"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/LayerDefinition/GridLayerDefinition/GridScaleRange/ColorStyle/ColorRule/Color/Bands/RedBand/HighChannel"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/LayerDefinition/GridLayerDefinition/GridScaleRange/ColorStyle/ColorRule/Color/Bands/GreenBand/LowBand"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/LayerDefinition/GridLayerDefinition/GridScaleRange/ColorStyle/ColorRule/Color/Bands/GreenBand/HighBand"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/LayerDefinition/GridLayerDefinition/GridScaleRange/ColorStyle/ColorRule/Color/Bands/GreenBand/LowChannel"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/LayerDefinition/GridLayerDefinition/GridScaleRange/ColorStyle/ColorRule/Color/Bands/GreenBand/HighChannel"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/LayerDefinition/GridLayerDefinition/GridScaleRange/ColorStyle/ColorRule/Color/Bands/BlueBand/LowBand"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/LayerDefinition/GridLayerDefinition/GridScaleRange/ColorStyle/ColorRule/Color/Bands/BlueBand/HighBand"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/LayerDefinition/GridLayerDefinition/GridScaleRange/ColorStyle/ColorRule/Color/Bands/BlueBand/LowChannel"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/LayerDefinition/GridLayerDefinition/GridScaleRange/ColorStyle/ColorRule/Color/Bands/BlueBand/HighChannel"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/LayerDefinition/GridLayerDefinition/GridScaleRange/ColorStyle/ColorRule/HillShade/Azimuth"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/LayerDefinition/GridLayerDefinition/GridScaleRange/ColorStyle/ColorRule/HillShade/Altitude"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/LayerDefinition/GridLayerDefinition/GridScaleRange/ColorStyle/ColorRule/HillShade/ScaleFactor"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/LayerDefinition/GridLayerDefinition/GridScaleRange/ColorStyle/ColorRule/BrightnessFactor"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/LayerDefinition/GridLayerDefinition/GridScaleRange/ColorStyle/ColorRule/ContrastFactor"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/LayerDefinition/GridLayerDefinition/GridScaleRange/SurfaceStyle/ZeroValue"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/LayerDefinition/GridLayerDefinition/GridScaleRange/SurfaceStyle/ScaleFactor"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/LayerDefinition/GridLayerDefinition/GridScaleRange/MinScale"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/LayerDefinition/GridLayerDefinition/GridScaleRange/MaxScale"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/LayerDefinition/GridLayerDefinition/GridScaleRange/RebuildFactor"] = XML_DATA_TYPE_NUMBER;
+ //LoadProcedure-2.2.0.xsd
+ s_elementPathTypeMap["/LoadProcedure/RasterLoadProcedure/GeoReferenceOverride/LocationX"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/LoadProcedure/RasterLoadProcedure/GeoReferenceOverride/LocationY"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/LoadProcedure/RasterLoadProcedure/GeoReferenceOverride/ScaleX"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/LoadProcedure/RasterLoadProcedure/GeoReferenceOverride/ScaleY"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/LoadProcedure/RasterLoadProcedure/SubsampleFactor"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/LoadProcedure/RasterLoadProcedure/GenerateSpatialDataSources"] = XML_DATA_TYPE_BOOLEAN;
+ s_elementPathTypeMap["/LoadProcedure/RasterLoadProcedure/GenerateLayers"] = XML_DATA_TYPE_BOOLEAN;
+ s_elementPathTypeMap["/LoadProcedure/RasterLoadProcedure/GenerateMaps"] = XML_DATA_TYPE_BOOLEAN;
+ s_elementPathTypeMap["/LoadProcedure/RasterLoadProcedure/GenerateSymbolLibraries"] = XML_DATA_TYPE_BOOLEAN;
+ s_elementPathTypeMap["/LoadProcedure/DwgLoadProcedure/Generalization"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/LoadProcedure/DwgLoadProcedure/ClosedPolylinesToPolygons"] = XML_DATA_TYPE_BOOLEAN;
+ s_elementPathTypeMap["/LoadProcedure/DwgLoadProcedure/GenerateSpatialDataSources"] = XML_DATA_TYPE_BOOLEAN;
+ s_elementPathTypeMap["/LoadProcedure/DwgLoadProcedure/GenerateLayers"] = XML_DATA_TYPE_BOOLEAN;
+ s_elementPathTypeMap["/LoadProcedure/DwgLoadProcedure/GenerateMaps"] = XML_DATA_TYPE_BOOLEAN;
+ s_elementPathTypeMap["/LoadProcedure/DwgLoadProcedure/GenerateSymbolLibraries"] = XML_DATA_TYPE_BOOLEAN;
+ s_elementPathTypeMap["/LoadProcedure/DwgLoadProcedure/LayerComponents/LayerComponent/Selected"] = XML_DATA_TYPE_BOOLEAN;
+ s_elementPathTypeMap["/LoadProcedure/SdfLoadProcedure/Generalization"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/LoadProcedure/SdfLoadProcedure/GenerateSpatialDataSources"] = XML_DATA_TYPE_BOOLEAN;
+ s_elementPathTypeMap["/LoadProcedure/SdfLoadProcedure/GenerateLayers"] = XML_DATA_TYPE_BOOLEAN;
+ s_elementPathTypeMap["/LoadProcedure/SdfLoadProcedure/GenerateMaps"] = XML_DATA_TYPE_BOOLEAN;
+ s_elementPathTypeMap["/LoadProcedure/SdfLoadProcedure/GenerateSymbolLibraries"] = XML_DATA_TYPE_BOOLEAN;
+ s_elementPathTypeMap["/LoadProcedure/SQLiteLoadProcedure/Generalization"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/LoadProcedure/SQLiteLoadProcedure/GenerateSpatialDataSources"] = XML_DATA_TYPE_BOOLEAN;
+ s_elementPathTypeMap["/LoadProcedure/SQLiteLoadProcedure/GenerateLayers"] = XML_DATA_TYPE_BOOLEAN;
+ s_elementPathTypeMap["/LoadProcedure/SQLiteLoadProcedure/GenerateMaps"] = XML_DATA_TYPE_BOOLEAN;
+ s_elementPathTypeMap["/LoadProcedure/SQLiteLoadProcedure/GenerateSymbolLibraries"] = XML_DATA_TYPE_BOOLEAN;
+ s_elementPathTypeMap["/LoadProcedure/ShpLoadProcedure/Generalization"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/LoadProcedure/ShpLoadProcedure/GenerateSpatialDataSources"] = XML_DATA_TYPE_BOOLEAN;
+ s_elementPathTypeMap["/LoadProcedure/ShpLoadProcedure/GenerateLayers"] = XML_DATA_TYPE_BOOLEAN;
+ s_elementPathTypeMap["/LoadProcedure/ShpLoadProcedure/GenerateMaps"] = XML_DATA_TYPE_BOOLEAN;
+ s_elementPathTypeMap["/LoadProcedure/ShpLoadProcedure/GenerateSymbolLibraries"] = XML_DATA_TYPE_BOOLEAN;
+ s_elementPathTypeMap["/LoadProcedure/ShpLoadProcedure/ConvertToSdf"] = XML_DATA_TYPE_BOOLEAN;
+ //MapDefinition-2.4.0.xsd
+ s_elementPathTypeMap["/MapDefinition/Extents/MinX"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/MapDefinition/Extents/MinY"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/MapDefinition/Extents/MaxX"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/MapDefinition/Extents/MaxY"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/MapDefinition/BaseMapDefinition/FiniteDisplayScale"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/MapDefinition/MapLayer/Selectable"] = XML_DATA_TYPE_BOOLEAN;
+ s_elementPathTypeMap["/MapDefinition/MapLayer/ShowInLegend"] = XML_DATA_TYPE_BOOLEAN;
+ s_elementPathTypeMap["/MapDefinition/MapLayer/ExpandInLegend"] = XML_DATA_TYPE_BOOLEAN;
+ s_elementPathTypeMap["/MapDefinition/MapLayer/Visible"] = XML_DATA_TYPE_BOOLEAN;
+ s_elementPathTypeMap["/MapDefinition/MapLayerGroup/ShowInLegend"] = XML_DATA_TYPE_BOOLEAN;
+ s_elementPathTypeMap["/MapDefinition/MapLayerGroup/ExpandInLegend"] = XML_DATA_TYPE_BOOLEAN;
+ s_elementPathTypeMap["/MapDefinition/MapLayerGroup/Visible"] = XML_DATA_TYPE_BOOLEAN;
+ s_elementPathTypeMap["/MapDefinition/BaseMapDefinition/BaseMapLayerGroup/ShowInLegend"] = XML_DATA_TYPE_BOOLEAN;
+ s_elementPathTypeMap["/MapDefinition/BaseMapDefinition/BaseMapLayerGroup/ExpandInLegend"] = XML_DATA_TYPE_BOOLEAN;
+ s_elementPathTypeMap["/MapDefinition/BaseMapDefinition/BaseMapLayerGroup/Visible"] = XML_DATA_TYPE_BOOLEAN;
+ s_elementPathTypeMap["/MapDefinition/BaseMapDefinition/BaseMapLayerGroup/BaseMapLayer/ShowInLegend"] = XML_DATA_TYPE_BOOLEAN;
+ s_elementPathTypeMap["/MapDefinition/BaseMapDefinition/BaseMapLayerGroup/BaseMapLayer/ExpandInLegend"] = XML_DATA_TYPE_BOOLEAN;
+ s_elementPathTypeMap["/MapDefinition/BaseMapDefinition/BaseMapLayerGroup/BaseMapLayer/Visible"] = XML_DATA_TYPE_BOOLEAN;
+ //PrintLayout-1.0.0.xsd
+ s_elementPathTypeMap["/PrintLayout/PageProperties/BackgroundColor/Red"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/PrintLayout/PageProperties/BackgroundColor/Blue"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/PrintLayout/PageProperties/BackgroundColor/Green"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/PrintLayout/LayoutProperties/ShowTitle"] = XML_DATA_TYPE_BOOLEAN;
+ s_elementPathTypeMap["/PrintLayout/LayoutProperties/ShowLegend"] = XML_DATA_TYPE_BOOLEAN;
+ s_elementPathTypeMap["/PrintLayout/LayoutProperties/ShowScaleBar"] = XML_DATA_TYPE_BOOLEAN;
+ s_elementPathTypeMap["/PrintLayout/LayoutProperties/ShowNorthArrow"] = XML_DATA_TYPE_BOOLEAN;
+ s_elementPathTypeMap["/PrintLayout/LayoutProperties/ShowURL"] = XML_DATA_TYPE_BOOLEAN;
+ s_elementPathTypeMap["/PrintLayout/LayoutProperties/ShowDateTime"] = XML_DATA_TYPE_BOOLEAN;
+ s_elementPathTypeMap["/PrintLayout/LayoutProperties/ShowCustomLogos"] = XML_DATA_TYPE_BOOLEAN;
+ s_elementPathTypeMap["/PrintLayout/LayoutProperties/ShowCustomText"] = XML_DATA_TYPE_BOOLEAN;
+ //ProfileResult-2.4.0.xsd
+ s_elementPathTypeMap["/ProfileResult/ProfileRenderMap/LayerCount"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/ProfileResult/ProfileRenderMap/Scale"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/ProfileResult/ProfileRenderMap/RenderTime"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/ProfileResult/ProfileRenderMap/CreateImageTime"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/ProfileResult/ProfileRenderMap/Extents/MinX"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/ProfileResult/ProfileRenderMap/Extents/MinY"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/ProfileResult/ProfileRenderMap/Extents/MaxX"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/ProfileResult/ProfileRenderMap/Extents/MaxY"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/ProfileResult/ProfileRenderDynamicOverlay/LayerCount"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/ProfileResult/ProfileRenderDynamicOverlay/Scale"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/ProfileResult/ProfileRenderDynamicOverlay/RenderTime"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/ProfileResult/ProfileRenderDynamicOverlay/CreateImageTime"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/ProfileResult/ProfileRenderLayer/RenderTime"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/ProfileResult/ProfileRenderLayer/ScaleRange/MinScale"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/ProfileResult/ProfileRenderLayer/ScaleRange/MaxScale"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/ProfileResult/ProfileRenderLayers/RenderTime"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/ProfileResult/ProfileRenderSelection/RenderTime"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/ProfileResult/ProfileRenderWatermark/RenderTime"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/ProfileResult/ProfileRenderWatermarks/RenderTime"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/ProfileResult/ProfileRenderLabels/RenderTime"] = XML_DATA_TYPE_NUMBER;
+ //ResourceList-1.0.0.xsd
+ s_elementPathTypeMap["/ResourceList/ResourceFolder/Depth"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/ResourceList/ResourceFolder/NumberOfFolders"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/ResourceList/ResourceFolder/NumberOfDocuments"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/ResourceList/ResourceDocument/Depth"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/ResourceList/ResourceFolder/ResourceFolderHeader/Security/Inherited"] = XML_DATA_TYPE_BOOLEAN;
+ s_elementPathTypeMap["/ResourceList/ResourceDocument/ResourceDocumentHeader/Security/Inherited"] = XML_DATA_TYPE_BOOLEAN;
+ //RuntimeMap-2.6.0.xsd
+ s_elementPathTypeMap["/RuntimeMap/DisplayDpi"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/RuntimeMap/Group/Type"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/RuntimeMap/Group/DisplayInLegend"] = XML_DATA_TYPE_BOOLEAN;
+ s_elementPathTypeMap["/RuntimeMap/Group/ExpandInLegend"] = XML_DATA_TYPE_BOOLEAN;
+ s_elementPathTypeMap["/RuntimeMap/Group/Visible"] = XML_DATA_TYPE_BOOLEAN;
+ s_elementPathTypeMap["/RuntimeMap/Group/ActuallyVisible"] = XML_DATA_TYPE_BOOLEAN;
+ s_elementPathTypeMap["/RuntimeMap/Layer/Type"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/RuntimeMap/Layer/ScaleRange/MinScale"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/RuntimeMap/Layer/ScaleRange/MaxScale"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/RuntimeMap/Layer/ScaleRange/FeatureStyle/Type"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/RuntimeMap/Layer/Selectable"] = XML_DATA_TYPE_BOOLEAN;
+ s_elementPathTypeMap["/RuntimeMap/Layer/DisplayInLegend"] = XML_DATA_TYPE_BOOLEAN;
+ s_elementPathTypeMap["/RuntimeMap/Layer/ExpandInLegend"] = XML_DATA_TYPE_BOOLEAN;
+ s_elementPathTypeMap["/RuntimeMap/Layer/Visible"] = XML_DATA_TYPE_BOOLEAN;
+ s_elementPathTypeMap["/RuntimeMap/Layer/ActuallyVisible"] = XML_DATA_TYPE_BOOLEAN;
+ s_elementPathTypeMap["/RuntimeMap/FiniteDisplayScale"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/RuntimeMap/CoordinateSystem/MetersPerUnit"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/RuntimeMap/Extents/LowerLeftCoordinate/X"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/RuntimeMap/Extents/LowerLeftCoordinate/Y"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/RuntimeMap/Extents/UpperRightCoordinate/X"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/RuntimeMap/Extents/UpperRightCoordinate/Y"] = XML_DATA_TYPE_NUMBER;
+ //RuntimeMap-3.0.0.xsd
+ s_elementPathTypeMap["/RuntimeMap/TileWidth"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/RuntimeMap/TileHeight"] = XML_DATA_TYPE_NUMBER;
+ //SiteInformation-1.0.0.xsd
+ s_elementPathTypeMap["/SiteInformation/SiteServer/OperatingSystem/AvailablePhysicalMemory"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/SiteInformation/SiteServer/OperatingSystem/TotalPhysicalMemory"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/SiteInformation/SiteServer/OperatingSystem/AvailableVirtualMemory"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/SiteInformation/SiteServer/OperatingSystem/TotalVirtualMemory"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/SiteInformation/Statistics/AdminOperationsQueueCount"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/SiteInformation/Statistics/ClientOperationsQueueCount"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/SiteInformation/Statistics/SiteOperationsQueueCount"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/SiteInformation/Statistics/AverageOperationTime"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/SiteInformation/Statistics/CpuUtilization"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/SiteInformation/Statistics/TotalOperationTime"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/SiteInformation/Statistics/ActiveConnections"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/SiteInformation/Statistics/TotalConnections"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/SiteInformation/Statistics/TotalOperationsProcessed"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/SiteInformation/Statistics/TotalOperationsReceived"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/SiteInformation/Statistics/Uptime"] = XML_DATA_TYPE_NUMBER;
+ //SiteInformation-2.2.0.xsd
+ s_elementPathTypeMap["/SiteInformation/Server/OperatingSystem/AvailablePhysicalMemory"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/SiteInformation/Server/OperatingSystem/TotalPhysicalMemory"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/SiteInformation/Server/OperatingSystem/AvailableVirtualMemory"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/SiteInformation/Server/OperatingSystem/TotalVirtualMemory"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/SiteInformation/Server/Statistics/AdminOperationsQueueCount"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/SiteInformation/Server/Statistics/ClientOperationsQueueCount"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/SiteInformation/Server/Statistics/SiteOperationsQueueCount"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/SiteInformation/Server/Statistics/AverageOperationTime"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/SiteInformation/Server/Statistics/CpuUtilization"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/SiteInformation/Server/Statistics/WorkingSet"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/SiteInformation/Server/Statistics/VirtualMemory"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/SiteInformation/Server/Statistics/TotalOperationTime"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/SiteInformation/Server/Statistics/ActiveConnections"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/SiteInformation/Server/Statistics/TotalConnections"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/SiteInformation/Server/Statistics/TotalOperationsProcessed"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/SiteInformation/Server/Statistics/TotalOperationsReceived"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/SiteInformation/Server/Statistics/Uptime"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/SiteInformation/Server/Statistics/CacheSize"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/SiteInformation/Server/Statistics/CacheDroppedEntries"] = XML_DATA_TYPE_NUMBER;
+ //UnmanagedDataList-1.0.0.xsd
+ s_elementPathTypeMap["/UnmanagedDataList/UnmanagedDataFolder/NumberOfFolders"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/UnmanagedDataList/UnmanagedDataFolder/NumberOfFiles"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/UnmanagedDataList/UnmanagedDataFolder/NumberOfFolders"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/UnmanagedDataList/UnmanagedDataFile/Size"] = XML_DATA_TYPE_NUMBER;
+ //WebLayout-2.6.0.xsd
+ s_elementPathTypeMap["/WebLayout/PointSelectionBuffer"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/WebLayout/InformationPane/Width"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/WebLayout/InformationPane/LegendVisible"] = XML_DATA_TYPE_BOOLEAN;
+ s_elementPathTypeMap["/WebLayout/InformationPane/PropertiesVisible"] = XML_DATA_TYPE_BOOLEAN;
+ s_elementPathTypeMap["/WebLayout/TaskPane/Width"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/WebLayout/CommandSet/Command/MatchLimit"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/WebLayout/CommandSet/Command/DisableIfSelectionEmpty"] = XML_DATA_TYPE_BOOLEAN;
+ s_elementPathTypeMap["/WebLayout/Map/InitialView/CenterX"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/WebLayout/Map/InitialView/CenterY"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/WebLayout/Map/InitialView/Scale"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/WebLayout/EnablePingServer"] = XML_DATA_TYPE_BOOLEAN;
+ s_elementPathTypeMap["/WebLayout/ToolBar/Visible"] = XML_DATA_TYPE_BOOLEAN;
+ s_elementPathTypeMap["/WebLayout/InformationPane/Visible"] = XML_DATA_TYPE_BOOLEAN;
+ s_elementPathTypeMap["/WebLayout/ContextMenu/Visible"] = XML_DATA_TYPE_BOOLEAN;
+ s_elementPathTypeMap["/WebLayout/TaskPane/Visible"] = XML_DATA_TYPE_BOOLEAN;
+ s_elementPathTypeMap["/WebLayout/TaskPane/TaskBar/Visible"] = XML_DATA_TYPE_BOOLEAN;
+ s_elementPathTypeMap["/WebLayout/StatusBar/Visible"] = XML_DATA_TYPE_BOOLEAN;
+ s_elementPathTypeMap["/WebLayout/ZoomControl/Visible"] = XML_DATA_TYPE_BOOLEAN;
+ //WatermarkDefinition-2.4.0.xsd
+ s_elementPathTypeMap["/WatermarkDefinition/Position/XYPosition/XPosition/Offset"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/WatermarkDefinition/Position/XYPosition/YPosition/Offset"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/WatermarkDefinition/Position/TilePosition/TileWidth"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/WatermarkDefinition/Position/TilePosition/TileHeight"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/WatermarkDefinition/Appearance/Transparency"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/WatermarkDefinition/Appearance/Rotation"] = XML_DATA_TYPE_NUMBER;
+ //TileSetDefinition-3.0.0.xsd
+ s_elementPathTypeMap["/TileSetDefinition/Extents/MinX"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/TileSetDefinition/Extents/MinY"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/TileSetDefinition/Extents/MaxX"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/TileSetDefinition/Extents/MaxY"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/TileSetDefinition/BaseMapLayerGroup/Visible"] = XML_DATA_TYPE_BOOLEAN;
+ s_elementPathTypeMap["/TileSetDefinition/BaseMapLayerGroup/ShowInLegend"] = XML_DATA_TYPE_BOOLEAN;
+ s_elementPathTypeMap["/TileSetDefinition/BaseMapLayerGroup/ExpandInLegend"] = XML_DATA_TYPE_BOOLEAN;
+ s_elementPathTypeMap["/TileSetDefinition/BaseMapLayerGroup/BaseMapLayer/Selectable"] = XML_DATA_TYPE_BOOLEAN;
+ s_elementPathTypeMap["/TileSetDefinition/BaseMapLayerGroup/BaseMapLayer/ShowInLegend"] = XML_DATA_TYPE_BOOLEAN;
+ s_elementPathTypeMap["/TileSetDefinition/BaseMapLayerGroup/BaseMapLayer/ExpandInLegend"] = XML_DATA_TYPE_BOOLEAN;
+ //Miscellaneous MapGuide response types that don't have a formal schema
+ s_elementPathTypeMap["/SessionTimeout/Value"] = XML_DATA_TYPE_NUMBER;
+ s_elementPathTypeMap["/FeatureInformation/SelectedFeatures/SelectedLayer/LayerMetadata/Property/Type"] = XML_DATA_TYPE_NUMBER;
+
+ //FeatureSource-1.0.0.xsd
+ s_multiElementPaths.insert("/FeatureSource/Parameter");
+ s_multiElementPaths.insert("/FeatureSource/SupplementalSpatialContextInfo");
+ s_multiElementPaths.insert("/FeatureSource/Extension");
+ s_multiElementPaths.insert("/FeatureSource/Extension/CalculatedProperty");
+ s_multiElementPaths.insert("/FeatureSource/Extension/AttributeRelate");
+ s_multiElementPaths.insert("/FeatureSource/Extension/AttributeRelate/RelateProperty");
+ //DrawingSource-1.0.0.xsd
+ s_multiElementPaths.insert("/DrawingSource/Sheet");
+ //LayerDefinition-2.4.0.xsd (schema has been additive, so this includes older versions as well)
+ s_multiElementPaths.insert("/LayerDefinition/VectorLayerDefinition/PropertyMapping");
+ s_multiElementPaths.insert("/LayerDefinition/VectorLayerDefinition/VectorScaleRange");
+ s_multiElementPaths.insert("/LayerDefinition/VectorLayerDefinition/VectorScaleRange/AreaTypeStyle/AreaRule");
+ s_multiElementPaths.insert("/LayerDefinition/VectorLayerDefinition/VectorScaleRange/LineTypeStyle/LineRule");
+ s_multiElementPaths.insert("/LayerDefinition/VectorLayerDefinition/VectorScaleRange/LineTypeStyle/LineRule/LineSymbolization2D");
+ s_multiElementPaths.insert("/LayerDefinition/VectorLayerDefinition/VectorScaleRange/PointTypeStyle/PointRule");
+ s_multiElementPaths.insert("/LayerDefinition/VectorLayerDefinition/VectorScaleRange/CompositeTypeStyle/CompositeRule");
+ s_multiElementPaths.insert("/LayerDefinition/VectorLayerDefinition/VectorScaleRange/CompositeTypeStyle/CompositeRule/CompositeSymbolization/SymbolInstance");
+ s_multiElementPaths.insert("/LayerDefinition/VectorLayerDefinition/VectorScaleRange/CompositeTypeStyle/CompositeRule/CompositeSymbolization/SymbolInstance/ParameterOverrides/Override");
+ s_multiElementPaths.insert("/LayerDefinition/GridLayerDefinition/GridScaleRange");
+ s_multiElementPaths.insert("/LayerDefinition/GridLayerDefinition/GridScaleRange/ColorStyle/ColorRule");
+ //SymbolDefinition-2.4.0.xsd (schema has been additive, so this includes older versions as well)
+ s_multiElementPaths.insert("/SimpleSymbolDefinition/ParameterDefinition/Parameter");
+ s_multiElementPaths.insert("/CompoundSymbolDefinition/SimpleSymbol");
+ s_multiElementPaths.insert("/SimpleSymbolDefinition/Graphics/Path");
+ s_multiElementPaths.insert("/SimpleSymbolDefinition/Graphics/Image");
+ s_multiElementPaths.insert("/SimpleSymbolDefinition/Graphics/Text");
+ //MapDefinition-2.4.0.xsd (schema has been additive, so this includes older versions as well)
+ s_multiElementPaths.insert("/MapDefinition/MapLayer");
+ s_multiElementPaths.insert("/MapDefinition/MapLayerGroup");
+ s_multiElementPaths.insert("/MapDefinition/BaseMapDefinition/BaseLayerGroup");
+ s_multiElementPaths.insert("/MapDefinition/BaseMapDefinition/BaseLayerGroup/BaseMapLayer");
+ s_multiElementPaths.insert("/MapDefinition/Watermarks/Watermark");
+ //WebLayout-2.6.0.xsd (schema has been additive, so this includes older versions as well)
+ s_multiElementPaths.insert("/WebLayout/ToolBar/Button");
+ s_multiElementPaths.insert("/WebLayout/ToolBar/Button/SubItem");
+ s_multiElementPaths.insert("/WebLayout/ContextMenu/MenuItem");
+ s_multiElementPaths.insert("/WebLayout/ContextMenu/MenuItem/SubItem");
+ s_multiElementPaths.insert("/WebLayout/TaskPane/TaskBar/MenuButton");
+ s_multiElementPaths.insert("/WebLayout/CommandSet/Command");
+ //LoadProcedure-2.2.0.xsd (schema has been additive, so this includes older versions as well)
+ s_multiElementPaths.insert("/LoadProcedure/SdfLoadProcedure/SourceFile");
+ s_multiElementPaths.insert("/LoadProcedure/SdfLoadProcedure/ResourceId");
+ s_multiElementPaths.insert("/LoadProcedure/DwfLoadProcedure/SourceFile");
+ s_multiElementPaths.insert("/LoadProcedure/DwfLoadProcedure/ResourceId");
+ s_multiElementPaths.insert("/LoadProcedure/ShpLoadProcedure/SourceFile");
+ s_multiElementPaths.insert("/LoadProcedure/ShpLoadProcedure/ResourceId");
+ s_multiElementPaths.insert("/LoadProcedure/DwgLoadProcedure/SourceFile");
+ s_multiElementPaths.insert("/LoadProcedure/DwgLoadProcedure/ResourceId");
+ s_multiElementPaths.insert("/LoadProcedure/DwgLoadProcedure/FileComponents/FileComponent");
+ s_multiElementPaths.insert("/LoadProcedure/DwgLoadProcedure/LayerComponents/LayerComponent");
+ s_multiElementPaths.insert("/LoadProcedure/RasterLoadProcedure/SourceFile");
+ s_multiElementPaths.insert("/LoadProcedure/RasterLoadProcedure/ResourceId");
+ s_multiElementPaths.insert("/LoadProcedure/RasterLoadProcedure/GeoReferenceOverride");
+ s_multiElementPaths.insert("/LoadProcedure/SQLiteLoadProcedure/SourceFile");
+ s_multiElementPaths.insert("/LoadProcedure/SQLiteLoadProcedure/ResourceId");
+ //PrintLayout-1.0.0.xsd
+ s_multiElementPaths.insert("/PrintLayout/CustomLogos/Logo");
+ s_multiElementPaths.insert("/PrintLayout/CustomText/Text");
+ //ApplicationDefinition-1.0.0.xsd
+ s_multiElementPaths.insert("/ApplicationDefinition/WidgetSet");
+ s_multiElementPaths.insert("/ApplicationDefinition/WidgetSet/Container");
+ s_multiElementPaths.insert("/ApplicationDefinition/WidgetSet/Container/Item");
+ s_multiElementPaths.insert("/ApplicationDefinition/WidgetSet/Container/Item/Item");
+ //s_multiElementPaths.insert("/ApplicationDefinition/WidgetSet/Widget" => "abcd1234",
+ s_multiElementPaths.insert("/ApplicationDefinition/MapSet/MapGroup");
+ s_multiElementPaths.insert("/ApplicationDefinition/MapSet/MapGroup/Map");
+ //ApplicationDefinitionInfo-1.0.0.xsd
+ s_multiElementPaths.insert("/ApplicationDefinitionWidgetInfoSet/WidgetInfo");
+ s_multiElementPaths.insert("/ApplicationDefinitionWidgetInfoSet/WidgetInfo/ContainableBy");
+ s_multiElementPaths.insert("/ApplicationDefinitionWidgetInfoSet/WidgetInfo/Parameter");
+ s_multiElementPaths.insert("/ApplicationDefinitionWidgetInfoSet/WidgetInfo/Parameter/AllowedValue");
+ s_multiElementPaths.insert("/ApplicationDefinitionContainerInfoSet/ContainerInfo");
+ s_multiElementPaths.insert("/ApplicationDefinitionTemplateInfoSet/TemplateInfo");
+ s_multiElementPaths.insert("/ApplicationDefinitionTemplateInfoSet/TemplateInfo/Panel");
+ //BatchPropertyCollection-1.0.0.xsd
+ s_multiElementPaths.insert("/BatchPropertyCollection/PropertyCollection");
+ s_multiElementPaths.insert("/BatchPropertyCollection/PropertyCollection/Property");
+ //DataStoreList-1.0.0.xsd
+ s_multiElementPaths.insert("/DataStoreList/DataStore");
+ //DrawingSectionList-1.0.0.xsd
+ s_multiElementPaths.insert("/DrawingSectionList/Section");
+ //DrawingSectionResourceList-1.0.0.xsd
+ s_multiElementPaths.insert("/DrawingSectionResourceList/SectionResource");
+ //FdoLongTransactionList-1.0.0.xsd
+ s_multiElementPaths.insert("/FdoLongTransactionList/LongTransaction");
+ //FdoProviderCapabilities-1.0.0.xsd
+ s_multiElementPaths.insert("/FeatureProviderCapabilities/Connection/SpatialContextExtent/Type");
+ s_multiElementPaths.insert("/FeatureProviderCapabilities/Schema/Class/Type");
+ s_multiElementPaths.insert("/FeatureProviderCapabilities/Schema/Data/Type");
+ s_multiElementPaths.insert("/FeatureProviderCapabilities/Command/SupportedCommands/Type");
+ s_multiElementPaths.insert("/FeatureProviderCapabilities/Filter/Condition/Type");
+ s_multiElementPaths.insert("/FeatureProviderCapabilities/Filter/Spatial/Operation");
+ s_multiElementPaths.insert("/FeatureProviderCapabilities/Filter/Distance/Operation");
+ s_multiElementPaths.insert("/FeatureProviderCapabilities/Expression/Type/Name");
+ s_multiElementPaths.insert("/FeatureProviderCapabilities/Expression/FunctionDefinitionList/FunctionDefinition");
+ s_multiElementPaths.insert("/FeatureProviderCapabilities/Expression/FunctionDefinitionList/FunctionDefinition/ArgumentDefinitionList/ArgumentDefinition");
+ s_multiElementPaths.insert("/FeatureProviderCapabilities/Geometry/Types/Type");
+ s_multiElementPaths.insert("/FeatureProviderCapabilities/Geometry/Components/Type");
+ //FdoProviderCapabilities-1.1.0.xsd
+ s_multiElementPaths.insert("/FeatureProviderCapabilities/Schema/SupportedAutoGeneratedTypes");
+ s_multiElementPaths.insert("/FeatureProviderCapabilities/Expression/FunctionDefinitionList/FunctionDefinition/SignatureDefinitionCollection/SignatureDefinition");
+ s_multiElementPaths.insert("/FeatureProviderCapabilities/Expression/FunctionDefinitionList/FunctionDefinition/SignatureDefinitionCollection/SignatureDefinition/ArgumentDefinitionList/ArgumentDefinition");
+ s_multiElementPaths.insert("/FeatureProviderCapabilities/Expression/FunctionDefinitionList/FunctionDefinition/SignatureDefinitionCollection/SignatureDefinition/ArgumentDefinitionList/ArgumentDefinition/PropertyValueConstraintList/Value");
+ //FdoSpatialContextList-1.0.0.xsd
+ s_multiElementPaths.insert("/FdoSpatialContextList/SpatialContext");
+ //FeatureProviderRegistry-1.0.0.xsd
+ s_multiElementPaths.insert("/FeatureProviderRegistry/FeatureProvider");
+ s_multiElementPaths.insert("/FeatureProviderRegistry/FeatureProvider/ConnectionProperties/ConnectionProperty");
+ s_multiElementPaths.insert("/FeatureProviderRegistry/FeatureProvider/ConnectionProperties/ConnectionProperty/Value");
+ //Group-1.0.0.xsd
+ s_multiElementPaths.insert("/Group/Users/User");
+ //GroupList-1.0.0.xsd
+ s_multiElementPaths.insert("/GroupList/Group");
+ //ProfileResult-2.4.0.xsd
+ s_multiElementPaths.insert("/ProfileResult/ProfileRenderMap/ProfileRenderLayers/ProfileRenderLayer");
+ s_multiElementPaths.insert("/ProfileResult/ProfileRenderMap/ProfileRenderSelection/ProfileSelectedRenderLayer");
+ s_multiElementPaths.insert("/ProfileResult/ProfileRenderMap/ProfileRenderWatermarks/ProfileRenderWatermark");
+ //RepositoryList-1.0.0.xsd
+ s_multiElementPaths.insert("/RepositoryList/Repository");
+ //ResourceDataList-1.0.0.xsd
+ s_multiElementPaths.insert("/ResourceDataList/ResourceData");
+ //ResourceDocumentHeader-1.0.0.xsd
+ s_multiElementPaths.insert("/ResourceDocumentHeader/Metadata/Simple/Property");
+ //ResourceList-1.0.0.xsd
+ s_multiElementPaths.insert("/ResourceList/ResourceFolder");
+ s_multiElementPaths.insert("/ResourceList/ResourceFolder/ResourceFolderHeader/Security/Users/User"); //ResourceSecurity-1.0.0.xsd
+ s_multiElementPaths.insert("/ResourceList/ResourceFolder/ResourceFolderHeader/Security/Groups/Group"); //ResourceSecurity-1.0.0.xsd
+ s_multiElementPaths.insert("/ResourceList/ResourceDocument");
+ s_multiElementPaths.insert("/ResourceList/ResourceDocument/ResourceDocumentHeader/Security/Users/User"); //ResourceSecurity-1.0.0.xsd
+ s_multiElementPaths.insert("/ResourceList/ResourceDocument/ResourceDocumentHeader/Security/Groups/Group"); //ResourceSecurity-1.0.0.xsd
+ s_multiElementPaths.insert("/ResourceList/ResourceDocument/ResourceDocumentHeader/Metadata/Simple/Property");
+ //ResourcePackageManifest-1.0.0.xsd
+ s_multiElementPaths.insert("/ResourcePackageManifest/Operations/Operation");
+ s_multiElementPaths.insert("/ResourcePackageManifest/Operations/Operation/Parameters/Parameter");
+ //ResourceReferenceList-1.0.0.xsd
+ s_multiElementPaths.insert("/ResourceReferenceList/ResourceId");
+ //RuntimeMap-2.6.0.xsd
+ s_multiElementPaths.insert("/RuntimeMap/Group");
+ s_multiElementPaths.insert("/RuntimeMap/Layer");
+ s_multiElementPaths.insert("/RuntimeMap/Layer/ScaleRange");
+ s_multiElementPaths.insert("/RuntimeMap/Layer/ScaleRange/FeatureStyle");
+ s_multiElementPaths.insert("/RuntimeMap/Layer/ScaleRange/FeatureStyle/Rule");
+ s_multiElementPaths.insert("/RuntimeMap/FiniteDisplayScale");
+ //SelectAggregate-1.0.0.xsd
+ s_multiElementPaths.insert("/PropertySet/PropertyDefinitions/PropertyDefinition");
+ s_multiElementPaths.insert("/PropertySet/Properties/PropertyCollection");
+ s_multiElementPaths.insert("/PropertySet/Properties/PropertyCollection/Property");
+ //ServerList-1.0.0.xsd
+ s_multiElementPaths.insert("/ServerList/Server");
+ //SqlSelect-1.0.0.xsd
+ s_multiElementPaths.insert("/RowSet/ColumnDefinitions");
+ s_multiElementPaths.insert("/RowSet/ColumnDefinitions/Column");
+ s_multiElementPaths.insert("/RowSet/Rows/Row");
+ s_multiElementPaths.insert("/RowSet/Rows/Row/Column");
+ //StringCollection-1.0.0.xsd
+ s_multiElementPaths.insert("/StringCollection/Item");
+ //TileSetDefinition-3.0.0.xsd
+ s_multiElementPaths.insert("/TileSetDefinition/TileStoreParameters/Parameter");
+ s_multiElementPaths.insert("/TileSetDefinition/BaseMapLayerGroup");
+ s_multiElementPaths.insert("/TileSetDefinition/BaseMapLayerGroup/BaseMapLayer");
+ //UnmanagedDataList-1.0.0.xsd
+ s_multiElementPaths.insert("/UnmanagedDataList/UnmanagedDataFolder");
+ s_multiElementPaths.insert("/UnmanagedDataList/UnmanagedDataFile");
+ //UserList-1.0.0.xsd
+ s_multiElementPaths.insert("/UserList/User");
+ s_multiElementPaths.insert("/UserList/Group");
+ //Miscellaneous MapGuide response types that don't have a formal schema
+ s_multiElementPaths.insert("/FeatureInformation/FeatureSet/Layer");
+ s_multiElementPaths.insert("/FeatureInformation/FeatureSet/Layer/Class/ID");
+ s_multiElementPaths.insert("/FeatureInformation/SelectedFeatures/SelectedLayer");
+ s_multiElementPaths.insert("/FeatureInformation/SelectedFeatures/SelectedLayer/LayerMetadata/Property");
+ s_multiElementPaths.insert("/FeatureInformation/SelectedFeatures/SelectedLayer/Feature");
+ s_multiElementPaths.insert("/FeatureInformation/SelectedFeatures/SelectedLayer/Feature/Property");
+
+ return true;
+}
\ No newline at end of file
Modified: sandbox/jng/clean_json/Web/src/HttpHandler/XmlJsonConvert.h
===================================================================
--- sandbox/jng/clean_json/Web/src/HttpHandler/XmlJsonConvert.h 2015-11-07 15:51:29 UTC (rev 8818)
+++ sandbox/jng/clean_json/Web/src/HttpHandler/XmlJsonConvert.h 2015-11-07 17:19:53 UTC (rev 8819)
@@ -22,6 +22,10 @@
#include "System/XmlUtil.h"
#include "JsonDoc.h"
+#define XML_DATA_TYPE_NUMBER 1
+#define XML_DATA_TYPE_BOOLEAN 2
+#define XML_DATA_TYPE_STRING 3
+
/// \cond INTERNAL
class MgXmlJsonConvert
{
@@ -36,19 +40,27 @@
/// Methods
public:
- void ToJson(Ptr<MgByteReader> &byteReader);
- void ToJson(const string &xmlString, string &jsonString);
+ void ToJson(Ptr<MgByteReader> &byteReader, bool bClean = false);
+ void ToJson(const string &xmlString, string &jsonString, bool bClean = false);
private:
- void XmlToJsonNode(DOMNode *node);
+ void XmlToJsonNode(DOMNode *node, bool bClean = false);
bool ValidateTextContent(const string &textContent);
void ProcessObjectNode(DOMNode *node);
void ProcessArrayNode(int index, DOMNode *node);
+ static bool GetElementPath(DOMNode* node, string& path, const XMLCh* suffix = L"");
+ static bool GetElementType(DOMNode* node, int& type, const XMLCh* suffix = L"");
+ static bool IsMultiple(DOMNode* node, bool& isMultiple, const XMLCh* suffix = L"");
/// Data Members
private:
MgXmlUtil m_xmlUtil;
MgJsonDoc m_jsonDoc;
+
+private:
+ static bool Initialize();
+private:
+ static bool m_isInitialized;
};
/// \endcond
More information about the mapguide-commits
mailing list