System.Xml.Schema.Datatype_QName.TryParseValue C# (CSharp) Méthode

TryParseValue() private méthode

private TryParseValue ( string s, XmlNameTable nameTable, IXmlNamespaceResolver nsmgr, object &typedValue ) : Exception
s string
nameTable System.Xml.XmlNameTable
nsmgr IXmlNamespaceResolver
typedValue object
Résultat System.Exception
        internal override Exception TryParseValue(string s, XmlNameTable nameTable, IXmlNamespaceResolver nsmgr, out object typedValue)
        {
            Exception exception;

            typedValue = null;

            if (s == null || s.Length == 0)
            {
                return new XmlSchemaException(SR.Sch_EmptyAttributeValue, string.Empty);
            }

            exception = qnameFacetsChecker.CheckLexicalFacets(ref s, this);
            if (exception != null) goto Error;

            XmlQualifiedName qname = null;
            try
            {
                string prefix;
                qname = XmlQualifiedName.Parse(s, nsmgr, out prefix);
            }
            catch (ArgumentException e)
            {
                exception = e;
                goto Error;
            }
            catch (XmlException e)
            {
                exception = e;
                goto Error;
            }

            exception = qnameFacetsChecker.CheckValueFacets(qname, this);
            if (exception != null) goto Error;

            typedValue = qname;

            return null;

        Error:
            return exception;
        }
    }