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(); } }