System.Data.XSDSchema.ParseDataType C# (CSharp) Method

ParseDataType() private method

private ParseDataType ( string dt ) : Type
dt string
return Type
        private Type ParseDataType(string dt)
        {
            if (!IsXsdType(dt))
            {
                if (_udSimpleTypes != null)
                {
                    XmlSchemaSimpleType simpleType = (XmlSchemaSimpleType)_udSimpleTypes[dt];
                    if (simpleType == null)
                    { // it is not named simple type, it is not  XSD type, it should be unsupported type like xs:token
                        throw ExceptionBuilder.UndefinedDatatype(dt);
                    }
                    SimpleType rootType = new SimpleType(simpleType);
                    while (rootType.BaseSimpleType != null)
                    {
                        rootType = rootType.BaseSimpleType;
                    }

                    return ParseDataType(rootType.BaseType);
                }
            }
            NameType nt = FindNameType(dt);
            return nt.type;
        }
        /*  later we may need such a function