package org.whole.examples.dataintegration.xsd; import org.whole.lang.builders.IBuilderOperation; import org.whole.lang.templates.AbstractTemplateFactory; public class DTAUSGrammar extends AbstractTemplateFactory<org.whole.lang.grammars.model.Grammar> { public void apply(IBuilderOperation op) { org.whole.lang.grammars.builders.IGrammarsBuilder b0 = (org.whole.lang.grammars.builders.IGrammarsBuilder) op.wGetBuilder(org.whole.lang.grammars.reflect.GrammarsLanguageKit.URI); b0.Grammar_(); b0.Name("DTAUSGrammar"); b0.LanguageDescriptor_(); b0.URI("http://xsd.dataintegration.examples.whole.org/DTAUS"); b0.Namespace("org.whole.examples.dataintegration.xsd"); b0.Name("DTAUS"); org.whole.lang.commons.builders.ICommonsBuilder b1 = (org.whole.lang.commons.builders.ICommonsBuilder) op.wGetBuilder(org.whole.lang.commons.reflect.CommonsLanguageKit.URI); b1.Resolver(); b0._LanguageDescriptor(); b0.NonTerminal("DTAUS"); b0.LiteralTerminal_(); b0.RegExp(""); b0.Category("SEPARATOR"); b0.Literal(""); b0._LiteralTerminal(); b0.Productions_(0); b0._Productions(); b0.Productions_(23); b0.Production_(); b0.NonTerminal("DTAUS"); b0.Concatenate_(3); b0.As_(); b0.NonTerminal("ARecord"); b0.Name("header"); b0._As(); b0.As_(); b0.NonTerminal("CRecords"); b0.Name("body"); b0._As(); b0.As_(); b0.NonTerminal("ERecord"); b0.Name("footer"); b0._As(); b0._Concatenate(); b1.Resolver(); b0._Production(); b0.Production_(); b0.NonTerminal("ARecord"); b0.Concatenate_(14); b0.LiteralTerminal_(); b0.RegExp("0128"); b0.Category("DELIMITER"); b0.Literal("0128"); b0._LiteralTerminal(); b0.LiteralTerminal_(); b0.RegExp("A"); b0.Category("DELIMITER"); b0.Literal("A"); b0._LiteralTerminal(); b0.As_(); b0.NonTerminal("TransactionKind"); b0.Name("transactionKind"); b0._As(); b0.As_(); b0.NonTerminal("SNumber"); b0.Name("bankID"); b0._As(); b0.LiteralTerminal_(); b0.RegExp("00000000"); b0.Category("DELIMITER"); b0.Literal("00000000"); b0._LiteralTerminal(); b0.As_(); b0.NonTerminal("Chars"); b0.Name("customerName"); b0._As(); b0.As_(); b0.NonTerminal("SDate"); b0.Name("currentDate"); b0._As(); b0.LiteralTerminal_(); b0.RegExp(" "); b0.Category("DELIMITER"); b0.Literal(" "); b0._LiteralTerminal(); b0.As_(); b0.NonTerminal("LNumber"); b0.Name("accountNo"); b0._As(); b0.As_(); b0.NonTerminal("RefType"); b0.Name("refNo"); b0._As(); b0.LiteralTerminal_(); b0.RegExp(" "); b0.Category("DELIMITER"); b0.Literal(" "); b0._LiteralTerminal(); b0.As_(); b0.NonTerminal("FDate"); b0.Name("executionDate"); b0._As(); b0.LiteralTerminal_(); b0.RegExp(" "); b0.Category("DELIMITER"); b0.Literal(" "); b0._LiteralTerminal(); b0.As_(); b0.NonTerminal("Currency"); b0.Name("currency"); b0._As(); b0._Concatenate(); b1.Resolver(); b0._Production(); b0.Production_(); b0.NonTerminal("CRecords"); b0.Repeat_(); b0.Size(1); b0.Size(9999999); b1.Resolver(); b0.NonTerminal("CRecord"); b0._Repeat(); b1.Resolver(); b0._Production(); b0.Production_(); b0.NonTerminal("CRecord"); b0.Concatenate_(26); b0.As_(); b0.NonTerminal("Size"); b0.Name("recSize"); b0._As(); b0.LiteralTerminal_(); b0.RegExp("C"); b0.Category("DELIMITER"); b0.Literal("C"); b0._LiteralTerminal(); b0.As_(); b0.NonTerminal("SNumber"); b0.Name("contractingBankID"); b0._As(); b0.As_(); b0.NonTerminal("SNumber"); b0.Name("targetBankID"); b0._As(); b0.As_(); b0.NonTerminal("LNumber"); b0.Name("targetAccountNo"); b0._As(); b0.As_(); b0.NonTerminal("InternalID"); b0.Name("internalCustomerID"); b0._As(); b0.As_(); b0.NonTerminal("TransactionType"); b0.Name("transactionType"); b0._As(); b0.LiteralTerminal_(); b0.RegExp(" "); b0.Category("DELIMITER"); b0.Literal(" "); b0._LiteralTerminal(); b0.As_(); b0.NonTerminal("AMNumber"); b0.Name("dmAmount"); b0._As(); b0.As_(); b0.NonTerminal("SNumber"); b0.Name("bankID"); b0._As(); b0.As_(); b0.NonTerminal("LNumber"); b0.Name("accountNo"); b0._As(); b0.As_(); b0.NonTerminal("AMNumber"); b0.Name("euroAmount"); b0._As(); b0.LiteralTerminal_(); b0.RegExp(" "); b0.Category("DELIMITER"); b0.Literal(" "); b0._LiteralTerminal(); b0.As_(); b0.NonTerminal("Chars"); b0.Name("targetCustomerName"); b0._As(); b0.LiteralTerminal_(); b0.RegExp(" "); b0.Category("DELIMITER"); b0.Literal(" "); b0._LiteralTerminal(); b0.As_(); b0.NonTerminal("Chars"); b0.Name("customerName"); b0._As(); b0.As_(); b0.NonTerminal("Chars"); b0.Name("purpose"); b0._As(); b0.As_(); b0.NonTerminal("Currency"); b0.Name("currency"); b0._As(); b0.LiteralTerminal_(); b0.RegExp(" "); b0.Category("DELIMITER"); b0.Literal(" "); b0._LiteralTerminal(); b0.As_(); b0.NonTerminal("VSNumber"); b0.Name("expansionRecNo"); b0._As(); b0.As_(); b0.NonTerminal("ExpansionType"); b0.Name("expansionType1"); b0._As(); b0.As_(); b0.NonTerminal("Chars"); b0.Name("expansion1"); b0._As(); b0.As_(); b0.NonTerminal("ExpansionType"); b0.Name("expansionType2"); b0._As(); b0.As_(); b0.NonTerminal("Chars"); b0.Name("expansion2"); b0._As(); b0.LiteralTerminal_(); b0.RegExp(" "); b0.Category("DELIMITER"); b0.Literal(" "); b0._LiteralTerminal(); b0.As_(); b0.NonTerminal("ExpansionRecords"); b0.Name("expansionRecords"); b0._As(); b0._Concatenate(); b1.Resolver(); b0._Production(); b0.Production_(); b0.NonTerminal("ExpansionRecords"); b0.Repeat_(); b0.Size(0); b0.Size(4); b1.Resolver(); b0.Production_(); b0.NonTerminal("ExpansionRecord"); b0.Concatenate_(2); b0.Repeat_(); b0.Size(4); b0.Size(4); b1.Resolver(); b0.Concatenate_(2); b0.As_(); b0.NonTerminal("ExpansionType"); b0.Name("expansionType"); b0._As(); b0.As_(); b0.NonTerminal("Chars"); b0.Name("expansion"); b0._As(); b0._Concatenate(); b0._Repeat(); b0.LiteralTerminal_(); b0.RegExp(" "); b0.Category("DELIMITER"); b0.Literal(" "); b0._LiteralTerminal(); b0._Concatenate(); b1.Resolver(); b0._Production(); b0._Repeat(); b1.Resolver(); b0._Production(); b0.Production_(); b0.NonTerminal("ERecord"); b0.Concatenate_(9); b0.LiteralTerminal_(); b0.RegExp("0128"); b0.Category("DELIMITER"); b0.Literal("0128"); b0._LiteralTerminal(); b0.LiteralTerminal_(); b0.RegExp("E"); b0.Category("DELIMITER"); b0.Literal("E"); b0._LiteralTerminal(); b0.LiteralTerminal_(); b0.RegExp(" "); b0.Category("DELIMITER"); b0.Literal(" "); b0._LiteralTerminal(); b0.As_(); b0.NonTerminal("RecordNumber"); b0.Name("bodyLength"); b0._As(); b0.As_(); b0.NonTerminal("STotal"); b0.Name("dmTotal"); b0._As(); b0.As_(); b0.NonTerminal("LTotal"); b0.Name("accountTotal"); b0._As(); b0.As_(); b0.NonTerminal("LTotal"); b0.Name("bankTotal"); b0._As(); b0.As_(); b0.NonTerminal("STotal"); b0.Name("euroTotal"); b0._As(); b0.LiteralTerminal_(); b0.RegExp(" "); b0.Category("DELIMITER"); b0.Literal(" "); b0._LiteralTerminal(); b0._Concatenate(); b1.Resolver(); b0._Production(); b0.Production_(); b0.NonTerminal("TransactionKind"); b0.DataTerminal_(); b0.RegExp("[GL][BK]"); b0.Category("LITERAL"); b0.Format("%s"); b0._DataTerminal(); b0.DataType("STRING"); b0._Production(); b0.Production_(); b0.NonTerminal("SNumber"); b0.DataTerminal_(); b0.RegExp("[0-9]{8}"); b0.Category("LITERAL"); b0.Format("%08d"); b0._DataTerminal(); b0.DataType("INT"); b0._Production(); b0.Production_(); b0.NonTerminal("Chars"); b0.DataTerminal_(); b0.RegExp(".{27}"); b0.Category("DELIMITER"); b0.Format("%s"); b0._DataTerminal(); b0.DataType("STRING"); b0._Production(); b0.Production_(); b0.NonTerminal("SDate"); b0.DataTerminal_(); b0.RegExp("[0-9]{6}"); b0.Category("DELIMITER"); b0.Format("%s"); b0._DataTerminal(); b0.DataType("STRING"); b0._Production(); b0.Production_(); b0.NonTerminal("LNumber"); b0.DataTerminal_(); b0.RegExp("[0-9]{10}"); b0.Category("LITERAL"); b0.Format("%010d"); b0._DataTerminal(); b0.DataType("LONG"); b0._Production(); b0.Production_(); b0.NonTerminal("RefType"); b0.DataTerminal_(); b0.RegExp(".{10}"); b0.Category("LITERAL"); b0.Format("%s"); b0._DataTerminal(); b0.DataType("STRING"); b0._Production(); b0.Production_(); b0.NonTerminal("FDate"); b0.DataTerminal_(); b0.RegExp("(([0-9]{8})|([ ]{8}))"); b0.Category("DELIMITER"); b0.Format("%s"); b0._DataTerminal(); b0.DataType("STRING"); b0._Production(); b0.Production_(); b0.NonTerminal("Currency"); b0.DataTerminal_(); b0.RegExp("[ 1]"); b0.Category("LITERAL"); b0.Format("%s"); b0._DataTerminal(); b0.DataType("STRING"); b0._Production(); b0.Production_(); b0.NonTerminal("Size"); b0.DataTerminal_(); b0.RegExp("[0-9]{4}"); b0.Category("LITERAL"); b0.Format("%04d"); b0._DataTerminal(); b0.DataType("SHORT"); b0._Production(); b0.Production_(); b0.NonTerminal("InternalID"); b0.DataTerminal_(); b0.RegExp(".{13}"); b0.Category("LITERAL"); b0.Format("%s"); b0._DataTerminal(); b0.DataType("STRING"); b0._Production(); b0.Production_(); b0.NonTerminal("TransactionType"); b0.DataTerminal_(); b0.RegExp("((04000)|(05000)|(05005)|(05006)|(05015)|(51000)|(53000)|(54[0-9][0-9]J)|(56000))"); b0.Category("LITERAL"); b0.Format("%s"); b0._DataTerminal(); b0.DataType("STRING"); b0._Production(); b0.Production_(); b0.NonTerminal("AMNumber"); b0.DataTerminal_(); b0.RegExp("[0-9]{11}"); b0.Category("LITERAL"); b0.Format("%011d"); b0._DataTerminal(); b0.DataType("LONG"); b0._Production(); b0.Production_(); b0.NonTerminal("VSNumber"); b0.DataTerminal_(); b0.RegExp("[0-9]{2}"); b0.Category("LITERAL"); b0.Format("%02d"); b0._DataTerminal(); b0.DataType("INT"); b0._Production(); b0.Production_(); b0.NonTerminal("ExpansionType"); b0.DataTerminal_(); b0.RegExp("(( )|(01)|(02)|(03))"); b0.Category("LITERAL"); b0.Format("%s"); b0._DataTerminal(); b0.DataType("STRING"); b0._Production(); b0.Production_(); b0.NonTerminal("RecordNumber"); b0.DataTerminal_(); b0.RegExp("[0-9]{7}"); b0.Category("LITERAL"); b0.Format("%07d"); b0._DataTerminal(); b0.DataType("INT"); b0._Production(); b0.Production_(); b0.NonTerminal("STotal"); b0.DataTerminal_(); b0.RegExp("[0-9]{13}"); b0.Category("LITERAL"); b0.Format("%013d"); b0._DataTerminal(); b0.DataType("LONG"); b0._Production(); b0.Production_(); b0.NonTerminal("LTotal"); b0.DataTerminal_(); b0.RegExp("[0-9]{17}"); b0.Category("LITERAL"); b0.Format("%017d"); b0._DataTerminal(); b0.DataType("LONG"); b0._Production(); b0._Productions(); b0.URI("http://xsd.dataintegration.examples.whole.org/DTAUSGrammar"); b0.Namespace("org.whole.examples.dataintegration.xsd.grammars"); b1.Resolver(); b0._Grammar(); } }