System\Xml\Schema\XsdBuilder.cs (295)
89public State CurrentState;
90public State[] NextStates; // possible next states
97State state,
98State[] nextStates,
139private static readonly State[] SchemaElement = {
140State.Schema};
141private static readonly State[] SchemaSubelements = {
142State.Annotation, State.Include, State.Import, State.Redefine,
143State.ComplexType, State.SimpleType, State.Element, State.Attribute,
144State.AttributeGroup, State.Group, State.Notation};
145private static readonly State[] AttributeSubelements = {
146State.Annotation, State.SimpleType};
147private static readonly State[] ElementSubelements = {
148State.Annotation, State.SimpleType, State.ComplexType,
149State.Unique, State.Key, State.KeyRef};
150private static readonly State[] ComplexTypeSubelements = {
151State.Annotation, State.SimpleContent, State.ComplexContent,
152State.GroupRef, State.All, State.Choice, State.Sequence,
153State.Attribute, State.AttributeGroupRef, State.AnyAttribute};
154private static readonly State[] SimpleContentSubelements = {
155State.Annotation, State.SimpleContentRestriction, State.SimpleContentExtension };
156private static readonly State[] SimpleContentExtensionSubelements = {
157State.Annotation, State.Attribute, State.AttributeGroupRef, State.AnyAttribute};
158private static readonly State[] SimpleContentRestrictionSubelements = {
159State.Annotation, State.SimpleType,
160State.Enumeration, State.Length, State.MaxExclusive, State.MaxInclusive, State.MaxLength, State.MinExclusive,
161State.MinInclusive, State.MinLength, State.Pattern, State.TotalDigits, State.FractionDigits, State.WhiteSpace,
162State.Attribute, State.AttributeGroupRef, State.AnyAttribute};
163private static readonly State[] ComplexContentSubelements = {
164State.Annotation, State.ComplexContentRestriction, State.ComplexContentExtension };
165private static readonly State[] ComplexContentExtensionSubelements = {
166State.Annotation, State.GroupRef, State.All, State.Choice, State.Sequence,
167State.Attribute, State.AttributeGroupRef, State.AnyAttribute};
168private static readonly State[] ComplexContentRestrictionSubelements = {
169State.Annotation, State.GroupRef, State.All, State.Choice, State.Sequence,
170State.Attribute, State.AttributeGroupRef, State.AnyAttribute};
171private static readonly State[] SimpleTypeSubelements = {
172State.Annotation, State.SimpleTypeList, State.SimpleTypeRestriction, State.SimpleTypeUnion};
173private static readonly State[] SimpleTypeRestrictionSubelements = {
174State.Annotation, State.SimpleType,
175State.Enumeration, State.Length, State.MaxExclusive, State.MaxInclusive, State.MaxLength, State.MinExclusive,
176State.MinInclusive, State.MinLength, State.Pattern, State.TotalDigits, State.FractionDigits, State.WhiteSpace};
177private static readonly State[] SimpleTypeListSubelements = {
178State.Annotation, State.SimpleType};
179private static readonly State[] SimpleTypeUnionSubelements = {
180State.Annotation, State.SimpleType};
181private static readonly State[] RedefineSubelements = {
182State.Annotation, State.AttributeGroup, State.ComplexType, State.Group, State.SimpleType };
183private static readonly State[] AttributeGroupSubelements = {
184State.Annotation, State.Attribute, State.AttributeGroupRef, State.AnyAttribute};
185private static readonly State[] GroupSubelements = {
186State.Annotation, State.All, State.Choice, State.Sequence};
187private static readonly State[] AllSubelements = {
188State.Annotation, State.Element};
189private static readonly State[] ChoiceSequenceSubelements = {
190State.Annotation, State.Element, State.GroupRef, State.Choice, State.Sequence, State.Any};
191private static readonly State[] IdentityConstraintSubelements = {
192State.Annotation, State.Selector, State.Field};
193private static readonly State[] AnnotationSubelements = {
194State.AppInfo, State.Documentation};
195private static readonly State[] AnnotatedSubelements = {
196State.Annotation};
404/* Root */ new XsdEntry( SchemaNames.Token.Empty, State.Root, SchemaElement, null,
408/* Schema */ new XsdEntry( SchemaNames.Token.XsdSchema, State.Schema, SchemaSubelements, SchemaAttributes,
412/* Annotation */ new XsdEntry( SchemaNames.Token.XsdAnnotation, State.Annotation, AnnotationSubelements, AnnotationAttributes,
416/* Include */ new XsdEntry( SchemaNames.Token.XsdInclude, State.Include, AnnotatedSubelements, IncludeAttributes,
420/* Import */ new XsdEntry( SchemaNames.Token.XsdImport, State.Import, AnnotatedSubelements, ImportAttributes,
424/* Element */ new XsdEntry( SchemaNames.Token.XsdElement, State.Element, ElementSubelements, ElementAttributes,
428/* Attribute */ new XsdEntry( SchemaNames.Token.XsdAttribute, State.Attribute, AttributeSubelements, AttributeAttributes,
432/* AttributeGroup */ new XsdEntry( SchemaNames.Token.xsdAttributeGroup, State.AttributeGroup, AttributeGroupSubelements, AttributeGroupAttributes,
436/* AttributeGroupRef */ new XsdEntry( SchemaNames.Token.xsdAttributeGroup, State.AttributeGroupRef, AnnotatedSubelements, AttributeGroupRefAttributes,
440/* AnyAttribute */ new XsdEntry( SchemaNames.Token.XsdAnyAttribute, State.AnyAttribute, AnnotatedSubelements, AnyAttributeAttributes,
444/* Group */ new XsdEntry( SchemaNames.Token.XsdGroup, State.Group, GroupSubelements, GroupAttributes,
448/* GroupRef */ new XsdEntry( SchemaNames.Token.XsdGroup, State.GroupRef, AnnotatedSubelements, GroupRefAttributes,
452/* All */ new XsdEntry( SchemaNames.Token.XsdAll, State.All, AllSubelements, ParticleAttributes,
456/* Choice */ new XsdEntry( SchemaNames.Token.XsdChoice, State.Choice, ChoiceSequenceSubelements, ParticleAttributes,
460/* Sequence */ new XsdEntry( SchemaNames.Token.XsdSequence, State.Sequence, ChoiceSequenceSubelements, ParticleAttributes,
464/* Any */ new XsdEntry( SchemaNames.Token.XsdAny, State.Any, AnnotatedSubelements, AnyAttributes,
468/* Notation */ new XsdEntry( SchemaNames.Token.XsdNotation, State.Notation, AnnotatedSubelements, NotationAttributes,
472/* SimpleType */ new XsdEntry( SchemaNames.Token.XsdSimpleType, State.SimpleType, SimpleTypeSubelements, SimpleTypeAttributes,
476/* ComplexType */ new XsdEntry( SchemaNames.Token.XsdComplexType, State.ComplexType, ComplexTypeSubelements, ComplexTypeAttributes,
480/* ComplexContent */ new XsdEntry( SchemaNames.Token.XsdComplexContent, State.ComplexContent, ComplexContentSubelements, ComplexContentAttributes,
484/* ComplexContentRestriction */ new XsdEntry( SchemaNames.Token.XsdComplexContentRestriction, State.ComplexContentRestriction, ComplexContentRestrictionSubelements, ComplexContentRestrictionAttributes,
488/* ComplexContentExtension */ new XsdEntry( SchemaNames.Token.XsdComplexContentExtension, State.ComplexContentExtension, ComplexContentExtensionSubelements, ComplexContentExtensionAttributes,
492/* SimpleContent */ new XsdEntry( SchemaNames.Token.XsdSimpleContent, State.SimpleContent, SimpleContentSubelements, SimpleContentAttributes,
496/* SimpleContentExtension */ new XsdEntry( SchemaNames.Token.XsdSimpleContentExtension, State.SimpleContentExtension, SimpleContentExtensionSubelements, SimpleContentExtensionAttributes,
500/* SimpleContentRestriction */ new XsdEntry( SchemaNames.Token.XsdSimpleContentRestriction, State.SimpleContentRestriction, SimpleContentRestrictionSubelements, SimpleContentRestrictionAttributes,
504/* SimpleTypeUnion */ new XsdEntry( SchemaNames.Token.XsdSimpleTypeUnion, State.SimpleTypeUnion, SimpleTypeUnionSubelements, SimpleTypeUnionAttributes,
508/* SimpleTypeList */ new XsdEntry( SchemaNames.Token.XsdSimpleTypeList, State.SimpleTypeList, SimpleTypeListSubelements, SimpleTypeListAttributes,
512/* SimpleTypeRestriction */ new XsdEntry( SchemaNames.Token.XsdSimpleTypeRestriction, State.SimpleTypeRestriction, SimpleTypeRestrictionSubelements, SimpleTypeRestrictionAttributes,
516/* Unique */ new XsdEntry( SchemaNames.Token.XsdUnique, State.Unique, IdentityConstraintSubelements, IdentityConstraintAttributes,
520/* Key */ new XsdEntry( SchemaNames.Token.XsdKey, State.Key, IdentityConstraintSubelements, IdentityConstraintAttributes,
524/* KeyRef */ new XsdEntry( SchemaNames.Token.XsdKeyref, State.KeyRef, IdentityConstraintSubelements, IdentityConstraintAttributes,
528/* Selector */ new XsdEntry( SchemaNames.Token.XsdSelector, State.Selector, AnnotatedSubelements, SelectorAttributes,
532/* Field */ new XsdEntry( SchemaNames.Token.XsdField, State.Field, AnnotatedSubelements, FieldAttributes,
536/* MinExclusive */ new XsdEntry( SchemaNames.Token.XsdMinExclusive, State.MinExclusive, AnnotatedSubelements, FacetAttributes,
540/* MinInclusive */ new XsdEntry( SchemaNames.Token.XsdMinInclusive, State.MinInclusive, AnnotatedSubelements, FacetAttributes,
544/* MaxExclusive */ new XsdEntry( SchemaNames.Token.XsdMaxExclusive, State.MaxExclusive, AnnotatedSubelements, FacetAttributes,
548/* MaxInclusive */ new XsdEntry( SchemaNames.Token.XsdMaxInclusive, State.MaxInclusive, AnnotatedSubelements, FacetAttributes,
552/* TotalDigits */ new XsdEntry( SchemaNames.Token.XsdTotalDigits, State.TotalDigits, AnnotatedSubelements, FacetAttributes,
556/* FractionDigits */ new XsdEntry( SchemaNames.Token.XsdFractionDigits, State.FractionDigits, AnnotatedSubelements, FacetAttributes,
560/* Length */ new XsdEntry( SchemaNames.Token.XsdLength, State.Length, AnnotatedSubelements, FacetAttributes,
564/* MinLength */ new XsdEntry( SchemaNames.Token.XsdMinLength, State.MinLength, AnnotatedSubelements, FacetAttributes,
568/* MaxLength */ new XsdEntry( SchemaNames.Token.XsdMaxLength, State.MaxLength, AnnotatedSubelements, FacetAttributes,
572/* Enumeration */ new XsdEntry( SchemaNames.Token.XsdEnumeration, State.Enumeration, AnnotatedSubelements, FacetAttributes,
576/* Pattern */ new XsdEntry( SchemaNames.Token.XsdPattern, State.Pattern, AnnotatedSubelements, FacetAttributes,
580/* WhiteSpace */ new XsdEntry( SchemaNames.Token.XsdWhitespace, State.WhiteSpace, AnnotatedSubelements, FacetAttributes,
584/* AppInfo */ new XsdEntry( SchemaNames.Token.XsdAppInfo, State.AppInfo, null, AppinfoAttributes,
588/* Documentation */ new XsdEntry( SchemaNames.Token.XsdDocumentation, State.Documentation, null, DocumentationAttributes,
592/* Redefine */ new XsdEntry( SchemaNames.Token.XsdRedefine, State.Redefine, RedefineSubelements, RedefineAttributes,
812private XmlSchemaObject GetContainer(State state) {
815case State.Root:
817case State.Schema:
820case State.Annotation:
823case State.Include:
826case State.Import:
829case State.Element:
832case State.Attribute:
835case State.AttributeGroup:
838case State.AttributeGroupRef:
841case State.AnyAttribute:
844case State.Group:
847case State.GroupRef:
850case State.All:
853case State.Choice:
856case State.Sequence:
859case State.Any:
862case State.Notation:
865case State.SimpleType:
868case State.ComplexType:
871case State.ComplexContent:
874case State.ComplexContentExtension:
877case State.ComplexContentRestriction:
880case State.SimpleContent:
883case State.SimpleContentExtension:
886case State.SimpleContentRestriction:
889case State.SimpleTypeUnion:
892case State.SimpleTypeList:
895case State.SimpleTypeRestriction:
898case State.Unique:
899case State.Key:
900case State.KeyRef:
903case State.Selector:
904case State.Field:
907case State.MinExclusive:
908case State.MinInclusive:
909case State.MaxExclusive:
910case State.MaxInclusive:
911case State.TotalDigits:
912case State.FractionDigits:
913case State.Length:
914case State.MinLength:
915case State.MaxLength:
916case State.Enumeration:
917case State.Pattern:
918case State.WhiteSpace:
921case State.AppInfo:
924case State.Documentation:
927case State.Redefine:
937private void SetContainer(State state, object container) {
939case State.Root:
941case State.Schema:
943case State.Annotation:
946case State.Include:
949case State.Import:
952case State.Element:
955case State.Attribute:
958case State.AttributeGroup:
961case State.AttributeGroupRef:
964case State.AnyAttribute:
967case State.Group:
970case State.GroupRef:
973case State.All:
976case State.Choice:
979case State.Sequence:
982case State.Any:
985case State.Notation:
988case State.SimpleType:
991case State.ComplexType:
994case State.ComplexContent:
997case State.ComplexContentExtension:
1000case State.ComplexContentRestriction:
1003case State.SimpleContent:
1006case State.SimpleContentExtension:
1009case State.SimpleContentRestriction:
1012case State.SimpleTypeUnion:
1015case State.SimpleTypeList:
1018case State.SimpleTypeRestriction:
1021case State.Unique:
1022case State.Key:
1023case State.KeyRef:
1026case State.Selector:
1027case State.Field:
1030case State.MinExclusive:
1031case State.MinInclusive:
1032case State.MaxExclusive:
1033case State.MaxInclusive:
1034case State.TotalDigits:
1035case State.FractionDigits:
1036case State.Length:
1037case State.MinLength:
1038case State.MaxLength:
1039case State.Enumeration:
1040case State.Pattern:
1041case State.WhiteSpace:
1044case State.AppInfo:
1047case State.Documentation:
1050case State.Redefine: