static private XmlNameTable CreatePrimedNametable()
{
Util.Log("WsdlParser.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_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_attributesString = newTable.Add("attributes");
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_nestedTypeString = newTable.Add("nestedType");
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_schemaLocationString = newTable.Add("schemaLocation");
s_importString = newTable.Add("import");
s_onewayString = newTable.Add("oneway");
s_includeString = newTable.Add("include");
s_refString = newTable.Add("ref");
s_refTypeString = newTable.Add("refType");
s_referenceString = newTable.Add("Reference");
s_objectString = newTable.Add("Object");
s_urTypeString = newTable.Add("anyType");
s_arrayString = newTable.Add("Array");
s_sudsString = newTable.Add("suds");
s_methodString = newTable.Add("method");
s_useString = newTable.Add("use");
s_rootTypeString = newTable.Add("rootType");
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_schemaNamespaceString1999 = newTable.Add(SudsConverter.Xsd1999);
s_instanceNamespaceString1999 = newTable.Add(SudsConverter.Xsi1999);
s_schemaNamespaceString2000 = newTable.Add(SudsConverter.Xsd2000);
s_instanceNamespaceString2000 = newTable.Add(SudsConverter.Xsi2000);
s_schemaNamespaceString = newTable.Add(SudsConverter.Xsd2001);
s_instanceNamespaceString = newTable.Add(SudsConverter.Xsi2001);
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");
// Wsdl strings
s_definitionsString = newTable.Add("definitions");
s_wsdlNamespaceString = newTable.Add("http://schemas.xmlsoap.org/wsdl/");
s_wsdlSoapNamespaceString = newTable.Add("http://schemas.xmlsoap.org/wsdl/soap/");
s_wsdlSudsNamespaceString = newTable.Add("http://www.w3.org/2000/wsdl/suds");
s_enumTypeString = newTable.Add("enumType");
s_typesString = newTable.Add("types");
s_partString = newTable.Add("part");
s_portTypeString = newTable.Add("portType");
s_operationString = newTable.Add("operation");
s_inputString = newTable.Add("input");
s_outputString = newTable.Add("output");
s_bindingString = newTable.Add("binding");
s_classString = newTable.Add("class");
s_structString = newTable.Add("struct");
s_ISerializableString = newTable.Add("ISerializable");
s_marshalByRefString = newTable.Add("MarshalByRefObject");
s_delegateString = newTable.Add("Delegate");
s_servicedComponentString = newTable.Add("ServicedComponent");
s_comObjectString = newTable.Add("__ComObject");
s_portString = newTable.Add("port");
s_styleString = newTable.Add("style");
s_transportString = newTable.Add("transport");
s_encodedString = newTable.Add("encoded");
s_faultString = newTable.Add("fault");
s_bodyString = newTable.Add("body");
s_partsString = newTable.Add("parts");
s_headerString = newTable.Add("header");
s_encodingStyleString = newTable.Add("encodingStyle");
s_restrictionString = newTable.Add("restriction");
s_complexContentString = newTable.Add("complexContent");
s_soapEncodingString = newTable.Add("http://schemas.xmlsoap.org/soap/encoding/");
s_arrayTypeString = newTable.Add("arrayType");
s_parameterOrderString = newTable.Add("parameterOrder");
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);
}