Mvp.Xml.XPointer.XPointerParser.GetSchema C# (CSharp) Метод

GetSchema() приватный статический Метод

private static GetSchema ( XPointerLexer lexer, IList parts ) : XPointerSchema.SchemaType
lexer XPointerLexer
parts IList
Результат XPointerSchema.SchemaType
        private static XPointerSchema.SchemaType GetSchema(XPointerLexer lexer, IList<PointerPart> parts)
        {
            string schemaNSURI;
            if (lexer.Prefix != String.Empty)
            {
                schemaNSURI = null;
                //resolve prefix
                for (int i = parts.Count - 1; i >= 0; i--)
                {
                    PointerPart part = parts[i];
                    if (part is XmlnsSchemaPointerPart)
                    {
                        XmlnsSchemaPointerPart xmlnsPart = (XmlnsSchemaPointerPart)part;
                        if (xmlnsPart.Prefix == lexer.Prefix)
                        {
                            schemaNSURI = xmlnsPart.Uri;
                            break;
                        }
                    }
                }
                if (schemaNSURI == null)
                    //No binding for the prefix - ignore pointer part
                    return XPointerSchema.SchemaType.Unknown;
            }
            else
                schemaNSURI = String.Empty;
            string schemaQName = schemaNSURI + ':' + lexer.NCName;
            return _schemas.ContainsKey(schemaQName) ? _schemas[schemaQName] : XPointerSchema.SchemaType.Unknown;
        }