static private XmlNameTable CreatePrimedNametable()
{
Util.Log("SdlParser.CreatePrimedNametable");
//Interlocked.Increment(ref s_counter);
/*if(s_atomizedTable == null)
{
// Create a new nametable
//MTNameTable newTable = new MTNameTable(true);
}*/
NameTable newTable = new NameTable();
// Atomically update static location to point to the current table
/*Object oldTable = Interlocked.CompareExchange(ref s_atomizedTable, newTable, null);
if(oldTable != null)
newTable = (MTNameTable) oldTable; */
// Atomize frequently used strings for perf
// The following ops are not done inside a lock as they are idempotent
s_operationString = newTable.Add("operation");
s_emptyString = newTable.Add(String.Empty);
s_complexTypeString = newTable.Add("complexType");
s_simpleTypeString = newTable.Add("simpleType");
s_elementString = newTable.Add("element");
s_enumerationString = newTable.Add("enumeration");
s_encodingString = newTable.Add("encoding");
s_attributeString = newTable.Add("attribute");
s_allString = newTable.Add("all");
s_sequenceString = newTable.Add("sequence");
s_choiceString = newTable.Add("choice");
s_minOccursString = newTable.Add("minOccurs");
s_maxOccursString = newTable.Add("maxOccurs");
s_unboundedString = newTable.Add("unbounded");
s_oneString = newTable.Add("1");
s_zeroString = newTable.Add("0");
s_nameString = newTable.Add("name");
s_typeString = newTable.Add("type");
s_baseString = newTable.Add("base");
s_valueString = newTable.Add("value");
s_interfaceString = newTable.Add("interface");
s_serviceString = newTable.Add("service");
s_extendsString = newTable.Add("extends");
s_addressesString = newTable.Add("addresses");
s_addressString = newTable.Add("address");
s_uriString = newTable.Add("uri");
s_implementsString = newTable.Add("implements");
s_requestString = newTable.Add("request");
s_responseString = newTable.Add("response");
s_requestResponseString = newTable.Add("requestResponse");
s_messageString = newTable.Add("message");
s_locationString = newTable.Add("location");
s_importString = newTable.Add("import");
s_onewayString = newTable.Add("oneway");
s_refString = newTable.Add("ref");
s_refTypeString = newTable.Add("refType");
s_referenceString = newTable.Add("Reference");
s_objectString = newTable.Add("Object");
s_urTypeString = newTable.Add("ur-type");
s_arrayString = newTable.Add("Array");
//s_sudsString = newTable.Add("suds");
s_sudsString = newTable.Add("soap");
s_soapString = newTable.Add("soap");
s_serviceDescString = newTable.Add("serviceDescription");
s_schemaString = newTable.Add("schema");
s_targetNamespaceString = newTable.Add("targetNamespace");
s_namespaceString = newTable.Add("namespace");
s_idString = newTable.Add("ID");
s_soapActionString = newTable.Add("soapAction");
s_schemaNamespaceString = newTable.Add("http://www.w3.org/2000/10/XMLSchema");
s_instanceNamespaceString = newTable.Add("http://www.w3.org/2000/10/XMLSchema-instance");
s_soapNamespaceString = newTable.Add("urn:schemas-xmlsoap-org:soap.v1");
//s_sudsNamespaceString = newTable.Add("urn:schemas-xmlsoap-org:suds.v1");
s_sudsNamespaceString = newTable.Add("urn:schemas-xmlsoap-org:soap-sdl-2000-01-25");
//s_URTNamespaceString = newTable.Add("urn:schamas-xmlsoap-org:urt.v1");
//s_serviceNamespaceString = newTable.Add("urn:schemas-xmlsoap-org:servicedesc.v1");
s_serviceNamespaceString = newTable.Add("urn:schemas-xmlsoap-org:sdl.2000-01-25");
return((XmlNameTable) newTable);
// Enqueue a timer if it has not already been done
/*Timer timer = new Timer(new TimerCallback(Cleanup), null, 1000, 1000);
Object existingTimer = Interlocked.CompareExchange(ref s_enqueuedTimer, timer, null);
if(existingTimer != null)
timer.Dispose(); */
//}
//return((XmlNameTable) s_atomizedTable);
}