private Type GetPrimitiveType(XmlQualifiedName typeName, bool throwOnUnknown)
{
InitPrimitiveIDs();
if ((object)typeName.Namespace == (object)_schemaNsID || (object)typeName.Namespace == (object)_soapNsID || (object)typeName.Namespace == (object)_soap12NsID)
{
if ((object)typeName.Name == (object)_stringID ||
(object)typeName.Name == (object)_anyURIID ||
(object)typeName.Name == (object)_durationID ||
(object)typeName.Name == (object)_ENTITYID ||
(object)typeName.Name == (object)_ENTITIESID ||
(object)typeName.Name == (object)_gDayID ||
(object)typeName.Name == (object)_gMonthID ||
(object)typeName.Name == (object)_gMonthDayID ||
(object)typeName.Name == (object)_gYearID ||
(object)typeName.Name == (object)_gYearMonthID ||
(object)typeName.Name == (object)_IDID ||
(object)typeName.Name == (object)_IDREFID ||
(object)typeName.Name == (object)_IDREFSID ||
(object)typeName.Name == (object)_integerID ||
(object)typeName.Name == (object)_languageID ||
(object)typeName.Name == (object)_nameID ||
(object)typeName.Name == (object)_NCNameID ||
(object)typeName.Name == (object)_NMTOKENID ||
(object)typeName.Name == (object)_NMTOKENSID ||
(object)typeName.Name == (object)_negativeIntegerID ||
(object)typeName.Name == (object)_nonPositiveIntegerID ||
(object)typeName.Name == (object)_nonNegativeIntegerID ||
(object)typeName.Name == (object)_normalizedStringID ||
(object)typeName.Name == (object)_NOTATIONID ||
(object)typeName.Name == (object)_positiveIntegerID ||
(object)typeName.Name == (object)_tokenID)
return typeof(string);
else if ((object)typeName.Name == (object)_intID)
return typeof(int);
else if ((object)typeName.Name == (object)_booleanID)
return typeof(bool);
else if ((object)typeName.Name == (object)_shortID)
return typeof(short);
else if ((object)typeName.Name == (object)_longID)
return typeof(long);
else if ((object)typeName.Name == (object)_floatID)
return typeof(float);
else if ((object)typeName.Name == (object)_doubleID)
return typeof(double);
else if ((object)typeName.Name == (object)_decimalID)
return typeof(decimal);
else if ((object)typeName.Name == (object)_dateTimeID)
return typeof(DateTime);
else if ((object)typeName.Name == (object)_qnameID)
return typeof(XmlQualifiedName);
else if ((object)typeName.Name == (object)_dateID)
return typeof(DateTime);
else if ((object)typeName.Name == (object)_timeID)
return typeof(DateTime);
else if ((object)typeName.Name == (object)_hexBinaryID)
return typeof(byte[]);
else if ((object)typeName.Name == (object)_base64BinaryID)
return typeof(byte[]);
else if ((object)typeName.Name == (object)_unsignedByteID)
return typeof(byte);
else if ((object)typeName.Name == (object)_byteID)
return typeof(SByte);
else if ((object)typeName.Name == (object)_unsignedShortID)
return typeof(UInt16);
else if ((object)typeName.Name == (object)_unsignedIntID)
return typeof(UInt32);
else if ((object)typeName.Name == (object)_unsignedLongID)
return typeof(UInt64);
else
throw CreateUnknownTypeException(typeName);
}
else if ((object)typeName.Namespace == (object)_schemaNs2000ID || (object)typeName.Namespace == (object)_schemaNs1999ID)
{
if ((object)typeName.Name == (object)_stringID ||
(object)typeName.Name == (object)_anyURIID ||
(object)typeName.Name == (object)_durationID ||
(object)typeName.Name == (object)_ENTITYID ||
(object)typeName.Name == (object)_ENTITIESID ||
(object)typeName.Name == (object)_gDayID ||
(object)typeName.Name == (object)_gMonthID ||
(object)typeName.Name == (object)_gMonthDayID ||
(object)typeName.Name == (object)_gYearID ||
(object)typeName.Name == (object)_gYearMonthID ||
(object)typeName.Name == (object)_IDID ||
(object)typeName.Name == (object)_IDREFID ||
(object)typeName.Name == (object)_IDREFSID ||
(object)typeName.Name == (object)_integerID ||
(object)typeName.Name == (object)_languageID ||
(object)typeName.Name == (object)_nameID ||
(object)typeName.Name == (object)_NCNameID ||
(object)typeName.Name == (object)_NMTOKENID ||
(object)typeName.Name == (object)_NMTOKENSID ||
(object)typeName.Name == (object)_negativeIntegerID ||
(object)typeName.Name == (object)_nonPositiveIntegerID ||
(object)typeName.Name == (object)_nonNegativeIntegerID ||
(object)typeName.Name == (object)_normalizedStringID ||
(object)typeName.Name == (object)_NOTATIONID ||
(object)typeName.Name == (object)_positiveIntegerID ||
(object)typeName.Name == (object)_tokenID)
return typeof(string);
else if ((object)typeName.Name == (object)_intID)
return typeof(int);
else if ((object)typeName.Name == (object)_booleanID)
return typeof(bool);
else if ((object)typeName.Name == (object)_shortID)
return typeof(short);
else if ((object)typeName.Name == (object)_longID)
return typeof(long);
else if ((object)typeName.Name == (object)_floatID)
return typeof(float);
else if ((object)typeName.Name == (object)_doubleID)
return typeof(double);
else if ((object)typeName.Name == (object)_oldDecimalID)
return typeof(decimal);
else if ((object)typeName.Name == (object)_oldTimeInstantID)
return typeof(DateTime);
else if ((object)typeName.Name == (object)_qnameID)
return typeof(XmlQualifiedName);
else if ((object)typeName.Name == (object)_dateID)
return typeof(DateTime);
else if ((object)typeName.Name == (object)_timeID)
return typeof(DateTime);
else if ((object)typeName.Name == (object)_hexBinaryID)
return typeof(byte[]);
else if ((object)typeName.Name == (object)_byteID)
return typeof(SByte);
else if ((object)typeName.Name == (object)_unsignedShortID)
return typeof(UInt16);
else if ((object)typeName.Name == (object)_unsignedIntID)
return typeof(UInt32);
else if ((object)typeName.Name == (object)_unsignedLongID)
return typeof(UInt64);
else
throw CreateUnknownTypeException(typeName);
}
else if ((object)typeName.Namespace == (object)_schemaNonXsdTypesNsID)
{
if ((object)typeName.Name == (object)_charID)
return typeof(char);
else if ((object)typeName.Name == (object)_guidID)
return typeof(Guid);
else
throw CreateUnknownTypeException(typeName);
}
else if (throwOnUnknown)
throw CreateUnknownTypeException(typeName);
else
return null;
}