System.Xml.Xsl.Xslt.XsltLoader.ParseModeAttribute C# (CSharp) Method

ParseModeAttribute() private method

private ParseModeAttribute ( int attNum ) : QilName
attNum int
return System.Xml.Xsl.Qil.QilName
        private QilName ParseModeAttribute(int attNum)
        {
            //Debug.Assert(
            //    input.IsXsltKeyword(atoms.ApplyTemplates) ||
            //    input.IsXsltKeyword(atoms.Template) && V1
            //);
            if (!_input.MoveToXsltAttribute(attNum, "mode"))
            {
                return nullMode;
            }
            // mode is always optional attribute
            _compiler.EnterForwardsCompatible();
            string qname = _input.Value;
            QilName mode;
            if (!V1 && qname == "#default")
            {
                mode = nullMode;
            }
            else if (!V1 && qname == "#current")
            {
                ReportNYI("xsl:apply-templates[@mode='#current']");
                mode = nullMode;
            }
            else if (!V1 && qname == "#all")
            {
                ReportError(SR.Xslt_ModeListAll);
                mode = nullMode;
            }
            else
            {
                mode = CreateXPathQName(qname);
            }
            if (!_compiler.ExitForwardsCompatible(_input.ForwardCompatibility))
            {
                mode = nullMode;
            }
            return mode;
        }