System.Xml.Xsl.Xslt.QilGenerator.CompileKeyMatch C# (CSharp) Method

CompileKeyMatch() private method

private CompileKeyMatch ( string pttrn ) : QilNode
pttrn string
return QilNode
        private QilNode CompileKeyMatch(string pttrn)
        {
            XPathScanner scanner;
            QilNode result;

            if (_keyMatchBuilder == null)
            {
                _keyMatchBuilder = new KeyMatchBuilder((IXPathEnvironment)this);
            }
            SetEnvironmentFlags(/*allowVariables:*/false, /*allowCurrent:*/false, /*allowKey:*/false);
            if (pttrn == null)
            {
                result = PhantomKeyMatch();
            }
            else
            {
                try
                {
                    scanner = new XPathScanner(pttrn);
                    result = _ptrnParser.Parse(scanner, _keyMatchBuilder);
                }
                catch (XslLoadException e)
                {
                    if (_xslVersion != XslVersion.ForwardsCompatible)
                    {
                        ReportErrorInXPath(/*[XT0340]*/e);
                    }
                    result = _f.Error(_f.String(e.Message));
                }
            }
            return result;
        }
QilGenerator