xmlutils 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +6 -0
  3. data/Gemfile +4 -0
  4. data/LICENSE +22 -0
  5. data/README.md +77 -0
  6. data/bin/xmltogdl +88 -0
  7. data/docs/README.txt +20 -0
  8. data/lib/xmlutils/contextlistener.rb +432 -0
  9. data/lib/xmlutils/contextparser.rb +111 -0
  10. data/lib/xmlutils/dumplistener.rb +57 -0
  11. data/lib/xmlutils/gdlcontext.rb +305 -0
  12. data/lib/xmlutils/gdlcontextobjs.rb +286 -0
  13. data/lib/xmlutils/gdldoc.rb +547 -0
  14. data/lib/xmlutils/gdldocbuilder.rb +181 -0
  15. data/lib/xmlutils/gdllistener.rb +265 -0
  16. data/lib/xmlutils/gdltemplate.rb +488 -0
  17. data/lib/xmlutils/lineparser.rb +193 -0
  18. data/lib/xmlutils/listener.rb +459 -0
  19. data/lib/xmlutils/rulelistener.rb +414 -0
  20. data/lib/xmlutils/ruleparser.rb +112 -0
  21. data/lib/xmlutils/varlistener.rb +86 -0
  22. data/lib/xmlutils/version.rb +5 -0
  23. data/lib/xmlutils/xmlrulevisitor.rb +704 -0
  24. data/lib/xmlutils/xmltogdlcontroller.rb +93 -0
  25. data/lib/xmlutils/xmltogdltask.rb +23 -0
  26. data/lib/xmlutils/xmlvisitor.rb +690 -0
  27. data/lib/xmlutils.rb +40 -0
  28. data/rakefile.rb +34 -0
  29. data/unittests/2830.xml +1 -0
  30. data/unittests/chunks.rb +31 -0
  31. data/unittests/curDirTest.rb +2 -0
  32. data/unittests/data/2830-GENERATED.gdl +309 -0
  33. data/unittests/data/2830-GENERATED.xml +1 -0
  34. data/unittests/data/AUGuideline.xml +12 -0
  35. data/unittests/data/AUGuideline.xml.gdl +19190 -0
  36. data/unittests/data/BAKUP.DCTEST1.xml +1 -0
  37. data/unittests/data/DCTEST.xml +1 -0
  38. data/unittests/data/DCTEST1.xml +1 -0
  39. data/unittests/data/DCTEST1.xml.gdl +14890 -0
  40. data/unittests/data/DCTEST1.xml.rename.csv +180 -0
  41. data/unittests/data/DCTEST1wLookups.xml +174 -0
  42. data/unittests/data/DCTEST1wLookups.xml.gdl +127 -0
  43. data/unittests/data/GENERATED.gdl.xml +1 -0
  44. data/unittests/data/Message.xml +1 -0
  45. data/unittests/data/Message.xml.gdl +142 -0
  46. data/unittests/data/Pricing2ndGuideline.xml +1 -0
  47. data/unittests/data/Pricing2ndGuideline.xml.gdl +52670 -0
  48. data/unittests/data/Z-TEMP-Jeff.xml +1 -0
  49. data/unittests/data/Z-TEMP-Jeff.xml.gdl +288 -0
  50. data/unittests/tc_convert_xml_to_gdl.rb +23 -0
  51. data/unittests/ts_allTests.rb +2 -0
  52. data/xmlutils.gemspec +25 -0
  53. metadata +139 -0
