internal override FSM MakeFSM(StateNameSource stateNames)
        {
            Dictionary <int, Transitions> transitions = new Dictionary <int, Transitions>();
            int start = stateNames.Next();
            int end   = stateNames.Next();

            transitions.Add(start, new Transitions(new SingleTransition(new WildCard(this.Namespaces, this.TargetNamespace), end)));
            FSM fsm = new FSM(start, new Set <int>(end), transitions);

            return(ImplementFSMCardinality(fsm, stateNames));
        }
Ejemplo n.º 2
0
        internal override FSM MakeFSM(StateNameSource stateNames)
        {
            Dictionary <int, Transitions> transitions = new Dictionary <int, Transitions>();
            int         start = stateNames.Next();
            int         end   = stateNames.Next();
            Transitions trans = new Transitions();

            if (!this.IsSubstitutionHead)
            {
                trans.Add(XName.Get(this.schemaName, base.PropertyNs), end);
            }
            else
            {
                foreach (XmlSchemaElement element in this.SubstitutionMembers)
                {
                    trans.Add(XName.Get(element.QualifiedName.Name, element.QualifiedName.Namespace), end);
                }
            }
            transitions.Add(start, trans);
            FSM fSM = base.ImplementFSMCardinality(new FSM(start, new Set <int>(end), transitions), stateNames);

            return(fSM);
        }
        internal override FSM MakeFSM(StateNameSource stateNames)
        {
            //Create a simple fsm with (0,(schemaName,1),{1})
            Dictionary <int, Transitions> transitions = new Dictionary <int, Transitions>();
            int         start = stateNames.Next();
            int         end   = stateNames.Next();
            Transitions trans = new Transitions();

            if (this.IsSubstitutionHead)
            {
                foreach (XmlSchemaElement element in SubstitutionMembers)
                {
                    trans.Add(XName.Get(element.QualifiedName.Name, element.QualifiedName.Namespace), end);
                }
            }
            else
            {
                trans.Add(XName.Get(schemaName, PropertyNs), end);
            }

            transitions.Add(start, trans);
            return(ImplementFSMCardinality(new FSM(start, new Set <int>(end), transitions), stateNames));
        }