public override ArrayList ExpectedParticles(ValidationState context, bool isRequiredOnly, XmlSchemaSet schemaSet)
        {
            ArrayList particles = new ArrayList();

            if (context.RunningPositions != null)
            {
                List <RangePositionInfo> runningPositions = context.RunningPositions;
                BitSet set = new BitSet(this.positions.Count);
                for (int i = context.CurrentState.NumberOfRunningPos - 1; i >= 0; i--)
                {
                    set.Or(runningPositions[i].curpos);
                }
                for (int j = set.NextSet(-1); j != -1; j = set.NextSet(j))
                {
                    if (this.positions[j].symbol >= 0)
                    {
                        XmlSchemaParticle p = this.positions[j].particle as XmlSchemaParticle;
                        if (p != null)
                        {
                            ContentValidator.AddParticleToExpected(p, schemaSet, particles);
                        }
                    }
                }
            }
            return(particles);
        }
示例#2
0
        public override ArrayList ExpectedParticles(ValidationState context, bool isRequiredOnly, XmlSchemaSet schemaSet)
        {
            ArrayList particles = new ArrayList();

            foreach (DictionaryEntry entry in this.elements)
            {
                if (!context.AllElementsSet[(int)entry.Value] && (!isRequiredOnly || this.isRequired[(int)entry.Value]))
                {
                    ContentValidator.AddParticleToExpected(this.particles[(int)entry.Value] as XmlSchemaParticle, schemaSet, particles);
                }
            }
            return(particles);
        }
示例#3
0
        public override ArrayList ExpectedParticles(ValidationState context, bool isRequiredOnly, XmlSchemaSet schemaSet)
        {
            ArrayList particles = new ArrayList();
            BitSet    set       = context.CurPos[context.CurrentState.CurPosIndex];

            for (int i = set.NextSet(-1); i != -1; i = set.NextSet(i))
            {
                XmlSchemaParticle p = (XmlSchemaParticle)this.positions[i].particle;
                if (p != null)
                {
                    ContentValidator.AddParticleToExpected(p, schemaSet, particles);
                }
            }
            return(particles);
        }
        public override ArrayList ExpectedParticles(ValidationState context, bool isRequiredOnly, XmlSchemaSet schemaSet)
        {
            ArrayList particles = new ArrayList();

            int[] numArray = this.transitionTable[context.CurrentState.State];
            if (numArray != null)
            {
                for (int i = 0; i < (numArray.Length - 1); i++)
                {
                    if (numArray[i] != -1)
                    {
                        XmlSchemaParticle p = (XmlSchemaParticle)this.symbols.GetParticle(i);
                        if (p != null)
                        {
                            ContentValidator.AddParticleToExpected(p, schemaSet, particles);
                        }
                    }
                }
            }
            return(particles);
        }