@@ -0,0 +1,180 @@
1
+ rule,AltA-6 Mo Reserves,AltA-6MoReserves
2
+ rule,ALTA-Base Rate 1st,ALTA-BaseRate1st
3
+ rule,AltA-Final Max Price 1st BRO Rule 1,AltA-FinalMaxPrice1stBRORule1
4
+ rule,AltA-Final Max Price 1st BRO Rule 2,AltA-FinalMaxPrice1stBRORule2
5
+ rule,AltA-Final Max Price 1st BRO Rule 3,AltA-FinalMaxPrice1stBRORule3
6
+ rule,AltA-Final Max Price 1st COR Rule 1,AltA-FinalMaxPrice1stCORRule1
7
+ rule,AltA-Final Max Price 1st COR Rule 2,AltA-FinalMaxPrice1stCORRule2
8
+ rule,AltA-Final Max Price 1st COR Rule 3,AltA-FinalMaxPrice1stCORRule3
9
+ rule,AltA-Final Price 1st Comparison Rule 1,AltA-FinalPrice1stComparisonRule1
10
+ rule,AltA-Final Price 1st Comparison Rule 2,AltA-FinalPrice1stComparisonRule2
11
+ rule,AltA-Final Price Adj 1st,AltA-FinalPriceAdj1st
12
+ rule,AltA-GetPriceAdjs BRO T1,AltA-GetPriceAdjsBROT1
13
+ rule,AltA-GetPriceAdjs BRO T1-SubF,AltA-GetPriceAdjsBROT1-SubF
14
+ rule,AltA-GetPriceAdjs COR T1,AltA-GetPriceAdjsCORT1
15
+ rule,AltA-GetPriceAdjs COR T1-SubF,AltA-GetPriceAdjsCORT1-SubF
16
+ rule,AltA-GetPriceAdjs RTN T1,AltA-GetPriceAdjsRTNT1
17
+ rule,AltA-GetPriceAdjs RTN T1-SubF,AltA-GetPriceAdjsRTNT1-SubF
18
+ rule,AltA-Max DTI PI Calc 1,AltA-MaxDTIPICalc1
19
+ rule,AltA-Max DTI PI Calc 2,AltA-MaxDTIPICalc2
20
+ rule,AltA-Max DTI PI Calc 3,AltA-MaxDTIPICalc3
21
+ rule,AltA-Max Pymt Shock PI Calc 1,AltA-MaxPymtShockPICalc1
22
+ rule,AltA-Max Pymt Shock PI Calc 2,AltA-MaxPymtShockPICalc2
23
+ rule,AltA-Max Pymt Shock PI Calc 3,AltA-MaxPymtShockPICalc3
24
+ rule,AltA-MaxPrice1mmLnAmt BRO,AltA-MaxPrice1mmLnAmtBRO
25
+ rule,AltA-MaxPrice1mmLnAmt COR,AltA-MaxPrice1mmLnAmtCOR
26
+ rule,AltA-MaxPrice1mmLnAmt RTN,AltA-MaxPrice1mmLnAmtRTN
27
+ rule,AltA-MaxPrice1st BRO T1,AltA-MaxPrice1stBROT1
28
+ rule,AltA-MaxPrice1st COR T1,AltA-MaxPrice1stCORT1
29
+ rule,AltA-MaxPrice1st RTN T1,AltA-MaxPrice1stRTNT1
30
+ rule,AltA-No MI Flag Set Rule,AltA-NoMIFlagSetRule
31
+ rule,AltA-Payment Shock Calc 1,AltA-PaymentShockCalc1
32
+ rule,AltA-Payment Shock Calc 2,AltA-PaymentShockCalc2
33
+ rule,AltA-Payment Shock Calc 3,AltA-PaymentShockCalc3
34
+ rule,AltA-PriceAdj 40due30 BRO T1,AltA-PriceAdj40due30BROT1
35
+ rule,AltA-PriceAdj 40due30 BRO T1-SubF,AltA-PriceAdj40due30BROT1-SubF
36
+ rule,AltA-PriceAdj 40due30 COR T1,AltA-PriceAdj40due30CORT1
37
+ rule,AltA-PriceAdj 40due30 COR T1-SubF,AltA-PriceAdj40due30CORT1-SubF
38
+ rule,AltA-PriceAdj 40due30 RTN T1,AltA-PriceAdj40due30RTNT1
39
+ rule,AltA-PriceAdj 40due30 RTN T1-SubF,AltA-PriceAdj40due30RTNT1-SubF
40
+ rule,AltA-PriceAdj DocType LT660 BRO T1,AltA-PriceAdjDocTypeLT660BROT1
41
+ rule,AltA-PriceAdj DocType LT660 BRO T1-SubF,AltA-PriceAdjDocTypeLT660BROT1-SubF
42
+ rule,AltA-PriceAdj DocType LT660 COR T1,AltA-PriceAdjDocTypeLT660CORT1
43
+ rule,AltA-PriceAdj DocType LT660 COR T1-SubF,AltA-PriceAdjDocTypeLT660CORT1-SubF
44
+ rule,AltA-PriceAdj DocType LT660 RTN T1,AltA-PriceAdjDocTypeLT660RTNT1
45
+ rule,AltA-PriceAdj DocType LT660 RTN T1-SubF,AltA-PriceAdjDocTypeLT660RTNT1-SubF
46
+ rule,AltA-PriceAdj Fxd LnAmt BRO T1,AltA-PriceAdjFxdLnAmtBROT1
47
+ rule,AltA-PriceAdj Fxd LnAmt BRO T1-SubF,AltA-PriceAdjFxdLnAmtBROT1-SubF
48
+ rule,AltA-PriceAdj Fxd LnAmt COR T1,AltA-PriceAdjFxdLnAmtCORT1
49
+ rule,AltA-PriceAdj Fxd LnAmt COR T1-SubF,AltA-PriceAdjFxdLnAmtCORT1-SubF
50
+ rule,AltA-PriceAdj Fxd LnAmt RTN T1,AltA-PriceAdjFxdLnAmtRTNT1
51
+ rule,AltA-PriceAdj Fxd LnAmt RTN T1-SubF,AltA-PriceAdjFxdLnAmtRTNT1-SubF
52
+ rule,AltA-PriceAdj IO Fixed BRO T1,AltA-PriceAdjIOFixedBROT1
53
+ rule,AltA-PriceAdj IO Fixed BRO T1-SubF,AltA-PriceAdjIOFixedBROT1-SubF
54
+ rule,AltA-PriceAdj IO Fixed COR T1,AltA-PriceAdjIOFixedCORT1
55
+ rule,AltA-PriceAdj IO Fixed COR T1-SubF,AltA-PriceAdjIOFixedCORT1-SubF
56
+ rule,AltA-PriceAdj IO Fixed RTN T1,AltA-PriceAdjIOFixedRTNT1
57
+ rule,AltA-PriceAdj IO Fixed RTN T1-SubF,AltA-PriceAdjIOFixedRTNT1-SubF
58
+ rule,AltA-PriceAdj NoEscrow BRO T1,AltA-PriceAdjNoEscrowBROT1
59
+ rule,AltA-PriceAdj NoEscrow COR T1,AltA-PriceAdjNoEscrowCORT1
60
+ rule,AltA-PriceAdj NoEscrow COR T1-SubF,AltA-PriceAdjNoEscrowCORT1-SubF
61
+ rule,AltA-PriceAdj NoEscrow RTN T1,AltA-PriceAdjNoEscrowRTNT1
62
+ rule,AltA-PriceAdj NoEscrow RTN T1-SubF,AltA-PriceAdjNoEscrowRTNT1-SubF
63
+ rule,AltA-PriceAdj NOO LnAmt BRO T1,AltA-PriceAdjNOOLnAmtBROT1
64
+ rule,AltA-PriceAdj NOO LnAmt BRO T1-SubF,AltA-PriceAdjNOOLnAmtBROT1-SubF
65
+ rule,AltA-PriceAdj NOO LnAmt COR T1,AltA-PriceAdjNOOLnAmtCORT1
66
+ rule,AltA-PriceAdj NOO LnAmt COR T1-SubF,AltA-PriceAdjNOOLnAmtCORT1-SubF
67
+ rule,AltA-PriceAdj NOO LnAmt RTN T1,AltA-PriceAdjNOOLnAmtRTNT1
68
+ rule,AltA-PriceAdj NOO LnAmt RTN T1-SubF,AltA-PriceAdjNOOLnAmtRTNT1-SubF
69
+ rule,AltA-PriceAdj Region-NPP-High,AltA-PriceAdjRegion-NPP-High
70
+ rule,AltA-PriceAdj Region-NPP-Low,AltA-PriceAdjRegion-NPP-Low
71
+ rule,AltA-PriceAdj Region-PP-High,AltA-PriceAdjRegion-PP-High
72
+ rule,AltA-PriceAdj Region-PP-Low,AltA-PriceAdjRegion-PP-Low
73
+ rule,AltA-PriceAdjCombo NoEscrow BRO T1-SubF,AltA-PriceAdjComboNoEscrowBROT1-SubF
74
+ rule,ALTA-Prop Cons Debt and Tot Inc,ALTA-PropConsDebtandTotInc
75
+ rule,AltA-RateAdjCombo DocType BRO,AltA-RateAdjComboDocTypeBRO
76
+ rule,AltA-RateAdjCombo DocType COR,AltA-RateAdjComboDocTypeCOR
77
+ rule,AltA-RateAdjCombo DocType RTN,AltA-RateAdjComboDocTypeRTN
78
+ rule,AltA-RateAdjCombo NOOCltv BRO,AltA-RateAdjComboNOOCltvBRO
79
+ rule,AltA-RateAdjCombo NOOCltv COR,AltA-RateAdjComboNOOCltvCOR
80
+ rule,AltA-RateAdjCombo NOOCltv RTN,AltA-RateAdjComboNOOCltvRTN
81
+ rule,AltA-RateAdjDocType BRO,AltA-RateAdjDocTypeBRO
82
+ rule,AltA-RateAdjDocType COR,AltA-RateAdjDocTypeCOR
83
+ rule,AltA-RateAdjDocType RTN,AltA-RateAdjDocTypeRTN
84
+ rule,AltA-RateAdjNOOCltv BRO,AltA-RateAdjNOOCltvBRO
85
+ rule,AltA-RateAdjNOOCltv COR,AltA-RateAdjNOOCltvCOR
86
+ rule,AltA-RateAdjNOOCltv RTN,AltA-RateAdjNOOCltvRTN
87
+ rule,AltA-Sub Fin Set Flag,AltA-SubFinSetFlag
88
+ rule,AltA-Total Price Adj 1st,AltA-TotalPriceAdj1st
89
+ rule,AltA-Total Rate 1st,AltA-TotalRate1st
90
+ rule,AltA-Total Rate Adj 1st,AltA-TotalRateAdj1st
91
+ rule,G-1st 2nd Loan Parameters,G-1st2ndLoanParameters
92
+ rule,G-1st Amort Type 1,G-1stAmortType1
93
+ rule,G-1st Amort Type 2,G-1stAmortType2
94
+ rule,G-1st Amort Type 3,G-1stAmortType3
95
+ rule,G-1st Amort Type 4,G-1stAmortType4
96
+ rule,G-1st Amort Type 5,G-1stAmortType5
97
+ rule,G-1st Amort Type 6,G-1stAmortType6
98
+ rule,G-1st Amort Type 7,G-1stAmortType7
99
+ rule,G-1st Amort Type 8,G-1stAmortType8
100
+ rule,G-1st Amort Type 9,G-1stAmortType9
101
+ rule,G-1st IO Indicator,G-1stIOIndicator
102
+ rule,G-1st Loan Check Rule,G-1stLoanCheckRule
103
+ rule,G-Cond LockRequired,G-CondLockRequired
104
+ rule,G-Correspondent with No Price Rule,G-CorrespondentwithNoPriceRule
105
+ rule,G-DTI Calc,G-DTICalc
106
+ rule,G-DTI POS Calc,G-DTIPOSCalc
107
+ rule,G-Locked Rate Lien 1,G-LockedRateLien1
108
+ rule,G-Locked Rate Lien 2,G-LockedRateLien2
109
+ rule,G-Other Prop Cash Flow,G-OtherPropCashFlow
110
+ rule,G-PITI Calc Rule,G-PITICalcRule
111
+ rule,G-PriceAdj IO SOA,G-PriceAdjIOSOA
112
+ rule,G-Pricing Initialization,G-PricingInitialization
113
+ rule,G-Prop Hsg Cost Calc,G-PropHsgCostCalc
114
+ rule,G-Rate Adj TX CashOut BRO T1,G-RateAdjTXCashOutBROT1
115
+ rule,G-Rate Adj TX CashOut RTN T1,G-RateAdjTXCashOutRTNT1
116
+ rule,G-Set 40due30 Flag,G-Set40due30Flag
117
+ rule,G-Sub Prop Cash Flow 1,G-SubPropCashFlow1
118
+ rule,G-Sub Prop Cash Flow 2,G-SubPropCashFlow2
119
+ rule,G-Total Cash Flow Calc 1,G-TotalCashFlowCalc1
120
+ rule,G-Total Cash Flow Calc 2,G-TotalCashFlowCalc2
121
+ rule,G-Total Income,G-TotalIncome
122
+ rule,NoMI-PriceAdj Region-NPP-High,NoMI-PriceAdjRegion-NPP-High
123
+ rule,NoMI-PriceAdj Region-NPP-Low,NoMI-PriceAdjRegion-NPP-Low
124
+ rule,NoMI-PriceAdj Region-PP-High,NoMI-PriceAdjRegion-PP-High
125
+ rule,NoMI-PriceAdj Region-PP-Low,NoMI-PriceAdjRegion-PP-Low
126
+ rule,OptA-PriceAdj Region-NPP-High,OptA-PriceAdjRegion-NPP-High
127
+ rule,OptA-PriceAdj Region-NPP-Low,OptA-PriceAdjRegion-NPP-Low
128
+ rule,OptA-PriceAdj Region-PP-High,OptA-PriceAdjRegion-PP-High
129
+ rule,OptA-PriceAdj Region-PP-Low,OptA-PriceAdjRegion-PP-Low
130
+ rule,Pref-PriceAdj Region-NPP-High,Pref-PriceAdjRegion-NPP-High
131
+ rule,Pref-PriceAdj Region-NPP-Low,Pref-PriceAdjRegion-NPP-Low
132
+ rule,Pref-PriceAdj Region-PP-High,Pref-PriceAdjRegion-PP-High
133
+ rule,Pref-PriceAdj Region-PP-Low,Pref-PriceAdjRegion-PP-Low
134
+ rule,PrefSOA-PriceAdj Region-NPP-High,PrefSOA-PriceAdjRegion-NPP-High
135
+ rule,PrefSOA-PriceAdj Region-NPP-Low,PrefSOA-PriceAdjRegion-NPP-Low
136
+ rule,PrefSOA-PriceAdj Region-PP-High,PrefSOA-PriceAdjRegion-PP-High
137
+ rule,PrefSOA-PriceAdj Region-PP-Low,PrefSOA-PriceAdjRegion-PP-Low
138
+ rule,SOA-PriceAdj Region-NPP-High,SOA-PriceAdjRegion-NPP-High
139
+ rule,SOA-PriceAdj Region-NPP-Low,SOA-PriceAdjRegion-NPP-Low
140
+ rule,SOA-PriceAdj Region-PP-High,SOA-PriceAdjRegion-PP-High
141
+ rule,SOA-PriceAdj Region-PP-Low,SOA-PriceAdjRegion-PP-Low
142
+ rule,SOA-PriceAdj SOA CLTV BRO LK1,SOA-PriceAdjSOACLTVBROLK1
143
+ rule,SOA-PriceAdj SOA CLTV BRO LK1SubF,SOA-PriceAdjSOACLTVBROLK1SubF
144
+ rule,SOA-PriceAdj SOA CLTV COR LK1,SOA-PriceAdjSOACLTVCORLK1
145
+ rule,SOA-PriceAdj SOA CLTV COR LK1SubF,SOA-PriceAdjSOACLTVCORLK1SubF
146
+ rule,SOA-PriceAdj SOA CLTV COR LK2,SOA-PriceAdjSOACLTVCORLK2
147
+ rule,SOA-PriceAdj SOA CLTV COR LK2SubF,SOA-PriceAdjSOACLTVCORLK2SubF
148
+ rule,SOA-PriceAdj SOA CLTV RTN LK1,SOA-PriceAdjSOACLTVRTNLK1
149
+ rule,SOA-PriceAdj SOA CLTV RTN LK1SubF,SOA-PriceAdjSOACLTVRTNLK1SubF
150
+ rule,SubP-PriceAdj Region-NPP-High,SubP-PriceAdjRegion-NPP-High
151
+ rule,SubP-PriceAdj Region-NPP-Low,SubP-PriceAdjRegion-NPP-Low
152
+ rule,SubP-PriceAdj Region-PP-High,SubP-PriceAdjRegion-PP-High
153
+ rule,SubP-PriceAdj Region-PP-Low,SubP-PriceAdjRegion-PP-Low
154
+ rule,ZAltA-Max DTI PI Calc 4,ZAltA-MaxDTIPICalc4
155
+ ruleset,AltA-Amort Type 1st Ruleset,AltA-AmortType1stRuleset
156
+ ruleset,AltA-Final Max Price 1st BRO Ruleset,AltA-FinalMaxPrice1stBRORuleset
157
+ ruleset,AltA-Final Max Price 1st COR Ruleset,AltA-FinalMaxPrice1stCORRuleset
158
+ ruleset,AltA-GetMaxPrice1st T1,AltA-GetMaxPrice1stT1
159
+ ruleset,AltA-Max DTI PI Calc Ruleset,AltA-MaxDTIPICalcRuleset
160
+ ruleset,AltA-Max Pymt Shock PI Calc Ruleset,AltA-MaxPymtShockPICalcRuleset
161
+ ruleset,AltA-Payment Shock Calc Ruleset,AltA-PaymentShockCalcRuleset
162
+ ruleset,AltA-ProgramType,AltA-ProgramType
163
+ ruleset,AltA-RateAdj 1st ruleset,AltA-RateAdj1struleset
164
+ ruleset,AltA-SetPriceAdjustments1st T1,AltA-SetPriceAdjustments1stT1
165
+ ruleset,AltA-SetPriceAdjustments1st T1-SubF,AltA-SetPriceAdjustments1stT1-SubF
166
+ ruleset,G-CalcExtensionFees,G-CalcExtensionFees
167
+ ruleset,G-CalcPi1st-BasedOnType,G-CalcPi1st-BasedOnType
168
+ ruleset,G-CalcQualRate,G-CalcQualRate
169
+ ruleset,G-GetExceptionAdjs-Lien1,G-GetExceptionAdjs-Lien1
170
+ ruleset,G-GetRequestedRateMarginLien1,G-GetRequestedRateMarginLien1
171
+ ruleset,G-Locked Rate Ruleset,G-LockedRateRuleset
172
+ ruleset,G-MaxPaymentShockCalc,G-MaxPaymentShockCalc
173
+ ruleset,G-OverrideMaxPrice,G-OverrideMaxPrice
174
+ ruleset,G-PriceAdj Region Ruleset,G-PriceAdjRegionRuleset
175
+ ruleset,G-PricingCleanup,G-PricingCleanup
176
+ ruleset,G-Rate Adj TX CashOut,G-RateAdjTXCashOut
177
+ ruleset,G-RegionCode Ruleset,G-RegionCodeRuleset
178
+ ruleset,G-RemoveExtensionFees,G-RemoveExtensionFees
179
+ ruleset,G-Sub Prop Cash Flow Ruleset,G-SubPropCashFlowRuleset
180
+ ruleset,WC-WorstCasePricing-Rate,WC-WorstCasePricing-Rate
@@ -0,0 +1,174 @@
1
+ <GuidelineRoot>
2
+ <Guideline GuidelineID="48" Name="TESTGUIDELINE-W-LOOKUPS" Version="53120" StartDate="Oct 12 2007 10:11PM">
3
+ <Ruleset Id="2027" Name="AltA-GetMaxPrice1st T1" ExecuteType="3" Type="0">
4
+ <Rule Id="20480" Name="AltA-MaxPrice1st BRO T1">
5
+ <IfMessages/>
6
+ <ElseMessages/>
7
+ <Condition>
8
+ <Expression>
9
+ <Brace>
10
+ <Compute>
11
+ <Operator>==</Operator>
12
+ <LeftOperand>
13
+ <PPM Name="User Type" Type="APM"/>
14
+ </LeftOperand>
15
+ <RightOperand>
16
+ <Constant>Broker</Constant>
17
+ </RightOperand>
18
+ </Compute>
19
+ </Brace>
20
+ </Expression>
21
+ </Condition>
22
+ <IfActions>
23
+ <Assign>
24
+ <AssignTo>
25
+ <DPM Name="Max Price 1st" Type="DPM" Order="0" ProductType="3"/>
26
+ </AssignTo>
27
+ <AssignValue>
28
+ <Lookup ID="1486" Name="AltA-MaxPrice1st BRO LK1"/>
29
+ </AssignValue>
30
+ </Assign>
31
+ <Assign>
32
+ <AssignTo>
33
+ <DPM Name="Max Price 1st NOO" Type="DPM" Order="0" ProductType="3"/>
34
+ </AssignTo>
35
+ <AssignValue>
36
+ <Lookup ID="1493" Name="AltA-MaxPrice1st NOO BRO LK1"/>
37
+ </AssignValue>
38
+ </Assign>
39
+ <Assign>
40
+ <AssignTo>
41
+ <DPM Name="Max Price 1st Ln Amt" Type="DPM" Order="0" ProductType="3"/>
42
+ </AssignTo>
43
+ <AssignValue>
44
+ <Lookup ID="1494" Name="AltA-MaxPrice1st Ln Amt BRO LK1"/>
45
+ </AssignValue>
46
+ </Assign>
47
+ <Assign>
48
+ <AssignTo>
49
+ <DPM Name="Max Price 1st DocFICO" Type="DPM" Order="0" ProductType="3"/>
50
+ </AssignTo>
51
+ <AssignValue>
52
+ <Lookup ID="6983" Name="AltA-MaxPrice1st DocFICO BRO LK1"/>
53
+ </AssignValue>
54
+ </Assign>
55
+ </IfActions>
56
+ </Rule>
57
+ </Ruleset>
58
+ </Guideline>
59
+ <LOOKUPS>
60
+ <LOOKUP Name="AltA-MaxPrice1st BRO LK1">
61
+ <XParameter>
62
+ <DPM Name="Amort Type 1st" DataType="Text" Type="DPM" Order="0" ProductType="6"/>
63
+ </XParameter>
64
+ <YParameter>
65
+ <DPM Name="Prepay Term 1st" DataType="Text" Type="DPM" Order="0" ProductType="4"/>
66
+ </YParameter>
67
+ <Row MinValue="Fixed 30" MaxValue="Fixed 30">
68
+ <Column MinValue="0" MaxValue="0">-1.500</Column>
69
+ <Column MinValue="4" MaxValue="4">-1.500</Column>
70
+ <Column MinValue="12" MaxValue="12">0.000</Column>
71
+ <Column MinValue="24" MaxValue="24">0.000</Column>
72
+ <Column MinValue="36" MaxValue="36">0.000</Column>
73
+ </Row>
74
+ <Row MinValue="Fixed 15" MaxValue="Fixed 15">
75
+ <Column MinValue="0" MaxValue="0">-1.500</Column>
76
+ <Column MinValue="4" MaxValue="4">-1.500</Column>
77
+ <Column MinValue="12" MaxValue="12">0.000</Column>
78
+ <Column MinValue="24" MaxValue="24">0.000</Column>
79
+ <Column MinValue="36" MaxValue="36">0.000</Column>
80
+ </Row>
81
+ <Row MinValue="2/6 Mo Libor" MaxValue="2/6 Mo Libor">
82
+ <Column MinValue="0" MaxValue="0">0.000</Column>
83
+ <Column MinValue="4" MaxValue="4">0.000</Column>
84
+ <Column MinValue="12" MaxValue="12">0.000</Column>
85
+ <Column MinValue="24" MaxValue="24">0.000</Column>
86
+ <Column MinValue="36" MaxValue="36">0.000</Column>
87
+ </Row>
88
+ <Row MinValue="3/6 Mo Libor" MaxValue="3/6 Mo Libor">
89
+ <Column MinValue="0" MaxValue="0">-1.500</Column>
90
+ <Column MinValue="4" MaxValue="4">-1.500</Column>
91
+ <Column MinValue="12" MaxValue="12">-1.500</Column>
92
+ <Column MinValue="24" MaxValue="24">-1.500</Column>
93
+ <Column MinValue="36" MaxValue="36">-1.500</Column>
94
+ </Row>
95
+ <Row MinValue="5/6 Mo Libor" MaxValue="5/6 Mo Libor">
96
+ <Column MinValue="0" MaxValue="0">-1.500</Column>
97
+ <Column MinValue="4" MaxValue="4">-1.500</Column>
98
+ <Column MinValue="12" MaxValue="12">-1.500</Column>
99
+ <Column MinValue="24" MaxValue="24">-1.500</Column>
100
+ <Column MinValue="36" MaxValue="36">-1.500</Column>
101
+ </Row>
102
+ <Row MinValue="7/6 Mo Libor" MaxValue="7/6 Mo Libor">
103
+ <Column MinValue="0" MaxValue="0">-1.500</Column>
104
+ <Column MinValue="4" MaxValue="4">-1.500</Column>
105
+ <Column MinValue="12" MaxValue="12">-1.500</Column>
106
+ <Column MinValue="24" MaxValue="24">-1.500</Column>
107
+ <Column MinValue="36" MaxValue="36">-1.500</Column>
108
+ </Row>
109
+ <Row MinValue="10/6 Mo Libor" MaxValue="10/6 Mo Libor">
110
+ <Column MinValue="0" MaxValue="0">-1.500</Column>
111
+ <Column MinValue="4" MaxValue="4">-1.500</Column>
112
+ <Column MinValue="12" MaxValue="12">-1.500</Column>
113
+ <Column MinValue="24" MaxValue="24">-1.500</Column>
114
+ <Column MinValue="36" MaxValue="36">-1.500</Column>
115
+ </Row>
116
+ <Row MinValue="6 Mo Libor" MaxValue="6 Mo Libor">
117
+ <Column MinValue="0" MaxValue="0">-1.500</Column>
118
+ <Column MinValue="4" MaxValue="4">-1.500</Column>
119
+ <Column MinValue="12" MaxValue="12">-1.500</Column>
120
+ <Column MinValue="24" MaxValue="24">-1.500</Column>
121
+ <Column MinValue="36" MaxValue="36">-1.500</Column>
122
+ </Row>
123
+ <Row MinValue="5 Yr OptA" MaxValue="5 Yr OptA">
124
+ <Column MinValue="0" MaxValue="0">0.000</Column>
125
+ <Column MinValue="4" MaxValue="4">0.000</Column>
126
+ <Column MinValue="12" MaxValue="12">0.000</Column>
127
+ <Column MinValue="24" MaxValue="24">0.000</Column>
128
+ <Column MinValue="36" MaxValue="36">0.000</Column>
129
+ </Row>
130
+ </LOOKUP>
131
+ <LOOKUP Name="AltA-MaxPrice1st NOO BRO LK1">
132
+ <XParameter>
133
+ <PPM Name="Occupancy" DataType="Text" Type="APM"/>
134
+ </XParameter>
135
+ <YParameter>
136
+ <DPM Name="Global Parameter" DataType="Numeric" Type="DPM" Order="0" ProductType="4"/>
137
+ </YParameter>
138
+ <Row MinValue="Investment" MaxValue="Investment">
139
+ <Column MinValue="1" MaxValue="1">-1.500</Column>
140
+ </Row>
141
+ </LOOKUP>
142
+ <LOOKUP Name="AltA-MaxPrice1st Ln Amt BRO LK1">
143
+ <XParameter>
144
+ <DPM Name="Loan Amount 1st" DataType="Money" Type="DPM" Order="0" ProductType="3"/>
145
+ </XParameter>
146
+ <YParameter>
147
+ <DPM Name="Global Parameter" DataType="Text" Type="DPM" Order="0" ProductType="4"/>
148
+ </YParameter>
149
+ <Row MinValue="650001" MaxValue="1500000">
150
+ <Column MinValue="1" MaxValue="1">-2.000</Column>
151
+ </Row>
152
+ <Row MinValue="1500001" MaxValue="10000000">
153
+ <Column MinValue="1" MaxValue="1">-1.000</Column>
154
+ </Row>
155
+ </LOOKUP>
156
+ <LOOKUP Name="AltA-MaxPrice1st DocFICO BRO LK1">
157
+ <XParameter>
158
+ <PPM Name="Document Type" DataType="Text" Type="APM"/>
159
+ </XParameter>
160
+ <YParameter>
161
+ <DPM Name="Credit Score" DataType="Numeric" Type="DSM" Order="0" ProductType="4"/>
162
+ </YParameter>
163
+ <Row MinValue="NINA" MaxValue="NINA">
164
+ <Column MinValue="450" MaxValue="659">-11.500</Column>
165
+ </Row>
166
+ <Row MinValue="No Doc" MaxValue="No Doc">
167
+ <Column MinValue="450" MaxValue="659">-11.500</Column>
168
+ </Row>
169
+ <Row MinValue="No Doc with Assets" MaxValue="No Doc with Assets">
170
+ <Column MinValue="450" MaxValue="659">-11.500</Column>
171
+ </Row>
172
+ </LOOKUP>
173
+ </LOOKUPS>
174
+ </GuidelineRoot>
@@ -0,0 +1,127 @@
1
+ /* **************************************************************************
2
+ * File: data/DCTEST1wLookups.xml.gdl
3
+ *
4
+ * Guideline source generated 12/05/2007 14:57:34
5
+ *
6
+ * *************************************************************************/
7
+
8
+
9
+
10
+
11
+
12
+
13
+ // +++++++++++++++++++++++++++ DPM Definitions +++++++++++++++++++++++++++
14
+
15
+ dpm text amortType1st "Amort Type 1st";
16
+ dpm numeric globalParam "Global Parameter";
17
+ dpm money loanAmount1st "Loan Amount 1st";
18
+ dpm numeric maxPrice1st "Max Price 1st";
19
+ dpm money MaxPrice1stDocFICO "Max Price 1st DocFICO";
20
+ dpm money MaxPrice1stLnAmt "Max Price 1st Ln Amt";
21
+ dpm money MaxPrice1stNOO "Max Price 1st NOO";
22
+ dpm numeric PrepayTerm1st "Prepay Term 1st";
23
+
24
+
25
+
26
+
27
+ // +++++++++++++++++++++++++++ DSM Definitions +++++++++++++++++++++++++++
28
+
29
+ decision dpm numeric creditScore "Credit Score";
30
+
31
+
32
+
33
+
34
+ // +++++++++++++++++++++++++++ PPM Definitions +++++++++++++++++++++++++++
35
+
36
+ ppm text app pDocumentType "Document Type";
37
+ ppm text app pOccupancy "Occupancy";
38
+ ppm text app pUserType "User Type";
39
+
40
+
41
+
42
+
43
+ /* ************************************************************************
44
+ -- Lookups that need to be imported --
45
+
46
+ lookup("AltA-MaxPrice1st BRO LK1", amortType1st, PrepayTerm1st);
47
+ lookup("AltA-MaxPrice1st DocFICO BRO LK1", pDocumentType, creditScore);
48
+ lookup("AltA-MaxPrice1st Ln Amt BRO LK1", loanAmount1st, globalParam);
49
+ lookup("AltA-MaxPrice1st NOO BRO LK1", pOccupancy, globalParam);
50
+
51
+
52
+ ************************************************************************ */
53
+
54
+
55
+
56
+
57
+
58
+
59
+
60
+
61
+ // ++++++++++++++++++++++++++ Rule Definitions ++++++++++++++++++++++++++
62
+
63
+ alias(rule, AltA-MaxPrice1stBROT1, "AltA-MaxPrice1st BRO T1");
64
+
65
+ /* ==========================================================================
66
+ * AltA-MaxPrice1stBROT1
67
+ *
68
+ *
69
+ */
70
+ rule AltA-MaxPrice1stBROT1()
71
+ if(
72
+ (pUserType == "Broker")
73
+ )
74
+ then
75
+ maxPrice1st = lookup("AltA-MaxPrice1st BRO LK1", amortType1st, PrepayTerm1st);
76
+ MaxPrice1stNOO = lookup("AltA-MaxPrice1st NOO BRO LK1", pOccupancy, globalParam);
77
+ MaxPrice1stLnAmt = lookup("AltA-MaxPrice1st Ln Amt BRO LK1", loanAmount1st, globalParam);
78
+ MaxPrice1stDocFICO = lookup("AltA-MaxPrice1st DocFICO BRO LK1", pDocumentType, creditScore);
79
+
80
+
81
+ end
82
+ end // rule AltA-MaxPrice1stBROT1
83
+
84
+
85
+
86
+
87
+
88
+
89
+
90
+
91
+ // +++++++++++++++++++++++++ Ruleset Definitions +++++++++++++++++++++++++
92
+
93
+ alias(ruleset, AltA-GetMaxPrice1stT1, "AltA-GetMaxPrice1st T1");
94
+
95
+ /* ==========================================================================
96
+ * AltA-GetMaxPrice1stT1
97
+ *
98
+ *
99
+ */
100
+ ruleset AltA-GetMaxPrice1stT1(continue)
101
+ rule AltA-MaxPrice1stBROT1();
102
+
103
+ end // ruleset AltA-GetMaxPrice1stT1
104
+
105
+
106
+
107
+
108
+
109
+
110
+
111
+
112
+ // ++++++++++++++++++++++++ Guideline Definition ++++++++++++++++++++++++
113
+
114
+ /* ==========================================================================
115
+ * TESTGUIDELINE-W-LOOKUPS
116
+ *
117
+ * ID: 48
118
+ * Version: 53120
119
+ * Start Date: Oct 12 2007 10:11PM
120
+ *
121
+ */
122
+ guideline("TESTGUIDELINE-W-LOOKUPS")
123
+
124
+ ruleset AltA-GetMaxPrice1stT1();
125
+
126
+
127
+ end // guideline TESTGUIDELINE-W-LOOKUPS
@@ -0,0 +1 @@
1
+ <GuidelineRoot><Guideline GuidelineID="1" Name="Z-TEMP-Jeff" Version="1" StartDate="Nov 30 2007 12:00AM"><Ruleset Id="1" Name="AltA-Max DTI Limits Calc Ruleset" ExecuteType="1" Type="0"><Rule Id="5" Name="AltA-Max Dti SivaLiteDoc"><IfMessages/><ElseMessages/><Condition><Expression><Compute><Operator>OR</Operator><LeftOperand><Brace><Compute><Operator>==</Operator><LeftOperand><PPM Name="Document Type" Type="APM"/></LeftOperand><RightOperand><Constant>SIVA</Constant></RightOperand></Compute></Brace></LeftOperand><RightOperand><Brace><Compute><Operator>==</Operator><LeftOperand><PPM Name="Document Type" Type="APM"/></LeftOperand><RightOperand><Constant>Lite Doc</Constant></RightOperand></Compute></Brace></RightOperand></Compute></Expression></Condition><IfActions><Assign><AssignTo><DPM Name="Max DTI" Type="DSM" Order="0" ProductType="4"/></AssignTo><AssignValue><Expression><Constant>50</Constant></Expression></AssignValue></Assign></IfActions></Rule><Rule Id="1" Name="AltA-Max DTI Investment"><IfMessages/><ElseMessages/><Condition><Expression><Brace><Compute><Operator>==</Operator><LeftOperand><PPM Name="Occupancy" Type="APM"/></LeftOperand><RightOperand><Constant>Investment</Constant></RightOperand></Compute></Brace></Expression></Condition><IfActions><Assign><AssignTo><DPM Name="Max DTI" Type="DSM" Order="0" ProductType="4"/></AssignTo><AssignValue><Expression><Constant>50</Constant></Expression></AssignValue></Assign></IfActions></Rule><Rule Id="8" Name="AltA-Max DTI PriSecResidence"><IfMessages/><ElseMessages/><Condition><Expression><Brace><Compute><Operator>OR</Operator><LeftOperand><Brace><Compute><Operator>==</Operator><LeftOperand><PPM Name="Occupancy" Type="APM"/></LeftOperand><RightOperand><Constant>PrimaryResidence</Constant></RightOperand></Compute></Brace></LeftOperand><RightOperand><Brace><Compute><Operator>==</Operator><LeftOperand><PPM Name="Occupancy" Type="APM"/></LeftOperand><RightOperand><Constant>SecondaryResidence</Constant></RightOperand></Compute></Brace></RightOperand></Compute></Brace></Expression></Condition><IfActions><Assign><AssignTo><DPM Name="Max DTI" Type="DSM" Order="0" ProductType="4"/></AssignTo><AssignValue><Expression><Constant>50</Constant></Expression></AssignValue></Assign></IfActions></Rule></Ruleset><Ruleset Id="2" Name="AltA-Max DTI Limits Calc Combo Ruleset" ExecuteType="1" Type="0"><Rule Id="2" Name="AltA-Max DTI 1000001 Combo"><IfMessages/><ElseMessages/><Condition><Expression><Brace><Compute><Operator>&gt;</Operator><LeftOperand><DPM Name="Combined Loan Amount" Type="DPM" Order="0" ProductType="3"/></LeftOperand><RightOperand><Constant>1000000</Constant></RightOperand></Compute></Brace></Expression></Condition><IfActions><Assign><AssignTo><DPM Name="Max DTI" Type="DSM" Order="0" ProductType="4"/></AssignTo><AssignValue><Expression><Constant>42</Constant></Expression></AssignValue></Assign></IfActions></Rule><Rule Id="4" Name="AltA-Max DTI Texas Cash Out"><IfMessages/><ElseMessages/><Condition><Expression><Compute><Operator>AND</Operator><LeftOperand><Compute><Operator>AND</Operator><LeftOperand><Brace><Compute><Operator>==</Operator><LeftOperand><PPM Name="Occupancy" Type="APM"/></LeftOperand><RightOperand><Constant>PrimaryResidence</Constant></RightOperand></Compute></Brace></LeftOperand><RightOperand><Brace><Compute><Operator>==</Operator><LeftOperand><DPM Name="Purpose Abbrev" Type="DPM" Order="0" ProductType="6"/></LeftOperand><RightOperand><Constant>CO</Constant></RightOperand></Compute></Brace></RightOperand></Compute></LeftOperand><RightOperand><Brace><Compute><Operator>==</Operator><LeftOperand><PPM Name="State of the Subject Property" Type="APM"/></LeftOperand><RightOperand><Constant>TX</Constant></RightOperand></Compute></Brace></RightOperand></Compute></Expression></Condition><IfActions><Assign><AssignTo><DPM Name="Max DTI" Type="DSM" Order="0" ProductType="4"/></AssignTo><AssignValue><Expression><Constant>45</Constant></Expression></AssignValue></Assign></IfActions></Rule><Rule Id="3" Name="AltA-MaxDti55IOFullDocCombo"><IfMessages/><ElseMessages/><Condition><Expression><Compute><Operator>AND</Operator><LeftOperand><Compute><Operator>AND</Operator><LeftOperand><Brace><Compute><Operator>==</Operator><LeftOperand><DPM Name="Doc Type Abbrev" Type="DPM" Order="0" ProductType="6"/></LeftOperand><RightOperand><Constant>Full Doc</Constant></RightOperand></Compute></Brace></LeftOperand><RightOperand><Brace><Compute><Operator>&lt;=</Operator><LeftOperand><DPM Name="Combined Loan Amount" Type="DPM" Order="0" ProductType="3"/></LeftOperand><RightOperand><Constant>1000000</Constant></RightOperand></Compute></Brace></RightOperand></Compute></LeftOperand><RightOperand><Brace><Compute><Operator>OR</Operator><LeftOperand><Brace><Compute><Operator>==</Operator><LeftOperand><PPM Name="Amortization Type-PDT" Type="PRD"/></LeftOperand><RightOperand><Constant>IOARM</Constant></RightOperand></Compute></Brace></LeftOperand><RightOperand><Brace><Compute><Operator>==</Operator><LeftOperand><PPM Name="Amortization Type-PDT" Type="PRD"/></LeftOperand><RightOperand><Constant>IOFixed</Constant></RightOperand></Compute></Brace></RightOperand></Compute></Brace></RightOperand></Compute></Expression></Condition><IfActions><Assign><AssignTo><DPM Name="Max DTI" Type="DSM" Order="0" ProductType="4"/></AssignTo><AssignValue><Expression><Constant>55</Constant></Expression></AssignValue></Assign></IfActions></Rule><Rule Id="7" Name="AltA-MaxDti55IOFullDocHelocCombo"><IfMessages/><ElseMessages/><Condition><Expression><Compute><Operator>AND</Operator><LeftOperand><Compute><Operator>AND</Operator><LeftOperand><Compute><Operator>AND</Operator><LeftOperand><Brace><Compute><Operator>==</Operator><LeftOperand><DPM Name="Doc Type Abbrev" Type="DPM" Order="0" ProductType="6"/></LeftOperand><RightOperand><Constant>Full Doc</Constant></RightOperand></Compute></Brace></LeftOperand><RightOperand><Brace><Compute><Operator>&lt;=</Operator><LeftOperand><DPM Name="Combined Loan Amount" Type="DPM" Order="0" ProductType="3"/></LeftOperand><RightOperand><Constant>1000000</Constant></RightOperand></Compute></Brace></RightOperand></Compute></LeftOperand><RightOperand><Brace><Compute><Operator>OR</Operator><LeftOperand><Brace><Compute><Operator>==</Operator><LeftOperand><PPM Name="Amortization Type-PDT" Type="PRD"/></LeftOperand><RightOperand><Constant>IOARM</Constant></RightOperand></Compute></Brace></LeftOperand><RightOperand><Brace><Compute><Operator>==</Operator><LeftOperand><PPM Name="Amortization Type-PDT" Type="PRD"/></LeftOperand><RightOperand><Constant>IOFixed</Constant></RightOperand></Compute></Brace></RightOperand></Compute></Brace></RightOperand></Compute></LeftOperand><RightOperand><Brace><Compute><Operator>==</Operator><LeftOperand><DPM Name="Amort Type 2nd" Type="DPM" Order="0" ProductType="6"/></LeftOperand><RightOperand><Constant>HELOC</Constant></RightOperand></Compute></Brace></RightOperand></Compute></Expression></Condition><IfActions><Assign><AssignTo><DPM Name="Max DTI" Type="DSM" Order="0" ProductType="4"/></AssignTo><AssignValue><Expression><Constant>55</Constant></Expression></AssignValue></Assign></IfActions></Rule><Rule Id="6" Name="AltA-Max DTI 1000000 Combo"><IfMessages/><ElseMessages/><Condition><Expression><Compute><Operator>AND</Operator><LeftOperand><Compute><Operator>AND</Operator><LeftOperand><Brace><Compute><Operator>OR</Operator><LeftOperand><Brace><Compute><Operator>==</Operator><LeftOperand><PPM Name="Occupancy" Type="APM"/></LeftOperand><RightOperand><Constant>PrimaryResidence</Constant></RightOperand></Compute></Brace></LeftOperand><RightOperand><Brace><Compute><Operator>==</Operator><LeftOperand><PPM Name="Occupancy" Type="APM"/></LeftOperand><RightOperand><Constant>SecondaryResidence</Constant></RightOperand></Compute></Brace></RightOperand></Compute></Brace></LeftOperand><RightOperand><Brace><Compute><Operator>&lt;=</Operator><LeftOperand><DPM Name="CLTV" Type="DSM" Order="0" ProductType="5"/></LeftOperand><RightOperand><Constant>80</Constant></RightOperand></Compute></Brace></RightOperand></Compute></LeftOperand><RightOperand><Brace><Compute><Operator>&lt;=</Operator><LeftOperand><DPM Name="Combined Loan Amount" Type="DPM" Order="0" ProductType="3"/></LeftOperand><RightOperand><Constant>1000000</Constant></RightOperand></Compute></Brace></RightOperand></Compute></Expression></Condition><IfActions><Assign><AssignTo><DPM Name="Max DTI" Type="DSM" Order="0" ProductType="4"/></AssignTo><AssignValue><Expression><Constant>55</Constant></Expression></AssignValue></Assign></IfActions><ElseActions><Assign><AssignTo><DPM Name="Max DTI" Type="DSM" Order="0" ProductType="4"/></AssignTo><AssignValue><Expression><Constant>50</Constant></Expression></AssignValue></Assign></ElseActions></Rule></Ruleset></Guideline><LOOKUPS></LOOKUPS></GuidelineRoot>
@@ -0,0 +1 @@
1
+ <GuidelineRoot><Guideline GuidelineID="80" Name="Z-TEMP" Version="63268" StartDate="Nov 30 2007 7:11PM"><Rule Id="49733" Name="G-MaxLTV80Zip"><IfMessages><Message Type="Observation"><![CDATA[Subject Property is within the MSA boundaries. Max LTV/CLTV is 80%.]]></Message></IfMessages><ElseMessages /><Condition><Expression><Compute><Operator>AND</Operator><LeftOperand><Brace><Compute><Operator>&gt;</Operator><LeftOperand><DPM Name="Max LTV" Type="DSM" Order="0" ProductType="4" /></LeftOperand><RightOperand><Constant>80</Constant></RightOperand></Compute></Brace></LeftOperand><RightOperand><Brace><Compute><Operator>==</Operator><LeftOperand><DPM Name="fLimitLTV80Zip" Type="DPM" Order="0" ProductType="4" /></LeftOperand><RightOperand><Constant>1</Constant></RightOperand></Compute></Brace></RightOperand></Compute></Expression></Condition><IfActions><Assign><AssignTo><DPM Name="Max LTV" Type="DSM" Order="0" ProductType="4" /></AssignTo><AssignValue><Expression><Constant>80</Constant></Expression></AssignValue></Assign><Assign><AssignTo><DPM Name="Max CLTV" Type="DSM" Order="0" ProductType="4" /></AssignTo><AssignValue><Expression><Constant>80</Constant></Expression></AssignValue></Assign></IfActions></Rule><Rule Id="51251" Name="Exptn-PoconoPa"><IfMessages><Message Type="Exceptions" ExceptionType="Exceptions"><![CDATA[Rural Properties in the Pocono Region of PA have a Max LTV of 80%.]]></Message></IfMessages><ElseMessages /><Condition><Expression><Compute><Operator>AND</Operator><LeftOperand><Brace><Compute><Operator>&gt;</Operator><LeftOperand><DPM Name="LTV" Type="DSM" Order="0" ProductType="4" /></LeftOperand><RightOperand><Constant>80</Constant></RightOperand></Compute></Brace></LeftOperand><RightOperand><Brace><Compute><Operator>==</Operator><LeftOperand><DPM Name="fLimitRuralZip" Type="DPM" Order="0" ProductType="4" /></LeftOperand><RightOperand><Constant>1</Constant></RightOperand></Compute></Brace></RightOperand></Compute></Expression></Condition><IfActions><Assign><AssignTo><DPM Name="Decision" Type="DSM" Order="0" ProductType="6" /></AssignTo><AssignValue><Expression><Constant>Referred</Constant></Expression></AssignValue></Assign></IfActions></Rule><Rule Id="3803" Name="G-Cond BrokerSubmissionForm"><IfMessages><Message Type="Condition" Id="336" PriorTo="1" Category="1" Responsible="BROKER" WhoCanClear="UNDERWRITER" Critical="Yes" Visibility="Internal"><![CDATA[Broker must submit "Broker Submission Form" with underwriting package.]]></Message></IfMessages><ElseMessages /><Condition><Expression><Brace><Compute><Operator>&gt;</Operator><LeftOperand><PPM Name="Loan Amount" Type="APM" /></LeftOperand><RightOperand><Constant>0</Constant></RightOperand></Compute></Brace></Expression></Condition></Rule></Guideline></GuidelineRoot>
@@ -0,0 +1,142 @@
1
+ /* **************************************************************************
2
+ * File: data/Message.xml.gdl
3
+ * Guideline generated: 12/05/2007 09:29:45
4
+ *
5
+ * *************************************************************************/
6
+
7
+
8
+
9
+
10
+
11
+
12
+ // --------------------------- DPM Definitions ---------------------------
13
+
14
+ dpm numeric fLimitLTV80Zip "fLimitLTV80Zip";
15
+ dpm numeric fLimitRuralZip "fLimitRuralZip";
16
+
17
+
18
+
19
+
20
+ // --------------------------- DSM Definitions ---------------------------
21
+
22
+ decision dpm text Decision "Decision";
23
+ decision dpm numeric LTV "LTV";
24
+ decision dpm numeric maxCLTV "Max CLTV";
25
+ decision dpm numeric maxLTV "Max LTV";
26
+
27
+
28
+
29
+
30
+ // --------------------------- PPM Definitions ---------------------------
31
+
32
+ ppm money app pLoanAmount "Loan Amount";
33
+
34
+
35
+
36
+
37
+ /* ************************************************************************
38
+ -- Lookups that need to be imported --
39
+
40
+
41
+ ************************************************************************ */
42
+
43
+
44
+
45
+
46
+
47
+ // -------------------------- Rule Definitions --------------------------
48
+
49
+
50
+ /* ==========================================================================
51
+ * Exptn-PoconoPa
52
+ *
53
+ *
54
+ */
55
+ rule Exptn-PoconoPa()
56
+ if(
57
+ (LTV > 80) &&
58
+ (fLimitRuralZip == 1)
59
+ )
60
+ then
61
+ Decision = "Referred";
62
+
63
+ message(exception, exception, "Rural Properties in the Pocono Region of PA have a Max LTV of 80%.");
64
+
65
+ end
66
+ end // rule Exptn-PoconoPa
67
+
68
+
69
+
70
+
71
+ alias(rule, G-CondBrokerSubmissionForm, "G-Cond BrokerSubmissionForm");
72
+
73
+ /* ==========================================================================
74
+ * G-CondBrokerSubmissionForm
75
+ *
76
+ *
77
+ */
78
+ rule G-CondBrokerSubmissionForm()
79
+ if(
80
+ (pLoanAmount > 0)
81
+ )
82
+ then
83
+
84
+ condition(asset, docs, "Broker must submit 'Broker Submission Form' with underwriting package.");
85
+
86
+ end
87
+ end // rule G-CondBrokerSubmissionForm
88
+
89
+
90
+
91
+
92
+
93
+ /* ==========================================================================
94
+ * G-MaxLTV80Zip
95
+ *
96
+ *
97
+ */
98
+ rule G-MaxLTV80Zip()
99
+ if(
100
+ (maxLTV > 80) &&
101
+ (fLimitLTV80Zip == 1)
102
+ )
103
+ then
104
+ maxLTV = 80;
105
+ maxCLTV = 80;
106
+
107
+ message(observation, "Subject Property is within the MSA boundaries. Max LTV/CLTV is 80%.");
108
+
109
+ end
110
+ end // rule G-MaxLTV80Zip
111
+
112
+
113
+
114
+
115
+
116
+
117
+
118
+
119
+ // ------------------------- Ruleset Definitions -------------------------
120
+
121
+
122
+
123
+
124
+
125
+ // ------------------------ Guideline Definition ------------------------
126
+
127
+ /* ==========================================================================
128
+ * Z-TEMP
129
+ *
130
+ * ID: 80
131
+ * Version: 63268
132
+ * Start Date: Nov 30 2007 7:11PM
133
+ *
134
+ */
135
+ guideline("Z-TEMP")
136
+
137
+ rule G-MaxLTV80Zip();
138
+ rule Exptn-PoconoPa();
139
+ rule G-CondBrokerSubmissionForm();
140
+
141
+
142
+ end // guideline Z-TEMP