System.Xml.Schema.XmlSchemaValidator.PrintExpectedElements C# (CSharp) Method

PrintExpectedElements() static private method

static private PrintExpectedElements ( ArrayList expected, bool getParticles ) : string
expected System.Collections.ArrayList
getParticles bool
return string
        internal static string PrintExpectedElements(ArrayList expected, bool getParticles)
        {
            if (getParticles)
            {
                string ContinuationString = SR.Format(SR.Sch_ContinuationString, new string[] { " " });
                XmlSchemaParticle currentParticle = null;
                XmlSchemaParticle nextParticle = null;
                XmlQualifiedName currentQName;
                ArrayList expectedNames = new ArrayList();
                StringBuilder builder = new StringBuilder();

                if (expected.Count == 1)
                {
                    nextParticle = expected[0] as XmlSchemaParticle;
                }
                else
                {
                    for (int i = 1; i < expected.Count; i++)
                    {
                        currentParticle = expected[i - 1] as XmlSchemaParticle;
                        nextParticle = expected[i] as XmlSchemaParticle;
                        currentQName = currentParticle.GetQualifiedName();
                        if (currentQName.Namespace != nextParticle.GetQualifiedName().Namespace)
                        {
                            expectedNames.Add(currentQName);
                            PrintNamesWithNS(expectedNames, builder);
                            expectedNames.Clear();
                            Debug.Assert(builder.Length != 0);
                            builder.Append(ContinuationString);
                        }
                        else
                        {
                            expectedNames.Add(currentQName);
                        }
                    }
                }
                //Add last one.
                expectedNames.Add(nextParticle.GetQualifiedName());
                PrintNamesWithNS(expectedNames, builder);

                return builder.ToString();
            }
            else
            {
                return PrintNames(expected);
            }
        }