wells_fargo 0.2.0
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.
- data/.gitignore +5 -0
- data/Gemfile +4 -0
- data/PM XML Sample.xml +5260 -0
- data/PM XML Schema.xml +539 -0
- data/Rakefile +17 -0
- data/lib/schema.xml +539 -0
- data/lib/wells_fargo/element.rb +77 -0
- data/lib/wells_fargo/elements/account_reporting.rb +14 -0
- data/lib/wells_fargo/elements/additional_details.rb +10 -0
- data/lib/wells_fargo/elements/amt_group.rb +11 -0
- data/lib/wells_fargo/elements/bank_id.rb +9 -0
- data/lib/wells_fargo/elements/bank_info.rb +14 -0
- data/lib/wells_fargo/elements/check.rb +14 -0
- data/lib/wells_fargo/elements/contact_info.rb +11 -0
- data/lib/wells_fargo/elements/cur_amt.rb +9 -0
- data/lib/wells_fargo/elements/date_info.rb +9 -0
- data/lib/wells_fargo/elements/deductions.rb +9 -0
- data/lib/wells_fargo/elements/deductions_total.rb +9 -0
- data/lib/wells_fargo/elements/delivery.rb +28 -0
- data/lib/wells_fargo/elements/delivery_party.rb +12 -0
- data/lib/wells_fargo/elements/dep_acct_id.rb +11 -0
- data/lib/wells_fargo/elements/doc_delivery.rb +10 -0
- data/lib/wells_fargo/elements/earnings.rb +10 -0
- data/lib/wells_fargo/elements/earnings_total.rb +10 -0
- data/lib/wells_fargo/elements/edd_biller_id.rb +9 -0
- data/lib/wells_fargo/elements/eff_dt.rb +9 -0
- data/lib/wells_fargo/elements/exemptions.rb +12 -0
- data/lib/wells_fargo/elements/file.rb +14 -0
- data/lib/wells_fargo/elements/file_info_grp.rb +12 -0
- data/lib/wells_fargo/elements/file_out.rb +11 -0
- data/lib/wells_fargo/elements/id_info.rb +9 -0
- data/lib/wells_fargo/elements/intermediary_dep_acct_id.rb +9 -0
- data/lib/wells_fargo/elements/invoice_adj.rb +15 -0
- data/lib/wells_fargo/elements/invoice_info.rb +20 -0
- data/lib/wells_fargo/elements/invoice_mgr.rb +9 -0
- data/lib/wells_fargo/elements/message.rb +9 -0
- data/lib/wells_fargo/elements/name.rb +11 -0
- data/lib/wells_fargo/elements/name_map.rb +25 -0
- data/lib/wells_fargo/elements/note.rb +9 -0
- data/lib/wells_fargo/elements/orgnr_dep_acct_id.rb +9 -0
- data/lib/wells_fargo/elements/orgnr_party.rb +12 -0
- data/lib/wells_fargo/elements/payroll.rb +18 -0
- data/lib/wells_fargo/elements/phone_num.rb +10 -0
- data/lib/wells_fargo/elements/pmt_detail.rb +10 -0
- data/lib/wells_fargo/elements/pmt_rec.rb +41 -0
- data/lib/wells_fargo/elements/pmt_supp_ccr.rb +13 -0
- data/lib/wells_fargo/elements/pmt_supp_fdm.rb +12 -0
- data/lib/wells_fargo/elements/pmt_supp_pob.rb +9 -0
- data/lib/wells_fargo/elements/pmt_supp_wtx.rb +22 -0
- data/lib/wells_fargo/elements/po_info.rb +10 -0
- data/lib/wells_fargo/elements/post_addr.rb +16 -0
- data/lib/wells_fargo/elements/ra_info.rb +11 -0
- data/lib/wells_fargo/elements/rcvr_dep_acct_id.rb +9 -0
- data/lib/wells_fargo/elements/rcvr_party.rb +12 -0
- data/lib/wells_fargo/elements/ref_info.rb +10 -0
- data/lib/wells_fargo/elements/return_party.rb +12 -0
- data/lib/wells_fargo/elements/tax_info.rb +11 -0
- data/lib/wells_fargo/elements/vendor_party.rb +12 -0
- data/lib/wells_fargo/payment_manager.rb +27 -0
- data/lib/wells_fargo/schema.rb +84 -0
- data/lib/wells_fargo/version.rb +3 -0
- data/lib/wells_fargo.rb +26 -0
- data/test/element_test.rb +123 -0
- data/test/payment_manager_test.rb +31 -0
- data/test/test_helper.rb +3 -0
- data/wells_fargo.gemspec +24 -0
- metadata +162 -0
data/lib/schema.xml
ADDED
@@ -0,0 +1,539 @@
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
2
|
+
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
|
3
|
+
<!--ECS Payment Manager Payment XML Schema version 2010.06.02-->
|
4
|
+
<xsd:element name="File">
|
5
|
+
<xsd:complexType>
|
6
|
+
<xsd:sequence>
|
7
|
+
<xsd:element minOccurs="0" maxOccurs="unbounded" ref="PmtRec"/>
|
8
|
+
<xsd:element minOccurs="0" ref="FileInfoGrp"/>
|
9
|
+
</xsd:sequence>
|
10
|
+
<xsd:attribute name="CompanyID" use="optional"/>
|
11
|
+
<xsd:attribute name="ProcessID" use="optional"/>
|
12
|
+
<xsd:attribute name="DocumentType" use="optional"/>
|
13
|
+
<xsd:attribute name="PmtRecCount" use="optional"/>
|
14
|
+
<xsd:attribute name="PmtRecTotal" use="optional"/>
|
15
|
+
</xsd:complexType>
|
16
|
+
</xsd:element>
|
17
|
+
<xsd:element name="PmtRec">
|
18
|
+
<xsd:complexType>
|
19
|
+
<xsd:sequence>
|
20
|
+
<xsd:element minOccurs="0" maxOccurs="unbounded" ref="RefInfo"/>
|
21
|
+
<xsd:element minOccurs="0" maxOccurs="unbounded" ref="IDInfo"/>
|
22
|
+
<xsd:element minOccurs="0" maxOccurs="unbounded" ref="DateInfo"/>
|
23
|
+
<xsd:element minOccurs="0" maxOccurs="unbounded" ref="Message"/>
|
24
|
+
<xsd:element minOccurs="0" ref="Check"/>
|
25
|
+
<xsd:element minOccurs="0" ref="OrgnrParty"/>
|
26
|
+
<xsd:element minOccurs="0" ref="RcvrParty"/>
|
27
|
+
<xsd:element minOccurs="0" ref="DeliveryParty"/>
|
28
|
+
<xsd:element minOccurs="0" ref="ReturnParty"/>
|
29
|
+
<xsd:element minOccurs="0" ref="OrgnrDepAcctID"/>
|
30
|
+
<xsd:element minOccurs="0" ref="RcvrDepAcctID"/>
|
31
|
+
<xsd:element minOccurs="0" maxOccurs="2" ref="IntermediaryDepAcctID"/>
|
32
|
+
<xsd:element minOccurs="0" ref="VendorParty"/>
|
33
|
+
<xsd:element minOccurs="0" ref="PmtDetail"/>
|
34
|
+
<xsd:element minOccurs="0" ref="DocDelivery"/>
|
35
|
+
<xsd:element minOccurs="0" name="PDPHandlingCode"/>
|
36
|
+
<xsd:element minOccurs="0" name="PmtID"/>
|
37
|
+
<xsd:element minOccurs="0" ref="PmtSuppWTX"/>
|
38
|
+
<xsd:element minOccurs="0" ref="PmtSuppFDM"/>
|
39
|
+
<xsd:element minOccurs="0" ref="PmtSuppPOB"/>
|
40
|
+
<xsd:element minOccurs="0" ref="PmtSuppCCR"/>
|
41
|
+
<xsd:element minOccurs="0" ref="CurAmt"/>
|
42
|
+
<xsd:element minOccurs="0" name="CurCode"/>
|
43
|
+
<xsd:element minOccurs="0" name="PrcDate"/>
|
44
|
+
<xsd:element minOccurs="0" name="ValueDate"/>
|
45
|
+
<xsd:element minOccurs="0" name="RlsDate"/>
|
46
|
+
<xsd:element minOccurs="0" ref="InvoiceMgr"/>
|
47
|
+
</xsd:sequence>
|
48
|
+
<xsd:attribute name="PmtFormat"/>
|
49
|
+
<xsd:attribute name="PmtFormatIntl"/>
|
50
|
+
<xsd:attribute name="PmtMethod" use="required"/>
|
51
|
+
<xsd:attribute name="DeliveryMethod"/>
|
52
|
+
<xsd:attribute name="TranHandlingCode"/>
|
53
|
+
<xsd:attribute name="InvoiceMgrFlag"/>
|
54
|
+
<xsd:attribute name="PmtCrDr" use="optional"/>
|
55
|
+
</xsd:complexType>
|
56
|
+
</xsd:element>
|
57
|
+
<xsd:element name="RefInfo">
|
58
|
+
<xsd:complexType>
|
59
|
+
<xsd:sequence>
|
60
|
+
<xsd:element name="RefID"/>
|
61
|
+
<xsd:element minOccurs="0" name="RefDesc"/>
|
62
|
+
</xsd:sequence>
|
63
|
+
<xsd:attribute name="RefType" use="optional"/>
|
64
|
+
</xsd:complexType>
|
65
|
+
</xsd:element>
|
66
|
+
<xsd:element name="IDInfo">
|
67
|
+
<xsd:complexType>
|
68
|
+
<xsd:sequence>
|
69
|
+
<xsd:element name="ID"/>
|
70
|
+
</xsd:sequence>
|
71
|
+
<xsd:attribute name="IDType" use="optional"/>
|
72
|
+
</xsd:complexType>
|
73
|
+
</xsd:element>
|
74
|
+
<xsd:element name="DateInfo">
|
75
|
+
<xsd:complexType>
|
76
|
+
<xsd:sequence>
|
77
|
+
<xsd:element name="Date"/>
|
78
|
+
</xsd:sequence>
|
79
|
+
<xsd:attribute name="DateType" use="optional"/>
|
80
|
+
</xsd:complexType>
|
81
|
+
</xsd:element>
|
82
|
+
<xsd:element name="Message">
|
83
|
+
<xsd:complexType>
|
84
|
+
<xsd:sequence>
|
85
|
+
<xsd:element name="MsgText"/>
|
86
|
+
</xsd:sequence>
|
87
|
+
<xsd:attribute name="MsgType" use="optional"/>
|
88
|
+
</xsd:complexType>
|
89
|
+
</xsd:element>
|
90
|
+
<xsd:element name="Check">
|
91
|
+
<xsd:complexType>
|
92
|
+
<xsd:all>
|
93
|
+
<xsd:element minOccurs="0" maxOccurs="1" name="ChkNum"/>
|
94
|
+
<xsd:element minOccurs="0" maxOccurs="1" name="ChkDocNum"/>
|
95
|
+
<xsd:element minOccurs="0" maxOccurs="1" name="ChkCtrlNum"/>
|
96
|
+
<xsd:element minOccurs="0" maxOccurs="1" name="CourierName"/>
|
97
|
+
<xsd:element minOccurs="0" maxOccurs="1" name="CourierAccount"/>
|
98
|
+
<xsd:element minOccurs="0" maxOccurs="1" name="DeliveryCode"/>
|
99
|
+
</xsd:all>
|
100
|
+
</xsd:complexType>
|
101
|
+
</xsd:element>
|
102
|
+
<xsd:element name="OrgnrParty">
|
103
|
+
<xsd:complexType>
|
104
|
+
<xsd:sequence>
|
105
|
+
<xsd:element minOccurs="0" ref="Name"/>
|
106
|
+
<xsd:element minOccurs="0" maxOccurs="unbounded" ref="RefInfo"/>
|
107
|
+
<xsd:element minOccurs="0" ref="PostAddr"/>
|
108
|
+
<xsd:element minOccurs="0" ref="ContactInfo"/>
|
109
|
+
</xsd:sequence>
|
110
|
+
</xsd:complexType>
|
111
|
+
</xsd:element>
|
112
|
+
<xsd:element name="DeliveryParty">
|
113
|
+
<xsd:complexType>
|
114
|
+
<xsd:sequence>
|
115
|
+
<xsd:element minOccurs="0" ref="Name"/>
|
116
|
+
<xsd:element minOccurs="0" maxOccurs="unbounded" ref="RefInfo"/>
|
117
|
+
<xsd:element minOccurs="0" ref="PostAddr"/>
|
118
|
+
<xsd:element minOccurs="0" ref="ContactInfo"/>
|
119
|
+
</xsd:sequence>
|
120
|
+
</xsd:complexType>
|
121
|
+
</xsd:element>
|
122
|
+
<xsd:element name="ReturnParty">
|
123
|
+
<xsd:complexType>
|
124
|
+
<xsd:sequence>
|
125
|
+
<xsd:element minOccurs="0" ref="Name"/>
|
126
|
+
<xsd:element minOccurs="0" maxOccurs="unbounded" ref="RefInfo"/>
|
127
|
+
<xsd:element minOccurs="0" ref="PostAddr"/>
|
128
|
+
<xsd:element minOccurs="0" ref="ContactInfo"/>
|
129
|
+
</xsd:sequence>
|
130
|
+
</xsd:complexType>
|
131
|
+
</xsd:element>
|
132
|
+
<xsd:element name="BankID"/>
|
133
|
+
<xsd:element name="Name">
|
134
|
+
<xsd:complexType>
|
135
|
+
<xsd:all>
|
136
|
+
<xsd:element minOccurs="0" maxOccurs="1" name="Name1"/>
|
137
|
+
<xsd:element minOccurs="0" maxOccurs="1" name="Name2"/>
|
138
|
+
<xsd:element minOccurs="0" maxOccurs="1" name="Name3"/>
|
139
|
+
</xsd:all>
|
140
|
+
</xsd:complexType>
|
141
|
+
</xsd:element>
|
142
|
+
<xsd:element name="PostAddr">
|
143
|
+
<xsd:complexType>
|
144
|
+
<xsd:sequence>
|
145
|
+
<xsd:element minOccurs="0" maxOccurs="1" name="Addr1"/>
|
146
|
+
<xsd:element minOccurs="0" maxOccurs="1" name="Addr2"/>
|
147
|
+
<xsd:element minOccurs="0" maxOccurs="1" name="Addr3"/>
|
148
|
+
<xsd:element minOccurs="0" maxOccurs="1" name="City"/>
|
149
|
+
<xsd:element minOccurs="0" maxOccurs="1" name="StateProv"/>
|
150
|
+
<xsd:element minOccurs="0" maxOccurs="1" name="PostalCode"/>
|
151
|
+
<xsd:element minOccurs="0" maxOccurs="1" name="Country"/>
|
152
|
+
<xsd:element minOccurs="0" maxOccurs="1" name="CountryName"/>
|
153
|
+
</xsd:sequence>
|
154
|
+
</xsd:complexType>
|
155
|
+
</xsd:element>
|
156
|
+
<xsd:element name="DepAcctID">
|
157
|
+
<xsd:complexType>
|
158
|
+
<xsd:sequence>
|
159
|
+
<xsd:element minOccurs="0" ref="BankInfo"/>
|
160
|
+
</xsd:sequence>
|
161
|
+
<xsd:attribute name="AcctID"/>
|
162
|
+
<xsd:attribute name="AcctType"/>
|
163
|
+
<xsd:attribute name="AcctCur"/>
|
164
|
+
</xsd:complexType>
|
165
|
+
</xsd:element>
|
166
|
+
<xsd:element name="BankInfo">
|
167
|
+
<xsd:complexType>
|
168
|
+
<xsd:sequence>
|
169
|
+
<xsd:element minOccurs="0" maxOccurs="unbounded" ref="RefInfo"/>
|
170
|
+
<xsd:element minOccurs="0" ref="PostAddr"/>
|
171
|
+
<xsd:element minOccurs="0" ref="BankID"/>
|
172
|
+
</xsd:sequence>
|
173
|
+
<xsd:attribute name="Name"/>
|
174
|
+
<xsd:attribute name="BranchID"/>
|
175
|
+
<xsd:attribute name="BranchName"/>
|
176
|
+
<xsd:attribute name="BankIDType"/>
|
177
|
+
</xsd:complexType>
|
178
|
+
</xsd:element>
|
179
|
+
<xsd:element name="RcvrParty">
|
180
|
+
<xsd:complexType>
|
181
|
+
<xsd:sequence>
|
182
|
+
<xsd:element minOccurs="0" ref="Name"/>
|
183
|
+
<xsd:element minOccurs="0" maxOccurs="unbounded" ref="RefInfo"/>
|
184
|
+
<xsd:element minOccurs="0" ref="PostAddr"/>
|
185
|
+
<xsd:element minOccurs="0" ref="ContactInfo"/>
|
186
|
+
</xsd:sequence>
|
187
|
+
</xsd:complexType>
|
188
|
+
</xsd:element>
|
189
|
+
<xsd:element name="ContactInfo">
|
190
|
+
<xsd:complexType>
|
191
|
+
<xsd:all>
|
192
|
+
<xsd:element minOccurs="0" maxOccurs="1" ref="PhoneNum"/>
|
193
|
+
<xsd:element minOccurs="0" maxOccurs="1" name="EmailAddr"/>
|
194
|
+
<xsd:element minOccurs="0" maxOccurs="1" name="URL"/>
|
195
|
+
</xsd:all>
|
196
|
+
<xsd:attribute name="Name"/>
|
197
|
+
</xsd:complexType>
|
198
|
+
</xsd:element>
|
199
|
+
<xsd:element name="PhoneNum">
|
200
|
+
<xsd:complexType>
|
201
|
+
<xsd:attribute name="PhoneType"/>
|
202
|
+
<xsd:attribute name="Phone"/>
|
203
|
+
</xsd:complexType>
|
204
|
+
</xsd:element>
|
205
|
+
<xsd:element name="PmtDetail">
|
206
|
+
<xsd:complexType>
|
207
|
+
<xsd:sequence>
|
208
|
+
<xsd:element minOccurs="0" maxOccurs="unbounded" ref="InvoiceInfo"/>
|
209
|
+
<xsd:element minOccurs="0" ref="Payroll"/>
|
210
|
+
</xsd:sequence>
|
211
|
+
</xsd:complexType>
|
212
|
+
</xsd:element>
|
213
|
+
<xsd:element name="InvoiceInfo">
|
214
|
+
<xsd:complexType>
|
215
|
+
<xsd:sequence>
|
216
|
+
<xsd:element minOccurs="0" maxOccurs="unbounded" ref="RefInfo"/>
|
217
|
+
<xsd:element minOccurs="0" maxOccurs="unbounded" ref="Note"/>
|
218
|
+
<xsd:element minOccurs="0" maxOccurs="unbounded" ref="TaxInfo"/>
|
219
|
+
<xsd:element minOccurs="0" maxOccurs="unbounded" ref="InvoiceAdj"/>
|
220
|
+
<xsd:element minOccurs="0" maxOccurs="unbounded" ref="POInfo"/>
|
221
|
+
</xsd:sequence>
|
222
|
+
<xsd:attribute name="PmtActionCode"/>
|
223
|
+
<xsd:attribute name="DiscountCurAmt"/>
|
224
|
+
<xsd:attribute name="TotalCurAmt"/>
|
225
|
+
<xsd:attribute name="NetCurAmt"/>
|
226
|
+
<xsd:attribute name="WithdAmt"/>
|
227
|
+
<xsd:attribute name="EffDt"/>
|
228
|
+
<xsd:attribute name="InvoiceType"/>
|
229
|
+
<xsd:attribute name="InvoiceNum"/>
|
230
|
+
</xsd:complexType>
|
231
|
+
</xsd:element>
|
232
|
+
<xsd:element name="CurAmt"/>
|
233
|
+
<xsd:element name="TaxInfo">
|
234
|
+
<xsd:complexType>
|
235
|
+
<xsd:all>
|
236
|
+
<xsd:element minOccurs="0" maxOccurs="1" name="OrgID"/>
|
237
|
+
<xsd:element minOccurs="0" maxOccurs="1" ref="CurAmt"/>
|
238
|
+
<xsd:element minOccurs="0" maxOccurs="1" name="Rate"/>
|
239
|
+
</xsd:all>
|
240
|
+
<xsd:attribute name="TaxType"/>
|
241
|
+
</xsd:complexType>
|
242
|
+
</xsd:element>
|
243
|
+
<xsd:element name="InvoiceAdj">
|
244
|
+
<xsd:complexType>
|
245
|
+
<xsd:sequence>
|
246
|
+
<xsd:element minOccurs="0" name="InvoiceAdjNum"/>
|
247
|
+
<xsd:element minOccurs="0" maxOccurs="unbounded" ref="Note"/>
|
248
|
+
<xsd:element minOccurs="0" ref="CurAmt"/>
|
249
|
+
<xsd:element minOccurs="0" ref="EffDt"/>
|
250
|
+
<xsd:element minOccurs="0" name="Desc"/>
|
251
|
+
<xsd:element minOccurs="0" maxOccurs="unbounded" ref="RAInfo"/>
|
252
|
+
</xsd:sequence>
|
253
|
+
<xsd:attribute name="AdjType"/>
|
254
|
+
<xsd:attribute name="AdjNumType"/>
|
255
|
+
</xsd:complexType>
|
256
|
+
</xsd:element>
|
257
|
+
<xsd:element name="Payroll">
|
258
|
+
<xsd:complexType>
|
259
|
+
<xsd:sequence>
|
260
|
+
<xsd:element minOccurs="0" ref="Exemptions"/>
|
261
|
+
<xsd:element minOccurs="0" maxOccurs="unbounded" ref="Message"/>
|
262
|
+
<xsd:element minOccurs="0" maxOccurs="unbounded" ref="AdditionalDetails"/>
|
263
|
+
<xsd:element minOccurs="0" maxOccurs="unbounded" ref="Earnings"/>
|
264
|
+
<xsd:element minOccurs="0" maxOccurs="unbounded" ref="EarningsTotal"/>
|
265
|
+
<xsd:element minOccurs="0" maxOccurs="unbounded" ref="Deductions"/>
|
266
|
+
<xsd:element minOccurs="0" maxOccurs="unbounded" ref="DeductionsTotal"/>
|
267
|
+
<xsd:element minOccurs="0" maxOccurs="unbounded" ref="AccountReporting"/>
|
268
|
+
<xsd:element minOccurs="0" maxOccurs="unbounded" ref="RefInfo"/>
|
269
|
+
</xsd:sequence>
|
270
|
+
<xsd:attribute name="PrdEndDate"/>
|
271
|
+
<xsd:attribute name="PrdBeginDate"/>
|
272
|
+
</xsd:complexType>
|
273
|
+
</xsd:element>
|
274
|
+
<xsd:element name="Exemptions">
|
275
|
+
<xsd:complexType>
|
276
|
+
<xsd:all>
|
277
|
+
<xsd:element minOccurs="0" maxOccurs="1" name="StateExmpt"/>
|
278
|
+
<xsd:element minOccurs="0" maxOccurs="1" name="FedExmpt"/>
|
279
|
+
<xsd:element minOccurs="0" maxOccurs="1" name="WithholdStatus"/>
|
280
|
+
<xsd:element minOccurs="0" maxOccurs="1" name="WithholdAmt"/>
|
281
|
+
</xsd:all>
|
282
|
+
</xsd:complexType>
|
283
|
+
</xsd:element>
|
284
|
+
<xsd:element name="AdditionalDetails">
|
285
|
+
<xsd:complexType>
|
286
|
+
<xsd:all>
|
287
|
+
<xsd:element minOccurs="0" maxOccurs="1" name="Desc"/>
|
288
|
+
<xsd:element minOccurs="0" maxOccurs="1" name="Details"/>
|
289
|
+
</xsd:all>
|
290
|
+
</xsd:complexType>
|
291
|
+
</xsd:element>
|
292
|
+
<xsd:element name="Earnings">
|
293
|
+
<xsd:complexType>
|
294
|
+
<xsd:all>
|
295
|
+
<xsd:element minOccurs="0" maxOccurs="1" name="Hours"/>
|
296
|
+
<xsd:element minOccurs="0" maxOccurs="1" ref="AmtGroup"/>
|
297
|
+
</xsd:all>
|
298
|
+
</xsd:complexType>
|
299
|
+
</xsd:element>
|
300
|
+
<xsd:element name="EarningsTotal">
|
301
|
+
<xsd:complexType>
|
302
|
+
<xsd:all>
|
303
|
+
<xsd:element minOccurs="0" maxOccurs="1" name="Hours"/>
|
304
|
+
<xsd:element minOccurs="0" maxOccurs="1" ref="AmtGroup"/>
|
305
|
+
</xsd:all>
|
306
|
+
</xsd:complexType>
|
307
|
+
</xsd:element>
|
308
|
+
<xsd:element name="Deductions">
|
309
|
+
<xsd:complexType>
|
310
|
+
<xsd:sequence>
|
311
|
+
<xsd:element minOccurs="0" ref="AmtGroup"/>
|
312
|
+
</xsd:sequence>
|
313
|
+
</xsd:complexType>
|
314
|
+
</xsd:element>
|
315
|
+
<xsd:element name="DeductionsTotal">
|
316
|
+
<xsd:complexType>
|
317
|
+
<xsd:sequence>
|
318
|
+
<xsd:element minOccurs="0" ref="AmtGroup"/>
|
319
|
+
</xsd:sequence>
|
320
|
+
</xsd:complexType>
|
321
|
+
</xsd:element>
|
322
|
+
<xsd:element name="AccountReporting">
|
323
|
+
<xsd:complexType>
|
324
|
+
<xsd:all>
|
325
|
+
<xsd:element minOccurs="0" maxOccurs="1" name="CurrAmt"/>
|
326
|
+
<xsd:element minOccurs="0" maxOccurs="1" name="CurCode"/>
|
327
|
+
<xsd:element minOccurs="0" maxOccurs="1" name="ReasonCode"/>
|
328
|
+
<xsd:element minOccurs="0" maxOccurs="1" name="AcctID"/>
|
329
|
+
<xsd:element minOccurs="0" maxOccurs="1" name="BankIDType"/>
|
330
|
+
<xsd:element minOccurs="0" maxOccurs="1" ref="BankID"/>
|
331
|
+
</xsd:all>
|
332
|
+
</xsd:complexType>
|
333
|
+
</xsd:element>
|
334
|
+
<xsd:element name="AmtGroup">
|
335
|
+
<xsd:complexType>
|
336
|
+
<xsd:all>
|
337
|
+
<xsd:element minOccurs="0" maxOccurs="1" name="Desc"/>
|
338
|
+
<xsd:element minOccurs="0" maxOccurs="1" name="CurrAmt"/>
|
339
|
+
<xsd:element minOccurs="0" maxOccurs="1" name="YTDAmt"/>
|
340
|
+
</xsd:all>
|
341
|
+
</xsd:complexType>
|
342
|
+
</xsd:element>
|
343
|
+
<xsd:element name="FileInfoGrp">
|
344
|
+
<xsd:complexType>
|
345
|
+
<xsd:attribute name="FileDate" use="optional"/>
|
346
|
+
<xsd:attribute name="FileTime"/>
|
347
|
+
<xsd:attribute name="FileControlNumber" use="optional"/>
|
348
|
+
<xsd:attribute name="GroupControlNumber" use="optional" />
|
349
|
+
</xsd:complexType>
|
350
|
+
</xsd:element>
|
351
|
+
<xsd:element name="OrgnrDepAcctID">
|
352
|
+
<xsd:complexType>
|
353
|
+
<xsd:sequence>
|
354
|
+
<xsd:element minOccurs="0" ref="DepAcctID"/>
|
355
|
+
</xsd:sequence>
|
356
|
+
</xsd:complexType>
|
357
|
+
</xsd:element>
|
358
|
+
<xsd:element name="RcvrDepAcctID">
|
359
|
+
<xsd:complexType>
|
360
|
+
<xsd:sequence>
|
361
|
+
<xsd:element minOccurs="0" ref="DepAcctID"/>
|
362
|
+
</xsd:sequence>
|
363
|
+
</xsd:complexType>
|
364
|
+
</xsd:element>
|
365
|
+
<xsd:element name="IntermediaryDepAcctID">
|
366
|
+
<xsd:complexType>
|
367
|
+
<xsd:sequence>
|
368
|
+
<xsd:element minOccurs="0" ref="DepAcctID"/>
|
369
|
+
</xsd:sequence>
|
370
|
+
</xsd:complexType>
|
371
|
+
</xsd:element>
|
372
|
+
<xsd:element name="VendorParty">
|
373
|
+
<xsd:complexType>
|
374
|
+
<xsd:sequence>
|
375
|
+
<xsd:element minOccurs="0" ref="Name"/>
|
376
|
+
<xsd:element minOccurs="0" maxOccurs="unbounded" ref="RefInfo"/>
|
377
|
+
<xsd:element minOccurs="0" ref="PostAddr"/>
|
378
|
+
<xsd:element minOccurs="0" ref="ContactInfo"/>
|
379
|
+
</xsd:sequence>
|
380
|
+
</xsd:complexType>
|
381
|
+
</xsd:element>
|
382
|
+
<xsd:element name="POInfo">
|
383
|
+
<xsd:complexType>
|
384
|
+
<xsd:all>
|
385
|
+
<xsd:element minOccurs="0" maxOccurs="1" name="PONum"/>
|
386
|
+
<xsd:element minOccurs="0" maxOccurs="1" name="Desc"/>
|
387
|
+
</xsd:all>
|
388
|
+
<xsd:attribute name="POType"/>
|
389
|
+
</xsd:complexType>
|
390
|
+
</xsd:element>
|
391
|
+
<xsd:element name="Note">
|
392
|
+
<xsd:complexType>
|
393
|
+
<xsd:sequence>
|
394
|
+
<xsd:element name="NoteText"/>
|
395
|
+
</xsd:sequence>
|
396
|
+
<xsd:attribute name="NoteType" use="optional"/>
|
397
|
+
</xsd:complexType>
|
398
|
+
</xsd:element>
|
399
|
+
<xsd:element name="RAInfo">
|
400
|
+
<xsd:complexType>
|
401
|
+
<xsd:all>
|
402
|
+
<xsd:element minOccurs="0" maxOccurs="1" name="RANum"/>
|
403
|
+
<xsd:element minOccurs="0" maxOccurs="1" name="RADate"/>
|
404
|
+
<xsd:element minOccurs="0" maxOccurs="1" name="Desc"/>
|
405
|
+
</xsd:all>
|
406
|
+
<xsd:attribute name="RANumType"/>
|
407
|
+
</xsd:complexType>
|
408
|
+
</xsd:element>
|
409
|
+
<xsd:element name="DocDelivery">
|
410
|
+
<xsd:complexType>
|
411
|
+
<xsd:sequence>
|
412
|
+
<xsd:element minOccurs="0" ref="EDDBillerID"/>
|
413
|
+
<xsd:element minOccurs="0" maxOccurs="unbounded" ref="FileOut"/>
|
414
|
+
</xsd:sequence>
|
415
|
+
</xsd:complexType>
|
416
|
+
</xsd:element>
|
417
|
+
<xsd:element name="EDDBillerID"/>
|
418
|
+
<xsd:element name="FileOut">
|
419
|
+
<xsd:complexType>
|
420
|
+
<xsd:sequence>
|
421
|
+
<xsd:element minOccurs="0" name="FileType"/>
|
422
|
+
<xsd:element minOccurs="0" name="FileFormat"/>
|
423
|
+
<xsd:element maxOccurs="unbounded" ref="Delivery"/>
|
424
|
+
</xsd:sequence>
|
425
|
+
</xsd:complexType>
|
426
|
+
</xsd:element>
|
427
|
+
<xsd:element name="Delivery">
|
428
|
+
<xsd:complexType>
|
429
|
+
<xsd:all>
|
430
|
+
<xsd:element minOccurs="0" maxOccurs="1" name="DeliveryType"/>
|
431
|
+
<xsd:element minOccurs="0" maxOccurs="1" name="DeliveryContactName"/>
|
432
|
+
<xsd:element minOccurs="0" maxOccurs="1" name="DeliveryFaxNumber"/>
|
433
|
+
<xsd:element minOccurs="0" maxOccurs="1" name="DeliveryEmailAddress"/>
|
434
|
+
<xsd:element minOccurs="0" maxOccurs="1" name="DeliveryUserID"/>
|
435
|
+
<xsd:element minOccurs="0" maxOccurs="1" name="DeliveryCompanyID"/>
|
436
|
+
<xsd:element minOccurs="0" maxOccurs="1" name="SecureType"/>
|
437
|
+
<xsd:element minOccurs="0" maxOccurs="1" name="SecureQuestion01"/>
|
438
|
+
<xsd:element minOccurs="0" maxOccurs="1" name="SecurePassword01"/>
|
439
|
+
<xsd:element minOccurs="0" maxOccurs="1" name="SecureQuestion02"/>
|
440
|
+
<xsd:element minOccurs="0" maxOccurs="1" name="SecurePassword02"/>
|
441
|
+
<xsd:element minOccurs="0" maxOccurs="1" name="ReceivingAddress1"/>
|
442
|
+
<xsd:element minOccurs="0" maxOccurs="1" name="ReceivingAddress2"/>
|
443
|
+
<xsd:element minOccurs="0" maxOccurs="1" name="ReceivingCity"/>
|
444
|
+
<xsd:element minOccurs="0" maxOccurs="1" name="ReceivingState"/>
|
445
|
+
<xsd:element minOccurs="0" maxOccurs="1" name="ReceivingZip"/>
|
446
|
+
<xsd:element minOccurs="0" maxOccurs="1" name="ReceivingCountry"/>
|
447
|
+
<xsd:element minOccurs="0" maxOccurs="1" name="ReceivingCountryCode"/>
|
448
|
+
<xsd:element minOccurs="0" maxOccurs="1" name=" DeliveryCode" />
|
449
|
+
<xsd:element minOccurs="0" maxOccurs="1" name=" CourierAccount" />
|
450
|
+
</xsd:all>
|
451
|
+
</xsd:complexType>
|
452
|
+
</xsd:element>
|
453
|
+
<xsd:element name="EffDt"/>
|
454
|
+
<xsd:element name="PmtSuppWTX">
|
455
|
+
<xsd:complexType>
|
456
|
+
<xsd:all>
|
457
|
+
<xsd:element minOccurs="0" maxOccurs="1" name="LiabilityDate"/>
|
458
|
+
<xsd:element minOccurs="0" maxOccurs="1" name="AccessCode"/>
|
459
|
+
<xsd:element minOccurs="0" maxOccurs="1" name="Pin"/>
|
460
|
+
<xsd:element minOccurs="0" maxOccurs="1" name="StateFedCode"/>
|
461
|
+
<xsd:element minOccurs="0" maxOccurs="1" name="TaxAuthorityCode"/>
|
462
|
+
<xsd:element minOccurs="0" maxOccurs="1" name="TaxTypeCode"/>
|
463
|
+
<xsd:element minOccurs="0" maxOccurs="1" name="Amount1"/>
|
464
|
+
<xsd:element minOccurs="0" maxOccurs="1" name="AmountType1"/>
|
465
|
+
<xsd:element minOccurs="0" maxOccurs="1" name="Amount2"/>
|
466
|
+
<xsd:element minOccurs="0" maxOccurs="1" name="AmountType2"/>
|
467
|
+
<xsd:element minOccurs="0" maxOccurs="1" name="Amount3"/>
|
468
|
+
<xsd:element minOccurs="0" maxOccurs="1" name="AmountType3"/>
|
469
|
+
<xsd:element minOccurs="0" maxOccurs="1" name="Amount4"/>
|
470
|
+
<xsd:element minOccurs="0" maxOccurs="1" name="AmountType4"/>
|
471
|
+
</xsd:all>
|
472
|
+
</xsd:complexType>
|
473
|
+
</xsd:element>
|
474
|
+
<xsd:element name="PmtSuppFDM">
|
475
|
+
<xsd:complexType>
|
476
|
+
<xsd:all>
|
477
|
+
<xsd:element minOccurs="0" maxOccurs="1" name="CardType"/>
|
478
|
+
<xsd:element minOccurs="0" maxOccurs="1" name="ExpDate"/>
|
479
|
+
<xsd:element minOccurs="0" maxOccurs="1" name="OrderFlag"/>
|
480
|
+
<xsd:element minOccurs="0" maxOccurs="1" name="EC"/>
|
481
|
+
</xsd:all>
|
482
|
+
</xsd:complexType>
|
483
|
+
</xsd:element>
|
484
|
+
<xsd:element name="PmtSuppPOB">
|
485
|
+
<xsd:complexType>
|
486
|
+
<xsd:sequence>
|
487
|
+
<xsd:element minOccurs="0" name="OrigInvDate"/>
|
488
|
+
</xsd:sequence>
|
489
|
+
</xsd:complexType>
|
490
|
+
</xsd:element>
|
491
|
+
<xsd:element name="PmtSuppCCR">
|
492
|
+
<xsd:complexType>
|
493
|
+
<xsd:all>
|
494
|
+
<xsd:element minOccurs="0" maxOccurs="1" name="PayeeType"/>
|
495
|
+
<xsd:element minOccurs="0" maxOccurs="1" name="ExpDate"/>
|
496
|
+
<xsd:element minOccurs="0" maxOccurs="1" name="MerchantID"/>
|
497
|
+
<xsd:element minOccurs="0" maxOccurs="1" name="MCCCode"/>
|
498
|
+
<xsd:element minOccurs="0" maxOccurs="1" name="Division"/>
|
499
|
+
</xsd:all>
|
500
|
+
</xsd:complexType>
|
501
|
+
</xsd:element>
|
502
|
+
<xsd:element name="InvoiceMgr">
|
503
|
+
<xsd:complexType>
|
504
|
+
<xsd:sequence>
|
505
|
+
<xsd:element minOccurs="0" name="InvoiceMgrFlag"/>
|
506
|
+
</xsd:sequence>
|
507
|
+
</xsd:complexType>
|
508
|
+
</xsd:element>
|
509
|
+
</xsd:schema>
|
510
|
+
|
511
|
+
|
512
|
+
|
513
|
+
|
514
|
+
|
515
|
+
|
516
|
+
|
517
|
+
|
518
|
+
|
519
|
+
|
520
|
+
|
521
|
+
|
522
|
+
|
523
|
+
|
524
|
+
|
525
|
+
|
526
|
+
|
527
|
+
|
528
|
+
|
529
|
+
|
530
|
+
|
531
|
+
|
532
|
+
|
533
|
+
|
534
|
+
|
535
|
+
|
536
|
+
|
537
|
+
|
538
|
+
|
539
|
+
|
@@ -0,0 +1,77 @@
|
|
1
|
+
module WellsFargo
|
2
|
+
class Element
|
3
|
+
|
4
|
+
attr_accessor :xml, :attributes
|
5
|
+
|
6
|
+
NameMap = Schema.NameMap
|
7
|
+
|
8
|
+
def initialize xml, attributes
|
9
|
+
@xml = xml
|
10
|
+
@attributes = attributes
|
11
|
+
end
|
12
|
+
|
13
|
+
def add_child name, attributes = {}, &block
|
14
|
+
|
15
|
+
child_class_name = NameMap[name.to_s]
|
16
|
+
begin
|
17
|
+
child_class = Element.const_get(child_class_name)
|
18
|
+
rescue
|
19
|
+
Element.const_set(child_class_name, Class.new(Element))
|
20
|
+
child_class = Element.const_get(child_class_name)
|
21
|
+
end
|
22
|
+
|
23
|
+
child = child_class.new(xml, attributes)
|
24
|
+
capture = proc do |x|
|
25
|
+
if block_given?
|
26
|
+
content = yield child
|
27
|
+
content.to_s
|
28
|
+
elsif !attributes.is_a?(Hash)
|
29
|
+
attributes.to_s
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
if child.attributes.is_a?(Hash)
|
34
|
+
xml.tag! child.element_name, child.attributes, &capture
|
35
|
+
else
|
36
|
+
xml.tag! child.element_name, child.attributes
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
def element_name
|
41
|
+
self.class.name.split('::').last
|
42
|
+
end
|
43
|
+
|
44
|
+
protected
|
45
|
+
|
46
|
+
def method_missing method, *args, &block
|
47
|
+
if self.class.children.any? {|c| method.to_sym == c[:name] }
|
48
|
+
add_child method, *args, &block
|
49
|
+
else
|
50
|
+
super
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
54
|
+
|
55
|
+
class << Element
|
56
|
+
attr_accessor :attributes, :required, :children
|
57
|
+
def attribute name
|
58
|
+
@attributes ||= []
|
59
|
+
@attributes << name
|
60
|
+
end
|
61
|
+
|
62
|
+
def required_attribute name
|
63
|
+
@required ||= []
|
64
|
+
@required << name
|
65
|
+
attribute name
|
66
|
+
end
|
67
|
+
|
68
|
+
def child name, limit = nil
|
69
|
+
@children ||= []
|
70
|
+
@children << {:name => name, :limit => limit}
|
71
|
+
end
|
72
|
+
end
|
73
|
+
end
|
74
|
+
|
75
|
+
Dir.glob(File.join(File.dirname(__FILE__), 'elements', '*')).each do |element|
|
76
|
+
require element
|
77
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
module WellsFargo
|
2
|
+
class Element
|
3
|
+
class AccountReporting < WellsFargo::Element
|
4
|
+
|
5
|
+
|
6
|
+
child :curr_amt, :limit => 1
|
7
|
+
child :cur_code, :limit => 1
|
8
|
+
child :reason_code, :limit => 1
|
9
|
+
child :acct_id, :limit => 1
|
10
|
+
child :bank_id_type, :limit => 1
|
11
|
+
child :bank_id, :limit => 1
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|