package org.whole.lang.xsd.codebase;
import org.whole.lang.builders.IBuilderOperation;
import org.whole.lang.templates.AbstractTemplateFactory;
public class ModelToXmlSchemaQuery extends AbstractTemplateFactory<org.whole.lang.queries.model.Block> {
public void apply(IBuilderOperation op) {
org.whole.lang.queries.builders.IQueriesBuilder b0 = (org.whole.lang.queries.builders.IQueriesBuilder) op.wGetBuilder(org.whole.lang.queries.reflect.QueriesLanguageKit.URI);
b0.Block_(22);
org.whole.lang.commons.builders.ICommonsBuilder b1 = (org.whole.lang.commons.builders.ICommonsBuilder) op.wGetBuilder(org.whole.lang.commons.reflect.CommonsLanguageKit.URI);
b1.SameStageFragment_();
org.whole.lang.workflows.builders.IWorkflowsBuilder b2 = (org.whole.lang.workflows.builders.IWorkflowsBuilder) op.wGetBuilder(org.whole.lang.workflows.reflect.WorkflowsLanguageKit.URI);
b2.InvokeOperation_();
b2.Text("normalize model");
b1.SameStageFragment_();
b0.SelfStep();
b1._SameStageFragment();
b2.Operation("NORMALIZER");
b1.Resolver();
b2._InvokeOperation();
b1._SameStageFragment();
b0.Filter_();
b0.StringLiteral("xsd");
b0.VariableTest("XML_SCHEMA_NS_PREFIX");
b0._Filter();
b0.Filter_();
b0.FeatureStep("http://lang.whole.org/Models#declarations");
b0.VariableTest("allDeclarations");
b0._Filter();
b0.Filter_();
b0.Union_();
b0.Expressions_(1);
b0.Path_(3);
b0.VariableRefStep("allDeclarations");
b0.Filter_();
b0.ChildStep();
b0.Not_();
b0.ExpressionTest_();
b0.Path_(2);
b0.FeatureStep("http://lang.whole.org/Models#modifiers");
b0.Filter_();
b0.ChildStep();
b0.ExpressionTest_();
b1.StageUpFragment_();
org.whole.lang.models.builders.IModelsBuilder b3 = (org.whole.lang.models.builders.IModelsBuilder) op.wGetBuilder(org.whole.lang.models.reflect.ModelsLanguageKit.URI);
b3.EntityModifier("abstract");
b1._StageUpFragment();
b0._ExpressionTest();
b0._Filter();
b0._Path();
b0._ExpressionTest();
b0._Not();
b0._Filter();
b0.FeatureStep("name");
b0._Path();
b0._Expressions();
b1.Resolver();
b0._Union();
b0.VariableTest("allConcreteTypes");
b0._Filter();
b0.Filter_();
b0.Union_();
b0.Expressions_(1);
b0.Path_(4);
b0.VariableRefStep("allDeclarations");
b0.ChildStep();
b0.FeatureStep("http://lang.whole.org/Models#types");
b0.ChildStep();
b0._Path();
b0._Expressions();
b1.Resolver();
b0._Union();
b0.VariableTest("allSuperTypes");
b0._Filter();
b0.Filter_();
b0.Except_();
b0.Expressions_(2);
b0.Path_(3);
b0.VariableRefStep("allDeclarations");
b0.ChildStep();
b0.FeatureStep("http://lang.whole.org/Models#name");
b0._Path();
b0.Path_(2);
b0.VariableRefStep("allConcreteTypes");
b0.ChildStep();
b0._Path();
b0._Expressions();
b1.Resolver();
b0._Except();
b0.VariableTest("allDeclaredAbstractTypes");
b0._Filter();
b0.Filter_();
b0.Except_();
b0.Expressions_(2);
b0.Path_(3);
b0.VariableRefStep("allDeclarations");
b0.Filter_();
b0.ChildStep();
b0.And_(2);
b0.TypeTest("http://lang.whole.org/Models#SimpleEntity");
b0.Not_();
b0.ExpressionTest_();
b0.Path_(2);
b0.FeatureStep("http://lang.whole.org/Models#features");
b0.ChildStep();
b0._Path();
b0._ExpressionTest();
b0._Not();
b0._And();
b0._Filter();
b0.FeatureStep("http://lang.whole.org/Models#name");
b0._Path();
b0.Path_(2);
b0.VariableRefStep("allConcreteTypes");
b0.ChildStep();
b0._Path();
b0._Expressions();
b1.Resolver();
b0._Except();
b0.VariableTest("allDeclaredMarkerTypes");
b0._Filter();
b0.Filter_();
b0.Except_();
b0.Expressions_(2);
b0.Path_(2);
b0.VariableRefStep("allSuperTypes");
b0.ChildStep();
b0._Path();
b0.Path_(2);
b0.VariableRefStep("allConcreteTypes");
b0.ChildStep();
b0._Path();
b0._Expressions();
b1.Resolver();
b0._Except();
b0.VariableTest("allImplicitMarkerTypes");
b0._Filter();
b0.Filter_();
b0.Union_();
b0.Expressions_(2);
b0.Path_(2);
b0.VariableRefStep("allDeclaredMarkerTypes");
b0.ChildStep();
b0._Path();
b0.Path_(2);
b0.VariableRefStep("allImplicitMarkerTypes");
b0.ChildStep();
b0._Path();
b0._Expressions();
b1.Resolver();
b0._Union();
b0.VariableTest("allMarkerTypes");
b0._Filter();
b0.Filter_();
b0.Union_();
b0.Expressions_(2);
b0.Path_(2);
b0.VariableRefStep("allDeclaredAbstractTypes");
b0.ChildStep();
b0._Path();
b0.Path_(2);
b0.VariableRefStep("allMarkerTypes");
b0.ChildStep();
b0._Path();
b0._Expressions();
b1.Resolver();
b0._Union();
b0.VariableTest("allAbstractTypes");
b0._Filter();
b0.QueryDeclaration_();
b0.Name("isOptional");
b1.Resolver();
b0.Choose_(2);
b0.If_();
b0.ExpressionTest_();
b0.Path_(2);
b0.FeatureStep("http://lang.whole.org/Models#modifiers");
b0.Filter_();
b0.ChildStep();
b0.ExpressionTest_();
b1.StageUpFragment_();
b3.FeatureModifier("optional");
b1._StageUpFragment();
b0._ExpressionTest();
b0._Filter();
b0._Path();
b0._ExpressionTest();
b0.BooleanLiteral(true);
b0._If();
b0.Do_();
b0.BooleanLiteral(false);
b0._Do();
b0._Choose();
b0._QueryDeclaration();
b0.QueryDeclaration_();
b0.Name("isAbstract");
b0.Names_(1);
b0.Name("entityName");
b0._Names();
b0.Path_(2);
b0.VariableRefStep("allAbstractTypes");
b0.Filter_();
b0.ChildStep();
b0.VariableTest("entityName");
b0._Filter();
b0._Path();
b0._QueryDeclaration();
b0.QueryDeclaration_();
b0.Name("allSubTypes");
b0.Names_(2);
b0.Name("entityName");
b0.Name("subTypeName");
b0._Names();
b0.Path_(3);
b0.VariableRefStep("allDeclarations");
b0.Filter_();
b0.ChildStep();
b0.ExpressionTest_();
b0.Path_(2);
b0.FeatureStep("http://lang.whole.org/Models#types");
b0.Filter_();
b0.ChildStep();
b0.VariableTest("entityName");
b0._Filter();
b0._Path();
b0._ExpressionTest();
b0._Filter();
b0.Filter_();
b0.FeatureStep("http://lang.whole.org/Models#name");
b0.VariableTest("subTypeName");
b0._Filter();
b0._Path();
b0._QueryDeclaration();
b0.QueryDeclaration_();
b0.Name("allImplementations");
b0.Names_(1);
b0.Name("entityName");
b0._Names();
b0.Filter_();
b0.Choose_(2);
b0.If_();
b0.ExpressionTest_();
b0.Call_();
b0.Name("isAbstract");
b0.Expressions_(1);
b0.VariableRefStep("entityName");
b0._Expressions();
b0._Call();
b0._ExpressionTest();
b0.Path_(2);
b0.Call_();
b0.Name("allSubTypes");
b0.Expressions_(1);
b0.VariableRefStep("entityName");
b0._Expressions();
b0._Call();
b0.Call_();
b0.Name("allImplementations");
b0.Expressions_(1);
b0.SelfStep();
b0._Expressions();
b0._Call();
b0._Path();
b0._If();
b0.VariableRefStep("entityName");
b0._Choose();
b0.KindTest("DATA");
b0._Filter();
b0._QueryDeclaration();
b0.QueryDeclaration_();
b0.Name("toElementName");
b0.Names_(1);
b0.Name("entityName");
b0._Names();
b1.SameStageFragment_();
b2.InvokeJavaClassMethod_();
b2.Text("calculate element name");
b1.Resolver();
b1.Resolver();
b2.StringLiteral("org.whole.lang.util.StringUtils");
b2.StringLiteral("toLowerCap(java.lang.String)");
b2.Expressions_(1);
b2.Variable("entityName");
b2._Expressions();
b2._InvokeJavaClassMethod();
b1._SameStageFragment();
b0._QueryDeclaration();
b0.QueryDeclaration_();
b0.Name("createElementRef");
b0.Names_(2);
b0.Name("entityName");
b0.Name("isOptional");
b0._Names();
b0.Block_(2);
b0.Filter_();
b0.BooleanLiteral(false);
b0.VariableTest("isOptional");
b0._Filter();
b1.StageUpFragment_();
org.whole.lang.xsd.builders.IXsdBuilder b4 = (org.whole.lang.xsd.builders.IXsdBuilder) op.wGetBuilder(org.whole.lang.xsd.reflect.XsdLanguageKit.URI);
b4.ElementRef_();
b4.NamespaceDecls_(0);
b4._NamespaceDecls();
b1.Resolver();
b1.Resolver();
b1.StageDownFragment_();
b0.If_();
b0.ExpressionTest_();
b0.VariableRefStep("isOptional");
b0._ExpressionTest();
b1.StageUpFragment_();
b4.Bounded(0);
b1._StageUpFragment();
b0._If();
b1._StageDownFragment();
b1.Resolver();
b1.StageDownFragment_();
b0.Call_();
b0.Name("toElementName");
b0.Expressions_(1);
b0.VariableRefStep("entityName");
b0._Expressions();
b0._Call();
b1._StageDownFragment();
b1.Resolver();
b4._ElementRef();
b1._StageUpFragment();
b0._Block();
b0._QueryDeclaration();
b0.QueryDeclaration_();
b0.Name("createModelGroupRef");
b0.Names_(2);
b0.Name("entityName");
b0.Name("isOptional");
b0._Names();
b0.Block_(2);
b0.Filter_();
b0.BooleanLiteral(false);
b0.VariableTest("isOptional");
b0._Filter();
b1.StageUpFragment_();
b4.ModelGroupRef_();
b4.NamespaceDecls_(0);
b4._NamespaceDecls();
b1.Resolver();
b1.Resolver();
b1.StageDownFragment_();
b0.If_();
b0.ExpressionTest_();
b0.VariableRefStep("isOptional");
b0._ExpressionTest();
b1.StageUpFragment_();
b4.Bounded(0);
b1._StageUpFragment();
b0._If();
b1._StageDownFragment();
b1.Resolver();
b1.StageDownFragment_();
b0.VariableRefStep("entityName");
b1._StageDownFragment();
b1.Resolver();
b4._ModelGroupRef();
b1._StageUpFragment();
b0._Block();
b0._QueryDeclaration();
b0.QueryDeclaration_();
b0.Name("createElemenMapping");
b0.Names_(4);
b0.Name("context");
b0.Name("name");
b0.Name("type");
b0.Name("feature");
b0._Names();
b1.StageUpFragment_();
org.whole.lang.xsd.mapping.builders.IMappingBuilder b5 = (org.whole.lang.xsd.mapping.builders.IMappingBuilder) op.wGetBuilder(org.whole.lang.xsd.mapping.reflect.MappingLanguageKit.URI);
b5.ElementMapping_();
b1.Variable_();
b1.VarType("http://xsd.lang.whole.org/Mapping#URI");
b1.VarName("context");
b1.Quantifier("!");
b1._Variable();
b1.Variable_();
b1.VarType("http://xsd.lang.whole.org/Mapping#NCName");
b1.VarName("name");
b1.Quantifier("!");
b1._Variable();
b1.Variable_();
b1.VarType("http://xsd.lang.whole.org/Mapping#URI");
b1.VarName("type");
b1.Quantifier("!");
b1._Variable();
b1.StageDownFragment_();
b0.Path_(1);
b0.VariableRefStep("feature");
b0._Path();
b1._StageDownFragment();
b5._ElementMapping();
b1._StageUpFragment();
b0._QueryDeclaration();
b0.QueryDeclaration_();
b0.Name("createElemenMappings");
b0.Names_(3);
b0.Name("context");
b0.Name("type");
b0.Name("feature");
b0._Names();
b0.Choose_(2);
b0.If_();
b0.And_(2);
b0.Not_();
b0.ExpressionTest_();
b0.Call_();
b0.Name("isAbstract");
b0.Expressions_(1);
b0.VariableRefStep("type");
b0._Expressions();
b0._Call();
b0._ExpressionTest();
b0._Not();
b0.ExpressionTest_();
b0.Path_(1);
b0.VariableRefStep("feature");
b0._Path();
b0._ExpressionTest();
b0._And();
b0.Call_();
b0.Name("createElemenMapping");
b0.Expressions_(4);
b0.VariableRefStep("context");
b0.VariableRefStep("feature");
b0.VariableRefStep("type");
b0.Path_(1);
b0.VariableRefStep("feature");
b0._Path();
b0._Expressions();
b0._Call();
b0._If();
b0.For_();
b0.Call_();
b0.Name("allImplementations");
b0.Expressions_(1);
b0.VariableRefStep("type");
b0._Expressions();
b0._Call();
b0.Call_();
b0.Name("createElemenMapping");
b0.Expressions_(4);
b0.VariableRefStep("context");
b0.Call_();
b0.Name("toElementName");
b0.Expressions_(1);
b0.SelfStep();
b0._Expressions();
b0._Call();
b0.SelfStep();
b0.Path_(1);
b0.VariableRefStep("feature");
b0._Path();
b0._Expressions();
b0._Call();
b0._For();
b0._Choose();
b0._QueryDeclaration();
b0.Filter_();
b0.FeatureStep("http://lang.whole.org/Models#name");
b0.VariableTest("modelName");
b0._Filter();
b0.Filter_();
b0.FeatureStep("http://lang.whole.org/Models#uri");
b0.VariableTest("languageURI");
b0._Filter();
b0.Select_();
b0.Tuple_(2);
b0.Filter_();
b1.StageUpFragment_();
b4.Schema_();
b4.NamespaceDecls_(2);
b4.NamespaceDecl_();
b1.Resolver();
b1.Variable_();
b1.VarType("http://www.w3.org/2001/XMLSchema#AnyURI");
b1.VarName("languageURI");
b1.Quantifier("!");
b1._Variable();
b4._NamespaceDecl();
b4.NamespaceDecl_();
b1.Variable_();
b1.VarType("http://www.w3.org/2001/XMLSchema#Name");
b1.VarName("XML_SCHEMA_NS_PREFIX");
b1.Quantifier("!");
b1._Variable();
b4.AnyURI("http://www.w3.org/2001/XMLSchema");
b4._NamespaceDecl();
b4._NamespaceDecls();
b1.Resolver();
b1.Resolver();
b1.Variable_();
b1.VarType("http://www.w3.org/2001/XMLSchema#AnyURI");
b1.VarName("languageURI");
b1.Quantifier("!");
b1._Variable();
b1.Resolver();
b1.Resolver();
b1.Resolver();
b4.Qualify("qualified");
b1.Resolver();
b1.Resolver();
b4.SchemaDirectives_(0);
b4._SchemaDirectives();
b4.SchemaComponents_(2);
b1.InlineVariable_();
b1.VarType("http://www.w3.org/2001/XMLSchema#SchemaComponent");
b1.VarName("elementDecl");
b1.Quantifier("*");
b1._InlineVariable();
b1.Variable_();
b1.VarType("http://www.w3.org/2001/XMLSchema#SchemaComponent");
b1.VarName("modelGroupDef");
b1.Quantifier("*");
b1._Variable();
b4._SchemaComponents();
b4._Schema();
b1._StageUpFragment();
b0.VariableTest("schema");
b0._Filter();
b0.Filter_();
b1.StageUpFragment_();
b5.MappingStrategy_();
b1.Variable_();
b1.VarType("http://xsd.lang.whole.org/Mapping#URI");
b1.VarName("languageURI");
b1.Quantifier("!");
b1._Variable();
b1.Variable_();
b1.VarType("http://xsd.lang.whole.org/Mapping#URI");
b1.VarName("schemaLocation");
b1.Quantifier("!");
b1._Variable();
b5.BooleanType(true);
b5.BooleanType(true);
b5.BooleanType(false);
b1.Resolver();
b1.Resolver();
b5.Mappings_(1);
b1.InlineVariable_();
b1.VarType("http://xsd.lang.whole.org/Mapping#Mapping");
b1.VarName("mappings");
b1.Quantifier("*");
b1._InlineVariable();
b5._Mappings();
b5.DataTypes_(1);
b1.Variable_();
b1.VarType("http://xsd.lang.whole.org/Mapping#DataType");
b1.VarName("dataType");
b1.Quantifier("*");
b1._Variable();
b5._DataTypes();
b5._MappingStrategy();
b1._StageUpFragment();
b0.VariableTest("mapping");
b0._Filter();
b0._Tuple();
b0.SelfStep();
b0.Sequence_(5);
b0.Filter_();
b0.Addition_();
b0.VariableRefStep("modelName");
b0.StringLiteral(".xsd");
b0._Addition();
b0.VariableTest("schemaLocation");
b0._Filter();
b0.Select_();
b0.Filter_();
b1.StageUpFragment_();
b5.Mappings_(2);
b5.RootMapping_();
b1.Variable_();
b1.VarType("http://xsd.lang.whole.org/Mapping#NCName");
b1.VarName("elementName");
b1.Quantifier("!");
b1._Variable();
b1.Variable_();
b1.VarType("http://xsd.lang.whole.org/Mapping#URI");
b1.VarName("name");
b1.Quantifier("!");
b1._Variable();
b5._RootMapping();
b1.Variable_();
b1.VarType("http://xsd.lang.whole.org/Mapping#Mapping");
b1.VarName("childMapping");
b1.Quantifier("*");
b1._Variable();
b5._Mappings();
b1._StageUpFragment();
b0.VariableTest("mappings");
b0._Filter();
b0.Path_(2);
b0.FeatureStep("http://lang.whole.org/Models#declarations");
b0.Filter_();
b0.ChildStep();
b0.And_(2);
b0.Not_();
b0.ExpressionTest_();
b0.Call_();
b0.Name("isAbstract");
b0.Expressions_(1);
b0.Filter_();
b0.FeatureStep("http://lang.whole.org/Models#name");
b0.VariableTest("name");
b0._Filter();
b0._Expressions();
b0._Call();
b0._ExpressionTest();
b0._Not();
b0.ExpressionTest_();
b0.Filter_();
b0.Call_();
b0.Name("toElementName");
b0.Expressions_(1);
b0.VariableRefStep("name");
b0._Expressions();
b0._Call();
b0.VariableTest("elementName");
b0._Filter();
b0._ExpressionTest();
b0._And();
b0._Filter();
b0._Path();
b0.Choose_(2);
b0.Path_(2);
b0.Filter_();
b0.SelfStep();
b0.TypeTest("http://lang.whole.org/Models#CompositeEntity");
b0._Filter();
b0.Filter_();
b0.Call_();
b0.Name("createElemenMappings");
b0.Expressions_(2);
b0.VariableRefStep("name");
b0.FeatureStep("http://lang.whole.org/Models#componentType");
b0._Expressions();
b0._Call();
b0.VariableTest("childMapping");
b0._Filter();
b0._Path();
b0.Path_(4);
b0.Filter_();
b0.SelfStep();
b0.TypeTest("http://lang.whole.org/Models#SimpleEntity");
b0._Filter();
b0.FeatureStep("http://lang.whole.org/Models#features");
b0.ChildStep();
b0.Filter_();
b0.Call_();
b0.Name("createElemenMappings");
b0.Expressions_(3);
b0.VariableRefStep("name");
b0.FeatureStep("http://lang.whole.org/Models#type");
b0.FeatureStep("http://lang.whole.org/Models#name");
b0._Expressions();
b0._Call();
b0.VariableTest("childMapping");
b0._Filter();
b0._Path();
b0._Choose();
b0._Select();
b0.Select_();
b0.Filter_();
b1.StageUpFragment_();
b5.EnumDataType_();
b1.Variable_();
b1.VarType("http://xsd.lang.whole.org/Mapping#URI");
b1.VarName("name");
b1.Quantifier("!");
b1._Variable();
b5.EnumValues_(1);
b1.Variable_();
b1.VarType("http://xsd.lang.whole.org/Mapping#EnumValue");
b1.VarName("enumValue");
b1.Quantifier("+");
b1._Variable();
b5._EnumValues();
b5._EnumDataType();
b1._StageUpFragment();
b0.VariableTest("dataType");
b0._Filter();
b0.Path_(2);
b0.FeatureStep("http://lang.whole.org/Models#declarations");
b0.Filter_();
b0.ChildStep();
b0.TypeTest("http://lang.whole.org/Models#EnumEntity");
b0._Filter();
b0._Path();
b0.Sequence_(2);
b0.Filter_();
b0.FeatureStep("http://lang.whole.org/Models#name");
b0.VariableTest("name");
b0._Filter();
b0.Path_(3);
b0.FeatureStep("http://lang.whole.org/Models#values");
b0.Filter_();
b0.ChildStep();
b0.VariableTest("value");
b0._Filter();
b0.Sequence_(1);
b0.Do_();
b0.Filter_();
b1.StageUpFragment_();
b5.EnumValue_();
b1.Variable_();
b1.VarType("http://xsd.lang.whole.org/Mapping#Value");
b1.VarName("value");
b1.Quantifier("!");
b1._Variable();
b1.Variable_();
b1.VarType("http://xsd.lang.whole.org/Mapping#Value");
b1.VarName("value");
b1.Quantifier("!");
b1._Variable();
b5._EnumValue();
b1._StageUpFragment();
b0.VariableTest("enumValue");
b0._Filter();
b0._Do();
b0._Sequence();
b0._Path();
b0._Sequence();
b0._Select();
b0.Select_();
b0.Filter_();
b1.StageUpFragment_();
b4.SchemaComponents_(2);
b4.ElementDecl_();
b4.NamespaceDecls_(0);
b4._NamespaceDecls();
b1.Resolver();
b1.Resolver();
b1.Variable_();
b1.VarType("http://www.w3.org/2001/XMLSchema#Name");
b1.VarName("elementName");
b1.Quantifier("!");
b1._Variable();
b1.Resolver();
b1.Resolver();
b1.Variable_();
b1.VarType("http://www.w3.org/2001/XMLSchema#QName");
b1.VarName("name");
b1.Quantifier("!");
b1._Variable();
b1.Resolver();
b1.Resolver();
b1.Resolver();
b1.Resolver();
b1.Resolver();
b1.Resolver();
b1.Resolver();
b1.Resolver();
b1.Resolver();
b1.Resolver();
b1.Resolver();
b4._ElementDecl();
b1.Variable_();
b1.VarType("http://www.w3.org/2001/XMLSchema#TypeDef");
b1.VarName("typeDef");
b1.Quantifier("!");
b1._Variable();
b4._SchemaComponents();
b1._StageUpFragment();
b0.VariableTest("elementDecl");
b0._Filter();
b0.Path_(2);
b0.FeatureStep("http://lang.whole.org/Models#declarations");
b0.Filter_();
b0.ChildStep();
b0.And_(2);
b0.Not_();
b0.ExpressionTest_();
b0.Call_();
b0.Name("isAbstract");
b0.Expressions_(1);
b0.Filter_();
b0.FeatureStep("http://lang.whole.org/Models#name");
b0.VariableTest("name");
b0._Filter();
b0._Expressions();
b0._Call();
b0._ExpressionTest();
b0._Not();
b0.ExpressionTest_();
b0.Filter_();
b0.Call_();
b0.Name("toElementName");
b0.Expressions_(1);
b0.VariableRefStep("name");
b0._Expressions();
b0._Call();
b0.VariableTest("elementName");
b0._Filter();
b0._ExpressionTest();
b0._And();
b0._Filter();
b0._Path();
b0.Choose_(4);
b0.Select_();
b0.Filter_();
b1.StageUpFragment_();
b4.ComplexTypeDef_();
b4.NamespaceDecls_(0);
b4._NamespaceDecls();
b1.Resolver();
b1.Resolver();
b1.Variable_();
b1.VarType("http://www.w3.org/2001/XMLSchema#Name");
b1.VarName("name");
b1.Quantifier("!");
b1._Variable();
b1.Resolver();
b1.Resolver();
b1.Resolver();
b1.Resolver();
b1.Resolver();
b4.DeclaredContent_();
b4.Sequence_();
b4.NamespaceDecls_(0);
b4._NamespaceDecls();
b1.Resolver();
b1.Resolver();
b4.Bounded(0);
b4.Unbounded();
b1.Resolver();
b4.Particles_(1);
b1.Variable_();
b1.VarType("http://www.w3.org/2001/XMLSchema#Particle");
b1.VarName("particle");
b1.Quantifier("!");
b1._Variable();
b4._Particles();
b4._Sequence();
b1.Resolver();
b1.Resolver();
b4._DeclaredContent();
b4._ComplexTypeDef();
b1._StageUpFragment();
b0.VariableTest("typeDef");
b0._Filter();
b0.Filter_();
b0.SelfStep();
b0.TypeTest("http://lang.whole.org/Models#CompositeEntity");
b0._Filter();
b0.Filter_();
b0.Choose_(2);
b0.If_();
b0.ExpressionTest_();
b0.Call_();
b0.Name("isAbstract");
b0.Expressions_(1);
b0.FeatureStep("http://lang.whole.org/Models#componentType");
b0._Expressions();
b0._Call();
b0._ExpressionTest();
b0.Call_();
b0.Name("createModelGroupRef");
b0.Expressions_(1);
b0.FeatureStep("http://lang.whole.org/Models#componentType");
b0._Expressions();
b0._Call();
b0._If();
b0.Do_();
b0.Call_();
b0.Name("createElementRef");
b0.Expressions_(1);
b0.FeatureStep("http://lang.whole.org/Models#componentType");
b0._Expressions();
b0._Call();
b0._Do();
b0._Choose();
b0.VariableTest("particle");
b0._Filter();
b0._Select();
b0.Select_();
b0.Filter_();
b1.StageUpFragment_();
b4.ComplexTypeDef_();
b4.NamespaceDecls_(0);
b4._NamespaceDecls();
b1.Resolver();
b1.Resolver();
b1.Variable_();
b1.VarType("http://www.w3.org/2001/XMLSchema#Name");
b1.VarName("name");
b1.Quantifier("!");
b1._Variable();
b1.Resolver();
b1.Resolver();
b1.Resolver();
b1.Resolver();
b1.Resolver();
b4.DeclaredContent_();
b4.Sequence_();
b4.NamespaceDecls_(0);
b4._NamespaceDecls();
b1.Resolver();
b1.Resolver();
b1.Resolver();
b1.Resolver();
b1.Resolver();
b4.Particles_(1);
b1.Variable_();
b1.VarType("http://www.w3.org/2001/XMLSchema#Particle");
b1.VarName("particle");
b1.Quantifier("*");
b1._Variable();
b4._Particles();
b4._Sequence();
b1.Resolver();
b1.Resolver();
b4._DeclaredContent();
b4._ComplexTypeDef();
b1._StageUpFragment();
b0.VariableTest("typeDef");
b0._Filter();
b0.Filter_();
b0.SelfStep();
b0.TypeTest("http://lang.whole.org/Models#SimpleEntity");
b0._Filter();
b0.For_();
b0.Path_(2);
b0.FeatureStep("http://lang.whole.org/Models#features");
b0.Filter_();
b0.ChildStep();
b0.And_(2);
b0.ExpressionTest_();
b0.Filter_();
b0.FeatureStep("http://lang.whole.org/Models#name");
b0.VariableTest("featureName");
b0._Filter();
b0._ExpressionTest();
b0.ExpressionTest_();
b0.Filter_();
b0.FeatureStep("http://lang.whole.org/Models#type");
b0.VariableTest("featureType");
b0._Filter();
b0._ExpressionTest();
b0._And();
b0._Filter();
b0._Path();
b0.Filter_();
b0.Choose_(3);
b0.If_();
b0.ExpressionTest_();
b0.Call_();
b0.Name("isAbstract");
b0.Expressions_(1);
b0.VariableRefStep("featureType");
b0._Expressions();
b0._Call();
b0._ExpressionTest();
b0.Call_();
b0.Name("createModelGroupRef");
b0.Expressions_(2);
b0.VariableRefStep("featureType");
b0.Call_();
b0.Name("isOptional");
b1.Resolver();
b0._Call();
b0._Expressions();
b0._Call();
b0._If();
b0.If_();
b0.ExpressionTest_();
b0.Equals_();
b0.VariableRefStep("featureName");
b0.Singleton_();
b0.Call_();
b0.Name("toElementName");
b0.Expressions_(1);
b0.VariableRefStep("featureType");
b0._Expressions();
b0._Call();
b0._Singleton();
b0._Equals();
b0._ExpressionTest();
b0.Call_();
b0.Name("createElementRef");
b0.Expressions_(2);
b0.VariableRefStep("featureName");
b0.Call_();
b0.Name("isOptional");
b1.Resolver();
b0._Call();
b0._Expressions();
b0._Call();
b0._If();
b0.Do_();
b1.StageUpFragment_();
b4.ElementDecl_();
b4.NamespaceDecls_(0);
b4._NamespaceDecls();
b1.Resolver();
b1.Resolver();
b1.Variable_();
b1.VarType("http://www.w3.org/2001/XMLSchema#Name");
b1.VarName("featureName");
b1.Quantifier("!");
b1._Variable();
b1.StageDownFragment_();
b0.If_();
b0.ExpressionTest_();
b0.Singleton_();
b0.Call_();
b0.Name("isOptional");
b1.Resolver();
b0._Call();
b0._Singleton();
b0._ExpressionTest();
b1.StageUpFragment_();
b4.Bounded(0);
b1._StageUpFragment();
b0._If();
b1._StageDownFragment();
b1.Resolver();
b1.Variable_();
b1.VarType("http://www.w3.org/2001/XMLSchema#QName");
b1.VarName("featureType");
b1.Quantifier("!");
b1._Variable();
b1.Resolver();
b1.Resolver();
b1.Resolver();
b1.Resolver();
b1.Resolver();
b1.Resolver();
b1.Resolver();
b1.Resolver();
b1.Resolver();
b1.Resolver();
b1.Resolver();
b4._ElementDecl();
b1._StageUpFragment();
b0._Do();
b0._Choose();
b0.VariableTest("particle");
b0._Filter();
b0._For();
b0._Select();
b0.Select_();
b0.Filter_();
b1.StageUpFragment_();
b4.SimpleTypeDef_();
b4.NamespaceDecls_(0);
b4._NamespaceDecls();
b1.Resolver();
b1.Resolver();
b1.Variable_();
b1.VarType("http://www.w3.org/2001/XMLSchema#Name");
b1.VarName("name");
b1.Quantifier("!");
b1._Variable();
b1.Resolver();
b1.Resolver();
b4.SimpleTypeRestriction_();
b4.NamespaceDecls_(0);
b4._NamespaceDecls();
b1.Resolver();
b1.Resolver();
b1.Variable_();
b1.VarType("http://www.w3.org/2001/XMLSchema#QName");
b1.VarName("builtInType");
b1.Quantifier("?");
b1._Variable();
b1.Resolver();
b1.Resolver();
b4.Facets_(0);
b4._Facets();
b4._SimpleTypeRestriction();
b4._SimpleTypeDef();
b1._StageUpFragment();
b0.VariableTest("typeDef");
b0._Filter();
b0.Filter_();
b0.SelfStep();
b0.TypeTest("http://lang.whole.org/Models#DataEntity");
b0._Filter();
b0.Filter_();
b0.Choose_(2);
b0.If_();
b0.ExpressionTest_();
b1.SameStageFragment_();
b2.InvokeJavaClassMethod_();
b2.Text("has built in type?");
b1.Resolver();
b1.Resolver();
b2.StringLiteral("org.whole.lang.xsd.parsers.SchemaDataTypes");
b2.StringLiteral("hasBuiltInType(java.lang.String)");
b2.Expressions_(1);
b1.SameStageFragment_();
b0.FeatureStep("http://lang.whole.org/Models#dataType");
b1._SameStageFragment();
b2._Expressions();
b2._InvokeJavaClassMethod();
b1._SameStageFragment();
b0._ExpressionTest();
b0.Addition_();
b0.VariableRefStep("XML_SCHEMA_NS_PREFIX");
b0.Addition_();
b0.StringLiteral(":");
b1.SameStageFragment_();
b2.InvokeJavaClassMethod_();
b2.Text("get built in type");
b1.Resolver();
b1.Resolver();
b2.StringLiteral("org.whole.lang.xsd.parsers.SchemaDataTypes");
b2.StringLiteral("getBuiltInType(java.lang.String)");
b2.Expressions_(1);
b1.SameStageFragment_();
b0.FeatureStep("http://lang.whole.org/Models#dataType");
b1._SameStageFragment();
b2._Expressions();
b2._InvokeJavaClassMethod();
b1._SameStageFragment();
b0._Addition();
b0._Addition();
b0._If();
b0.Do_();
b0.StringLiteral("anySimpleType");
b0._Do();
b0._Choose();
b0.VariableTest("builtInType");
b0._Filter();
b0._Select();
b0.Select_();
b0.Filter_();
b1.StageUpFragment_();
b4.SimpleTypeDef_();
b4.NamespaceDecls_(0);
b4._NamespaceDecls();
b1.Resolver();
b1.Resolver();
b1.Variable_();
b1.VarType("http://www.w3.org/2001/XMLSchema#Name");
b1.VarName("name");
b1.Quantifier("!");
b1._Variable();
b1.Resolver();
b1.Resolver();
b4.SimpleTypeRestriction_();
b4.NamespaceDecls_(0);
b4._NamespaceDecls();
b1.Resolver();
b1.Resolver();
b1.StageDownFragment_();
b0.Addition_();
b0.VariableRefStep("XML_SCHEMA_NS_PREFIX");
b0.StringLiteral(":string");
b0._Addition();
b1._StageDownFragment();
b1.Resolver();
b1.Resolver();
b4.Facets_(1);
b1.Variable_();
b1.VarType("http://www.w3.org/2001/XMLSchema#Facet");
b1.VarName("enum");
b1.Quantifier("+");
b1._Variable();
b4._Facets();
b4._SimpleTypeRestriction();
b4._SimpleTypeDef();
b1._StageUpFragment();
b0.VariableTest("typeDef");
b0._Filter();
b0.Filter_();
b0.SelfStep();
b0.TypeTest("http://lang.whole.org/Models#EnumEntity");
b0._Filter();
b0.For_();
b0.Path_(2);
b0.FeatureStep("http://lang.whole.org/Models#values");
b0.Filter_();
b0.ChildStep();
b0.VariableTest("value");
b0._Filter();
b0._Path();
b0.Filter_();
b1.StageUpFragment_();
b4.Enumeration_();
b4.NamespaceDecls_(0);
b4._NamespaceDecls();
b1.Resolver();
b1.Resolver();
b1.Variable_();
b1.VarType("http://www.w3.org/2001/XMLSchema#StringData");
b1.VarName("value");
b1.Quantifier("!");
b1._Variable();
b1.Resolver();
b4._Enumeration();
b1._StageUpFragment();
b0.VariableTest("enum");
b0._Filter();
b0._For();
b0._Select();
b0._Choose();
b0._Select();
b0.Select_();
b0.Tuple_(1);
b0.Filter_();
b1.StageUpFragment_();
b4.ModelGroupDef_();
b4.NamespaceDecls_(0);
b4._NamespaceDecls();
b1.Resolver();
b1.Resolver();
b1.Variable_();
b1.VarType("http://www.w3.org/2001/XMLSchema#Name");
b1.VarName("name");
b1.Quantifier("!");
b1._Variable();
b1.Resolver();
b4.Choice_();
b4.NamespaceDecls_(0);
b4._NamespaceDecls();
b1.Resolver();
b1.Resolver();
b1.Resolver();
b1.Resolver();
b1.Resolver();
b4.Particles_(1);
b1.Variable_();
b1.VarType("http://www.w3.org/2001/XMLSchema#Particle");
b1.VarName("particle");
b1.Quantifier("*");
b1._Variable();
b4._Particles();
b4._Choice();
b4._ModelGroupDef();
b1._StageUpFragment();
b0.VariableTest("modelGroupDef");
b0._Filter();
b0._Tuple();
b0.Path_(2);
b0.VariableRefStep("allAbstractTypes");
b0.Filter_();
b0.ChildStep();
b0.VariableTest("name");
b0._Filter();
b0._Path();
b0.For_();
b0.Call_();
b0.Name("allSubTypes");
b0.Expressions_(1);
b0.VariableRefStep("name");
b0._Expressions();
b0._Call();
b0.Filter_();
b0.Choose_(2);
b0.If_();
b0.ExpressionTest_();
b0.Call_();
b0.Name("isAbstract");
b0.Expressions_(1);
b0.SelfStep();
b0._Expressions();
b0._Call();
b0._ExpressionTest();
b0.Call_();
b0.Name("createModelGroupRef");
b0.Expressions_(1);
b0.SelfStep();
b0._Expressions();
b0._Call();
b0._If();
b0.Do_();
b0.Call_();
b0.Name("createElementRef");
b0.Expressions_(1);
b0.SelfStep();
b0._Expressions();
b0._Call();
b0._Do();
b0._Choose();
b0.VariableTest("particle");
b0._Filter();
b0._For();
b0._Select();
b0._Sequence();
b0._Select();
b0._Block();
}
}