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

LoadFallbacks() private method

private LoadFallbacks ( string instrName ) : List
instrName string
return List
        private List<XslNode> LoadFallbacks(string instrName)
        {
            _input.MoveToElement();
            ISourceLineInfo extElmLineInfo = _input.BuildNameLineInfo();
            List<XslNode> fallbacksArray = new List<XslNode>();
            // TODO: Unknown element can have NS declarations that will be in affect in fallback clouse.
            /* Process children */
            if (_input.MoveToFirstChild())
            {
                do
                {
                    if (_input.IsXsltKeyword(_atoms.Fallback))
                    {
                        ContextInfo ctxInfo = _input.GetAttributes();
                        fallbacksArray.Add(SetInfo(f.List(), LoadInstructions(), ctxInfo));
                    }
                    else
                    {
                        _input.SkipNode();
                    }
                } while (_input.MoveToNextSibling());
            }

            // Generate runtime error if there is no fallbacks
            if (fallbacksArray.Count == 0)
            {
                fallbacksArray.Add(
                    f.Error(XslLoadException.CreateMessage(extElmLineInfo, SR.Xslt_UnknownExtensionElement, instrName))
                );
            }
            return fallbacksArray;
        }