X12 0.1.0 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1844) hide show
  1. data/CHANGELOG +6 -1
  2. data/README +215 -60
  3. data/Rakefile +6 -16
  4. data/example/factory.rb +1 -1
  5. data/example/parse.rb +1 -1
  6. data/lib/X12.rb +4 -7
  7. data/lib/X12/Base.rb +16 -2
  8. data/lib/X12/Field.rb +16 -9
  9. data/lib/X12/Parser.rb +52 -29
  10. data/lib/X12/Segment.rb +6 -4
  11. data/lib/X12/XMLDefinitions.rb +160 -0
  12. data/misc/270.xml +152 -0
  13. data/misc/270interchange.xml +163 -0
  14. data/misc/997.xml +50 -0
  15. data/misc/997single.xml +835 -0
  16. data/misc/AAA.xml +31 -0
  17. data/misc/ACD.xml +30 -0
  18. data/misc/ACK.xml +56 -0
  19. data/misc/ACS.xml +31 -0
  20. data/misc/ACT.xml +36 -0
  21. data/misc/AD1.xml +32 -0
  22. data/misc/ADI.xml +31 -0
  23. data/misc/ADJ.xml +44 -0
  24. data/misc/ADT.xml +37 -0
  25. data/misc/ADV.xml +34 -0
  26. data/misc/ADX.xml +31 -0
  27. data/misc/AEI.xml +30 -0
  28. data/misc/AES.xml +32 -0
  29. data/misc/AIN.xml +40 -0
  30. data/misc/AK1.xml +29 -0
  31. data/misc/AK2.xml +29 -0
  32. data/misc/AK3.xml +31 -0
  33. data/misc/AK4.xml +31 -0
  34. data/misc/AK5.xml +33 -0
  35. data/misc/AK9.xml +36 -0
  36. data/misc/AM1.xml +33 -0
  37. data/misc/AMT.xml +30 -0
  38. data/misc/ANI.xml +36 -0
  39. data/misc/AOC.xml +32 -0
  40. data/misc/AOI.xml +40 -0
  41. data/misc/AOL.xml +35 -0
  42. data/misc/AOR.xml +40 -0
  43. data/misc/AP1.xml +40 -0
  44. data/misc/APE.xml +32 -0
  45. data/misc/API.xml +35 -0
  46. data/misc/APR.xml +30 -0
  47. data/misc/ARC.xml +30 -0
  48. data/misc/ARS.xml +32 -0
  49. data/misc/ASI.xml +30 -0
  50. data/misc/ASL.xml +31 -0
  51. data/misc/ASM.xml +30 -0
  52. data/misc/ASO.xml +38 -0
  53. data/misc/AST.xml +38 -0
  54. data/misc/AT1.xml +28 -0
  55. data/misc/AT2.xml +39 -0
  56. data/misc/AT3.xml +34 -0
  57. data/misc/AT4.xml +28 -0
  58. data/misc/AT5.xml +33 -0
  59. data/misc/AT6.xml +30 -0
  60. data/misc/AT7.xml +34 -0
  61. data/misc/AT8.xml +34 -0
  62. data/misc/AT9.xml +35 -0
  63. data/misc/ATA.xml +30 -0
  64. data/misc/ATH.xml +32 -0
  65. data/misc/ATN.xml +33 -0
  66. data/misc/ATR.xml +37 -0
  67. data/misc/ATV.xml +37 -0
  68. data/misc/AVA.xml +29 -0
  69. data/misc/AWD.xml +31 -0
  70. data/misc/AXL.xml +35 -0
  71. data/misc/B1.xml +33 -0
  72. data/misc/B10.xml +36 -0
  73. data/misc/B11.xml +38 -0
  74. data/misc/B12.xml +30 -0
  75. data/misc/B13.xml +29 -0
  76. data/misc/B2.xml +39 -0
  77. data/misc/B2A.xml +29 -0
  78. data/misc/B3.xml +41 -0
  79. data/misc/B3A.xml +29 -0
  80. data/misc/B3B.xml +38 -0
  81. data/misc/B4.xml +40 -0
  82. data/misc/B9.xml +30 -0
  83. data/misc/B9A.xml +28 -0
  84. data/misc/BA1.xml +39 -0
  85. data/misc/BA2.xml +38 -0
  86. data/misc/BAA.xml +33 -0
  87. data/misc/BAK.xml +37 -0
  88. data/misc/BAL.xml +30 -0
  89. data/misc/BAT.xml +31 -0
  90. data/misc/BAU.xml +33 -0
  91. data/misc/BAX.xml +41 -0
  92. data/misc/BBC.xml +29 -0
  93. data/misc/BC.xml +34 -0
  94. data/misc/BCA.xml +42 -0
  95. data/misc/BCD.xml +42 -0
  96. data/misc/BCH.xml +43 -0
  97. data/misc/BCI.xml +35 -0
  98. data/misc/BCM.xml +39 -0
  99. data/misc/BCO.xml +39 -0
  100. data/misc/BCP.xml +40 -0
  101. data/misc/BCQ.xml +34 -0
  102. data/misc/BCS.xml +39 -0
  103. data/misc/BCT.xml +37 -0
  104. data/misc/BCU.xml +34 -0
  105. data/misc/BDD.xml +30 -0
  106. data/misc/BDS.xml +30 -0
  107. data/misc/BEG.xml +39 -0
  108. data/misc/BEN.xml +33 -0
  109. data/misc/BEP.xml +29 -0
  110. data/misc/BFR.xml +40 -0
  111. data/misc/BFS.xml +37 -0
  112. data/misc/BGF.xml +30 -0
  113. data/misc/BGN.xml +36 -0
  114. data/misc/BGP.xml +36 -0
  115. data/misc/BHT.xml +33 -0
  116. data/misc/BIA.xml +33 -0
  117. data/misc/BIG.xml +38 -0
  118. data/misc/BIN.xml +29 -0
  119. data/misc/BIX.xml +38 -0
  120. data/misc/BJF.xml +34 -0
  121. data/misc/BL.xml +44 -0
  122. data/misc/BLI.xml +45 -0
  123. data/misc/BLN.xml +33 -0
  124. data/misc/BLR.xml +30 -0
  125. data/misc/BLS.xml +33 -0
  126. data/misc/BMA.xml +35 -0
  127. data/misc/BMG.xml +30 -0
  128. data/misc/BMM.xml +37 -0
  129. data/misc/BMP.xml +31 -0
  130. data/misc/BMS.xml +36 -0
  131. data/misc/BNR.xml +33 -0
  132. data/misc/BNX.xml +31 -0
  133. data/misc/BOL.xml +38 -0
  134. data/misc/BOR.xml +37 -0
  135. data/misc/BOS.xml +33 -0
  136. data/misc/BOX.xml +42 -0
  137. data/misc/BPA.xml +32 -0
  138. data/misc/BPP.xml +41 -0
  139. data/misc/BPR.xml +48 -0
  140. data/misc/BPT.xml +37 -0
  141. data/misc/BQR.xml +35 -0
  142. data/misc/BQT.xml +38 -0
  143. data/misc/BR.xml +38 -0
  144. data/misc/BRA.xml +34 -0
  145. data/misc/BRC.xml +32 -0
  146. data/misc/BRR.xml +33 -0
  147. data/misc/BSC.xml +31 -0
  148. data/misc/BSD.xml +36 -0
  149. data/misc/BSF.xml +30 -0
  150. data/misc/BSI.xml +36 -0
  151. data/misc/BSN.xml +34 -0
  152. data/misc/BSR.xml +39 -0
  153. data/misc/BSS.xml +38 -0
  154. data/misc/BT1.xml +38 -0
  155. data/misc/BTA.xml +31 -0
  156. data/misc/BTC.xml +39 -0
  157. data/misc/BTI.xml +41 -0
  158. data/misc/BTP.xml +37 -0
  159. data/misc/BTR.xml +35 -0
  160. data/misc/BTS.xml +42 -0
  161. data/misc/BUY.xml +32 -0
  162. data/misc/BVA.xml +52 -0
  163. data/misc/BVB.xml +34 -0
  164. data/misc/BVP.xml +38 -0
  165. data/misc/BVS.xml +39 -0
  166. data/misc/BW.xml +30 -0
  167. data/misc/BX.xml +41 -0
  168. data/misc/C001.xml +43 -0
  169. data/misc/C002.xml +33 -0
  170. data/misc/C003.xml +35 -0
  171. data/misc/C004.xml +32 -0
  172. data/misc/C005.xml +33 -0
  173. data/misc/C006.xml +33 -0
  174. data/misc/C007.xml +38 -0
  175. data/misc/C022.xml +37 -0
  176. data/misc/C023.xml +31 -0
  177. data/misc/C024.xml +33 -0
  178. data/misc/C028.xml +48 -0
  179. data/misc/C030.xml +31 -0
  180. data/misc/C033.xml +30 -0
  181. data/misc/C034.xml +30 -0
  182. data/misc/C035.xml +31 -0
  183. data/misc/C036.xml +33 -0
  184. data/misc/C037.xml +30 -0
  185. data/misc/C040.xml +34 -0
  186. data/misc/C042.xml +30 -0
  187. data/misc/C043.xml +32 -0
  188. data/misc/C045.xml +33 -0
  189. data/misc/C046.xml +33 -0
  190. data/misc/C047.xml +33 -0
  191. data/misc/C048.xml +32 -0
  192. data/misc/C050.xml +40 -0
  193. data/misc/C052.xml +32 -0
  194. data/misc/C053.xml +33 -0
  195. data/misc/C055.xml +36 -0
  196. data/misc/C056.xml +31 -0
  197. data/misc/C057.xml +29 -0
  198. data/misc/C2.xml +34 -0
  199. data/misc/C3.xml +31 -0
  200. data/misc/C4.xml +29 -0
  201. data/misc/C8.xml +31 -0
  202. data/misc/C8C.xml +30 -0
  203. data/misc/CA1.xml +29 -0
  204. data/misc/CAD.xml +36 -0
  205. data/misc/CAI.xml +34 -0
  206. data/misc/CAL.xml +43 -0
  207. data/misc/CAS.xml +46 -0
  208. data/misc/CAT.xml +34 -0
  209. data/misc/CB1.xml +29 -0
  210. data/misc/CBS.xml +30 -0
  211. data/misc/CCI.xml +37 -0
  212. data/misc/CD.xml +38 -0
  213. data/misc/CD1.xml +58 -0
  214. data/misc/CD2.xml +35 -0
  215. data/misc/CD3.xml +41 -0
  216. data/misc/CDA.xml +49 -0
  217. data/misc/CDD.xml +41 -0
  218. data/misc/CDI.xml +38 -0
  219. data/misc/CDS.xml +38 -0
  220. data/misc/CED.xml +32 -0
  221. data/misc/CF1.xml +33 -0
  222. data/misc/CF2.xml +37 -0
  223. data/misc/CFI.xml +34 -0
  224. data/misc/CFT.xml +36 -0
  225. data/misc/CGS.xml +32 -0
  226. data/misc/CHB.xml +36 -0
  227. data/misc/CHR.xml +30 -0
  228. data/misc/CI.xml +41 -0
  229. data/misc/CIC.xml +32 -0
  230. data/misc/CID.xml +34 -0
  231. data/misc/CIV.xml +45 -0
  232. data/misc/CL1.xml +31 -0
  233. data/misc/CLD.xml +32 -0
  234. data/misc/CLI.xml +33 -0
  235. data/misc/CLM.xml +47 -0
  236. data/misc/CLP.xml +41 -0
  237. data/misc/CLR.xml +31 -0
  238. data/misc/CM.xml +44 -0
  239. data/misc/CMA.xml +38 -0
  240. data/misc/CMC.xml +29 -0
  241. data/misc/CN1.xml +33 -0
  242. data/misc/COB.xml +31 -0
  243. data/misc/COM.xml +30 -0
  244. data/misc/CON_.xml +30 -0
  245. data/misc/CPR.xml +32 -0
  246. data/misc/CQ.xml +37 -0
  247. data/misc/CR1.xml +37 -0
  248. data/misc/CR2.xml +39 -0
  249. data/misc/CR3.xml +32 -0
  250. data/misc/CR4.xml +56 -0
  251. data/misc/CR5.xml +45 -0
  252. data/misc/CR6.xml +48 -0
  253. data/misc/CR7.xml +30 -0
  254. data/misc/CR8.xml +36 -0
  255. data/misc/CRC.xml +34 -0
  256. data/misc/CRD.xml +31 -0
  257. data/misc/CRI.xml +37 -0
  258. data/misc/CRO.xml +33 -0
  259. data/misc/CRS.xml +47 -0
  260. data/misc/CRT.xml +37 -0
  261. data/misc/CRV.xml +34 -0
  262. data/misc/CS.xml +45 -0
  263. data/misc/CSB.xml +29 -0
  264. data/misc/CSC.xml +36 -0
  265. data/misc/CSD.xml +36 -0
  266. data/misc/CSE.xml +39 -0
  267. data/misc/CSF.xml +30 -0
  268. data/misc/CSH.xml +37 -0
  269. data/misc/CSI.xml +31 -0
  270. data/misc/CSM.xml +30 -0
  271. data/misc/CSS.xml +34 -0
  272. data/misc/CST.xml +31 -0
  273. data/misc/CSU.xml +37 -0
  274. data/misc/CT.xml +30 -0
  275. data/misc/CTB.xml +34 -0
  276. data/misc/CTC.xml +37 -0
  277. data/misc/CTP.xml +38 -0
  278. data/misc/CTT.xml +34 -0
  279. data/misc/CUR.xml +48 -0
  280. data/misc/CV.xml +41 -0
  281. data/misc/CYC.xml +33 -0
  282. data/misc/D9.xml +39 -0
  283. data/misc/DAD.xml +42 -0
  284. data/misc/DAI.xml +30 -0
  285. data/misc/DAM.xml +43 -0
  286. data/misc/DB.xml +33 -0
  287. data/misc/DD.xml +37 -0
  288. data/misc/DDI.xml +28 -0
  289. data/misc/DED.xml +36 -0
  290. data/misc/DEF.xml +33 -0
  291. data/misc/DEG.xml +32 -0
  292. data/misc/DEL.xml +32 -0
  293. data/misc/DEP.xml +35 -0
  294. data/misc/DEX.xml +33 -0
  295. data/misc/DFI.xml +31 -0
  296. data/misc/DH.xml +30 -0
  297. data/misc/DIS.xml +33 -0
  298. data/misc/DK.xml +37 -0
  299. data/misc/DL.xml +38 -0
  300. data/misc/DLV.xml +32 -0
  301. data/misc/DM.xml +48 -0
  302. data/misc/DMA.xml +36 -0
  303. data/misc/DMG.xml +38 -0
  304. data/misc/DMI.xml +39 -0
  305. data/misc/DN.xml +31 -0
  306. data/misc/DN1.xml +31 -0
  307. data/misc/DN2.xml +32 -0
  308. data/misc/DOS.xml +34 -0
  309. data/misc/DP.xml +44 -0
  310. data/misc/DPN.xml +31 -0
  311. data/misc/DR.xml +33 -0
  312. data/misc/DRT.xml +33 -0
  313. data/misc/DSB.xml +35 -0
  314. data/misc/DTM.xml +33 -0
  315. data/misc/DTP.xml +30 -0
  316. data/misc/DVI.xml +41 -0
  317. data/misc/E01.xml +31 -0
  318. data/misc/E03.xml +34 -0
  319. data/misc/E1.xml +30 -0
  320. data/misc/E10.xml +32 -0
  321. data/misc/E13.xml +37 -0
  322. data/misc/E20.xml +31 -0
  323. data/misc/E22.xml +39 -0
  324. data/misc/E24.xml +34 -0
  325. data/misc/E30.xml +36 -0
  326. data/misc/E34.xml +31 -0
  327. data/misc/E4.xml +31 -0
  328. data/misc/E40.xml +31 -0
  329. data/misc/E41.xml +31 -0
  330. data/misc/E5.xml +31 -0
  331. data/misc/E6.xml +36 -0
  332. data/misc/E8.xml +29 -0
  333. data/misc/EA.xml +30 -0
  334. data/misc/EB.xml +40 -0
  335. data/misc/EC.xml +33 -0
  336. data/misc/ED.xml +35 -0
  337. data/misc/EDF.xml +38 -0
  338. data/misc/EFI.xml +43 -0
  339. data/misc/EI.xml +33 -0
  340. data/misc/EIA.xml +33 -0
  341. data/misc/ELV.xml +33 -0
  342. data/misc/EM.xml +34 -0
  343. data/misc/EMP.xml +37 -0
  344. data/misc/EMS.xml +42 -0
  345. data/misc/EMT.xml +35 -0
  346. data/misc/ENE.xml +32 -0
  347. data/misc/ENM.xml +35 -0
  348. data/misc/ENR.xml +47 -0
  349. data/misc/ENT.xml +36 -0
  350. data/misc/EQ.xml +31 -0
  351. data/misc/ER.xml +38 -0
  352. data/misc/ERI.xml +36 -0
  353. data/misc/ERP.xml +32 -0
  354. data/misc/ES.xml +33 -0
  355. data/misc/ESI.xml +36 -0
  356. data/misc/ETD.xml +32 -0
  357. data/misc/EXI.xml +35 -0
  358. data/misc/F01.xml +36 -0
  359. data/misc/F02.xml +36 -0
  360. data/misc/F04.xml +37 -0
  361. data/misc/F05.xml +30 -0
  362. data/misc/F07.xml +49 -0
  363. data/misc/F09.xml +39 -0
  364. data/misc/F10.xml +31 -0
  365. data/misc/F11.xml +37 -0
  366. data/misc/F12.xml +35 -0
  367. data/misc/F13.xml +33 -0
  368. data/misc/F14.xml +29 -0
  369. data/misc/F6X.xml +35 -0
  370. data/misc/F9.xml +39 -0
  371. data/misc/FA1.xml +30 -0
  372. data/misc/FA2.xml +29 -0
  373. data/misc/FAA.xml +42 -0
  374. data/misc/FAC.xml +33 -0
  375. data/misc/FBB.xml +34 -0
  376. data/misc/FC.xml +32 -0
  377. data/misc/FCL.xml +32 -0
  378. data/misc/FDA.xml +36 -0
  379. data/misc/FGS.xml +30 -0
  380. data/misc/FH.xml +31 -0
  381. data/misc/FIR.xml +39 -0
  382. data/misc/FIS.xml +31 -0
  383. data/misc/FK.xml +41 -0
  384. data/misc/FNA.xml +33 -0
  385. data/misc/FOB.xml +36 -0
  386. data/misc/FOS.xml +34 -0
  387. data/misc/FPT.xml +29 -0
  388. data/misc/FRM.xml +32 -0
  389. data/misc/FSA.xml +36 -0
  390. data/misc/FST.xml +40 -0
  391. data/misc/FTH.xml +31 -0
  392. data/misc/G01.xml +35 -0
  393. data/misc/G05.xml +35 -0
  394. data/misc/G07.xml +33 -0
  395. data/misc/G08.xml +31 -0
  396. data/misc/G1.xml +30 -0
  397. data/misc/G11.xml +37 -0
  398. data/misc/G12.xml +34 -0
  399. data/misc/G13.xml +33 -0
  400. data/misc/G14.xml +29 -0
  401. data/misc/G15.xml +31 -0
  402. data/misc/G17.xml +41 -0
  403. data/misc/G18.xml +31 -0
  404. data/misc/G19.xml +36 -0
  405. data/misc/G2.xml +29 -0
  406. data/misc/G20.xml +36 -0
  407. data/misc/G21.xml +37 -0
  408. data/misc/G22.xml +32 -0
  409. data/misc/G23.xml +43 -0
  410. data/misc/G24.xml +28 -0
  411. data/misc/G25.xml +30 -0
  412. data/misc/G26.xml +33 -0
  413. data/misc/G27.xml +33 -0
  414. data/misc/G28.xml +33 -0
  415. data/misc/G29.xml +30 -0
  416. data/misc/G3.xml +33 -0
  417. data/misc/G30.xml +29 -0
  418. data/misc/G31.xml +38 -0
  419. data/misc/G32.xml +32 -0
  420. data/misc/G33.xml +28 -0
  421. data/misc/G35.xml +30 -0
  422. data/misc/G36.xml +31 -0
  423. data/misc/G37.xml +30 -0
  424. data/misc/G38.xml +30 -0
  425. data/misc/G39.xml +56 -0
  426. data/misc/G4.xml +33 -0
  427. data/misc/G40.xml +36 -0
  428. data/misc/G42.xml +30 -0
  429. data/misc/G43.xml +31 -0
  430. data/misc/G45.xml +44 -0
  431. data/misc/G46.xml +39 -0
  432. data/misc/G47.xml +29 -0
  433. data/misc/G48.xml +36 -0
  434. data/misc/G49.xml +30 -0
  435. data/misc/G5.xml +44 -0
  436. data/misc/G50.xml +34 -0
  437. data/misc/G51.xml +35 -0
  438. data/misc/G53.xml +28 -0
  439. data/misc/G54.xml +33 -0
  440. data/misc/G55.xml +60 -0
  441. data/misc/G61.xml +32 -0
  442. data/misc/G62.xml +32 -0
  443. data/misc/G63.xml +31 -0
  444. data/misc/G66.xml +34 -0
  445. data/misc/G68.xml +42 -0
  446. data/misc/G69.xml +28 -0
  447. data/misc/G70.xml +37 -0
  448. data/misc/G72.xml +38 -0
  449. data/misc/G73.xml +28 -0
  450. data/misc/G76.xml +37 -0
  451. data/misc/G82.xml +39 -0
  452. data/misc/G83.xml +40 -0
  453. data/misc/G84.xml +30 -0
  454. data/misc/G85.xml +28 -0
  455. data/misc/G86.xml +29 -0
  456. data/misc/G87.xml +33 -0
  457. data/misc/G88.xml +32 -0
  458. data/misc/G89.xml +37 -0
  459. data/misc/G91.xml +29 -0
  460. data/misc/G92.xml +30 -0
  461. data/misc/G93.xml +35 -0
  462. data/misc/G94.xml +29 -0
  463. data/misc/G95.xml +34 -0
  464. data/misc/GA.xml +45 -0
  465. data/misc/GDP.xml +34 -0
  466. data/misc/GE.xml +29 -0
  467. data/misc/GF.xml +36 -0
  468. data/misc/GH.xml +31 -0
  469. data/misc/GID.xml +30 -0
  470. data/misc/GR.xml +49 -0
  471. data/misc/GR2.xml +39 -0
  472. data/misc/GR4.xml +38 -0
  473. data/misc/GR5.xml +32 -0
  474. data/misc/GRI.xml +38 -0
  475. data/misc/GRP.xml +31 -0
  476. data/misc/GS.xml +35 -0
  477. data/misc/GY.xml +42 -0
  478. data/misc/H1.xml +36 -0
  479. data/misc/H2.xml +29 -0
  480. data/misc/H3.xml +32 -0
  481. data/misc/H5.xml +30 -0
  482. data/misc/H6.xml +34 -0
  483. data/misc/HAD.xml +33 -0
  484. data/misc/HC.xml +34 -0
  485. data/misc/HCP.xml +42 -0
  486. data/misc/HCR.xml +31 -0
  487. data/misc/HD.xml +38 -0
  488. data/misc/HI.xml +39 -0
  489. data/misc/HL.xml +31 -0
  490. data/misc/HLH.xml +34 -0
  491. data/misc/HPL.xml +33 -0
  492. data/misc/HS.xml +32 -0
  493. data/misc/HSD.xml +35 -0
  494. data/misc/IC.xml +36 -0
  495. data/misc/ICH.xml +39 -0
  496. data/misc/ICM.xml +33 -0
  497. data/misc/ID.xml +30 -0
  498. data/misc/ID1.xml +61 -0
  499. data/misc/ID2.xml +35 -0
  500. data/misc/ID3.xml +48 -0
  501. data/misc/ID4.xml +36 -0
  502. data/misc/IDB.xml +32 -0
  503. data/misc/IDC.xml +31 -0
  504. data/misc/IEA.xml +29 -0
  505. data/misc/IGI.xml +33 -0
  506. data/misc/III.xml +36 -0
  507. data/misc/IIS.xml +41 -0
  508. data/misc/IM.xml +30 -0
  509. data/misc/IMA.xml +31 -0
  510. data/misc/IMM.xml +33 -0
  511. data/misc/IMP.xml +29 -0
  512. data/misc/IN1.xml +34 -0
  513. data/misc/IN2.xml +30 -0
  514. data/misc/INC.xml +32 -0
  515. data/misc/IND.xml +39 -0
  516. data/misc/INI.xml +30 -0
  517. data/misc/INQ.xml +29 -0
  518. data/misc/INR.xml +30 -0
  519. data/misc/INS.xml +44 -0
  520. data/misc/INT.xml +33 -0
  521. data/misc/INV.xml +34 -0
  522. data/misc/INX.xml +29 -0
  523. data/misc/IRA.xml +30 -0
  524. data/misc/IRP.xml +34 -0
  525. data/misc/IS1.xml +34 -0
  526. data/misc/IS2.xml +44 -0
  527. data/misc/ISA.xml +43 -0
  528. data/misc/ISC.xml +37 -0
  529. data/misc/ISD.xml +31 -0
  530. data/misc/ISI.xml +33 -0
  531. data/misc/ISR.xml +30 -0
  532. data/misc/ISS.xml +35 -0
  533. data/misc/IT1.xml +52 -0
  534. data/misc/IT3.xml +32 -0
  535. data/misc/IT8.xml +54 -0
  536. data/misc/ITA.xml +44 -0
  537. data/misc/ITC.xml +39 -0
  538. data/misc/ITD.xml +42 -0
  539. data/misc/IV1.xml +32 -0
  540. data/misc/JCT.xml +36 -0
  541. data/misc/JID.xml +33 -0
  542. data/misc/JIL.xml +34 -0
  543. data/misc/JIT.xml +29 -0
  544. data/misc/JL.xml +31 -0
  545. data/misc/JS.xml +31 -0
  546. data/misc/K1.xml +29 -0
  547. data/misc/K2.xml +28 -0
  548. data/misc/K3.xml +30 -0
  549. data/misc/L0.xml +42 -0
  550. data/misc/L1.xml +49 -0
  551. data/misc/L10.xml +30 -0
  552. data/misc/L11.xml +32 -0
  553. data/misc/L12.xml +29 -0
  554. data/misc/L13.xml +43 -0
  555. data/misc/L1A.xml +29 -0
  556. data/misc/L3.xml +42 -0
  557. data/misc/L4.xml +33 -0
  558. data/misc/L5.xml +37 -0
  559. data/misc/L7.xml +43 -0
  560. data/misc/L8.xml +38 -0
  561. data/misc/L9.xml +29 -0
  562. data/misc/LAD.xml +41 -0
  563. data/misc/LC.xml +34 -0
  564. data/misc/LC1.xml +39 -0
  565. data/misc/LCD.xml +33 -0
  566. data/misc/LCT.xml +39 -0
  567. data/misc/LDT.xml +31 -0
  568. data/misc/LE.xml +28 -0
  569. data/misc/LEP.xml +31 -0
  570. data/misc/LEQ.xml +36 -0
  571. data/misc/LET.xml +31 -0
  572. data/misc/LFG.xml +33 -0
  573. data/misc/LFH.xml +34 -0
  574. data/misc/LFI.xml +35 -0
  575. data/misc/LH.xml +33 -0
  576. data/misc/LH1.xml +38 -0
  577. data/misc/LH2.xml +40 -0
  578. data/misc/LH3.xml +31 -0
  579. data/misc/LH4.xml +39 -0
  580. data/misc/LH6.xml +31 -0
  581. data/misc/LHE.xml +32 -0
  582. data/misc/LHR.xml +30 -0
  583. data/misc/LHT.xml +30 -0
  584. data/misc/LIC.xml +35 -0
  585. data/misc/LID.xml +36 -0
  586. data/misc/LIE.xml +31 -0
  587. data/misc/LIN.xml +58 -0
  588. data/misc/LM.xml +29 -0
  589. data/misc/LN.xml +38 -0
  590. data/misc/LN1.xml +50 -0
  591. data/misc/LN2.xml +39 -0
  592. data/misc/LOC.xml +51 -0
  593. data/misc/LOD.xml +33 -0
  594. data/misc/LP.xml +34 -0
  595. data/misc/LQ.xml +29 -0
  596. data/misc/LRQ.xml +48 -0
  597. data/misc/LS.xml +28 -0
  598. data/misc/LS1.xml +34 -0
  599. data/misc/LT.xml +31 -0
  600. data/misc/LTE.xml +31 -0
  601. data/misc/LTR.xml +39 -0
  602. data/misc/LUC.xml +31 -0
  603. data/misc/LUI.xml +32 -0
  604. data/misc/LV.xml +29 -0
  605. data/misc/LX.xml +28 -0
  606. data/misc/M0.xml +31 -0
  607. data/misc/M1.xml +39 -0
  608. data/misc/M10.xml +41 -0
  609. data/misc/M11.xml +46 -0
  610. data/misc/M12.xml +38 -0
  611. data/misc/M13.xml +39 -0
  612. data/misc/M14.xml +38 -0
  613. data/misc/M15.xml +43 -0
  614. data/misc/M2.xml +35 -0
  615. data/misc/M20.xml +36 -0
  616. data/misc/M21.xml +42 -0
  617. data/misc/M3.xml +31 -0
  618. data/misc/M7.xml +32 -0
  619. data/misc/M7A.xml +33 -0
  620. data/misc/MAN.xml +33 -0
  621. data/misc/MBL.xml +32 -0
  622. data/misc/MC.xml +32 -0
  623. data/misc/MCD.xml +31 -0
  624. data/misc/MCT.xml +35 -0
  625. data/misc/MEA.xml +39 -0
  626. data/misc/MI.xml +32 -0
  627. data/misc/MI1.xml +30 -0
  628. data/misc/MIA.xml +51 -0
  629. data/misc/MIC.xml +45 -0
  630. data/misc/MIN.xml +43 -0
  631. data/misc/MIR.xml +39 -0
  632. data/misc/MIS.xml +32 -0
  633. data/misc/MIT.xml +31 -0
  634. data/misc/MKS.xml +30 -0
  635. data/misc/MLA.xml +35 -0
  636. data/misc/MLS.xml +31 -0
  637. data/misc/MNC.xml +44 -0
  638. data/misc/MOA.xml +36 -0
  639. data/misc/MPI.xml +34 -0
  640. data/misc/MPP.xml +35 -0
  641. data/misc/MRC.xml +36 -0
  642. data/misc/MS.xml +33 -0
  643. data/misc/MS1.xml +35 -0
  644. data/misc/MS2.xml +31 -0
  645. data/misc/MS3.xml +32 -0
  646. data/misc/MS4.xml +31 -0
  647. data/misc/MS5.xml +32 -0
  648. data/misc/MS6.xml +31 -0
  649. data/misc/MSG.xml +30 -0
  650. data/misc/MSI.xml +29 -0
  651. data/misc/MSS.xml +34 -0
  652. data/misc/MTX.xml +33 -0
  653. data/misc/N1.xml +33 -0
  654. data/misc/N10.xml +40 -0
  655. data/misc/N11.xml +30 -0
  656. data/misc/N12.xml +29 -0
  657. data/misc/N2.xml +29 -0
  658. data/misc/N3.xml +29 -0
  659. data/misc/N4.xml +34 -0
  660. data/misc/N5.xml +36 -0
  661. data/misc/N7.xml +51 -0
  662. data/misc/N7A.xml +36 -0
  663. data/misc/N7B.xml +33 -0
  664. data/misc/N8.xml +38 -0
  665. data/misc/N8A.xml +37 -0
  666. data/misc/N9.xml +34 -0
  667. data/misc/NA.xml +39 -0
  668. data/misc/NCA.xml +32 -0
  669. data/misc/NCD.xml +34 -0
  670. data/misc/NM1.xml +38 -0
  671. data/misc/NTE.xml +29 -0
  672. data/misc/NX1.xml +32 -0
  673. data/misc/NX2.xml +30 -0
  674. data/misc/OBI.xml +33 -0
  675. data/misc/OD.xml +31 -0
  676. data/misc/OI.xml +33 -0
  677. data/misc/OID.xml +38 -0
  678. data/misc/OOI.xml +31 -0
  679. data/misc/OPS.xml +33 -0
  680. data/misc/OPX.xml +32 -0
  681. data/misc/OQS.xml +29 -0
  682. data/misc/ORI.xml +28 -0
  683. data/misc/OTI.xml +44 -0
  684. data/misc/P1.xml +34 -0
  685. data/misc/P2.xml +30 -0
  686. data/misc/P4.xml +32 -0
  687. data/misc/P5.xml +30 -0
  688. data/misc/PAD.xml +32 -0
  689. data/misc/PAI.xml +32 -0
  690. data/misc/PAL.xml +44 -0
  691. data/misc/PAM.xml +42 -0
  692. data/misc/PAS.xml +37 -0
  693. data/misc/PAT.xml +36 -0
  694. data/misc/PBI.xml +35 -0
  695. data/misc/PCL.xml +34 -0
  696. data/misc/PCR.xml +29 -0
  697. data/misc/PCS.xml +38 -0
  698. data/misc/PCT.xml +29 -0
  699. data/misc/PD.xml +37 -0
  700. data/misc/PDD.xml +32 -0
  701. data/misc/PDE.xml +31 -0
  702. data/misc/PDI.xml +31 -0
  703. data/misc/PDL.xml +39 -0
  704. data/misc/PDP.xml +30 -0
  705. data/misc/PDR.xml +31 -0
  706. data/misc/PDS.xml +30 -0
  707. data/misc/PEN.xml +36 -0
  708. data/misc/PER.xml +36 -0
  709. data/misc/PEX.xml +35 -0
  710. data/misc/PI.xml +42 -0
  711. data/misc/PID.xml +36 -0
  712. data/misc/PIN.xml +34 -0
  713. data/misc/PKD.xml +32 -0
  714. data/misc/PKG.xml +33 -0
  715. data/misc/PKL.xml +40 -0
  716. data/misc/PL.xml +33 -0
  717. data/misc/PLA.xml +32 -0
  718. data/misc/PLB.xml +41 -0
  719. data/misc/PLC.xml +29 -0
  720. data/misc/PLD.xml +31 -0
  721. data/misc/PLI.xml +36 -0
  722. data/misc/PM.xml +33 -0
  723. data/misc/PO1.xml +52 -0
  724. data/misc/PO3.xml +35 -0
  725. data/misc/PO4.xml +45 -0
  726. data/misc/POC.xml +54 -0
  727. data/misc/POD.xml +30 -0
  728. data/misc/PPA.xml +33 -0
  729. data/misc/PPD.xml +40 -0
  730. data/misc/PPL.xml +32 -0
  731. data/misc/PPY.xml +35 -0
  732. data/misc/PR.xml +36 -0
  733. data/misc/PR1.xml +40 -0
  734. data/misc/PR2.xml +36 -0
  735. data/misc/PRC.xml +39 -0
  736. data/misc/PRD.xml +38 -0
  737. data/misc/PRF.xml +34 -0
  738. data/misc/PRI.xml +41 -0
  739. data/misc/PRJ.xml +31 -0
  740. data/misc/PRM.xml +40 -0
  741. data/misc/PRR.xml +38 -0
  742. data/misc/PRS.xml +29 -0
  743. data/misc/PRT.xml +31 -0
  744. data/misc/PRV.xml +33 -0
  745. data/misc/PS.xml +41 -0
  746. data/misc/PS1.xml +30 -0
  747. data/misc/PSA.xml +32 -0
  748. data/misc/PSC.xml +52 -0
  749. data/misc/PSD.xml +36 -0
  750. data/misc/PT.xml +38 -0
  751. data/misc/PTD.xml +33 -0
  752. data/misc/PTF.xml +34 -0
  753. data/misc/PTS.xml +38 -0
  754. data/misc/PUN.xml +32 -0
  755. data/misc/PWK.xml +36 -0
  756. data/misc/PYD.xml +32 -0
  757. data/misc/PYM.xml +34 -0
  758. data/misc/PYT.xml +35 -0
  759. data/misc/Q2.xml +43 -0
  760. data/misc/Q3.xml +29 -0
  761. data/misc/Q5.xml +45 -0
  762. data/misc/Q7.xml +30 -0
  763. data/misc/Q8.xml +37 -0
  764. data/misc/QTY.xml +31 -0
  765. data/misc/R1.xml +40 -0
  766. data/misc/R11.xml +34 -0
  767. data/misc/R12.xml +37 -0
  768. data/misc/R13.xml +39 -0
  769. data/misc/R2.xml +40 -0
  770. data/misc/R2A.xml +37 -0
  771. data/misc/R2B.xml +30 -0
  772. data/misc/R2C.xml +31 -0
  773. data/misc/R2D.xml +29 -0
  774. data/misc/R3.xml +39 -0
  775. data/misc/R4.xml +35 -0
  776. data/misc/R9.xml +36 -0
  777. data/misc/RA.xml +37 -0
  778. data/misc/RAB.xml +37 -0
  779. data/misc/RAP.xml +34 -0
  780. data/misc/RB.xml +35 -0
  781. data/misc/RC.xml +36 -0
  782. data/misc/RCD.xml +48 -0
  783. data/misc/RCR.xml +29 -0
  784. data/misc/RD.xml +31 -0
  785. data/misc/RDD.xml +32 -0
  786. data/misc/RDI.xml +32 -0
  787. data/misc/RDM.xml +32 -0
  788. data/misc/RDR.xml +32 -0
  789. data/misc/RDT.xml +33 -0
  790. data/misc/REA.xml +41 -0
  791. data/misc/REC.xml +40 -0
  792. data/misc/RED.xml +33 -0
  793. data/misc/REF.xml +31 -0
  794. data/misc/REL.xml +29 -0
  795. data/misc/REN.xml +34 -0
  796. data/misc/REP.xml +47 -0
  797. data/misc/REQ.xml +29 -0
  798. data/misc/RES.xml +34 -0
  799. data/misc/RET.xml +32 -0
  800. data/misc/RH.xml +30 -0
  801. data/misc/RIC.xml +45 -0
  802. data/misc/RLD.xml +31 -0
  803. data/misc/RLT.xml +39 -0
  804. data/misc/RMR.xml +35 -0
  805. data/misc/RMT.xml +37 -0
  806. data/misc/RO.xml +36 -0
  807. data/misc/RP.xml +36 -0
  808. data/misc/RPA.xml +32 -0
  809. data/misc/RQS.xml +32 -0
  810. data/misc/RRA.xml +29 -0
  811. data/misc/RS.xml +33 -0
  812. data/misc/RSC.xml +31 -0
  813. data/misc/RSD.xml +30 -0
  814. data/misc/RST.xml +29 -0
  815. data/misc/RT.xml +39 -0
  816. data/misc/RT1.xml +35 -0
  817. data/misc/RTE.xml +32 -0
  818. data/misc/RTT.xml +29 -0
  819. data/misc/RU1.xml +36 -0
  820. data/misc/RU2.xml +35 -0
  821. data/misc/RU3.xml +56 -0
  822. data/misc/RYL.xml +31 -0
  823. data/misc/S1.xml +33 -0
  824. data/misc/S2.xml +30 -0
  825. data/misc/S4A.xml +38 -0
  826. data/misc/S5.xml +38 -0
  827. data/misc/S9.xml +35 -0
  828. data/misc/SA.xml +32 -0
  829. data/misc/SAC.xml +43 -0
  830. data/misc/SAD.xml +34 -0
  831. data/misc/SAL.xml +34 -0
  832. data/misc/SB.xml +28 -0
  833. data/misc/SBR.xml +36 -0
  834. data/misc/SBT.xml +30 -0
  835. data/misc/SC.xml +29 -0
  836. data/misc/SCA.xml +34 -0
  837. data/misc/SCD.xml +34 -0
  838. data/misc/SCH.xml +39 -0
  839. data/misc/SCL.xml +37 -0
  840. data/misc/SCM.xml +31 -0
  841. data/misc/SCN.xml +32 -0
  842. data/misc/SCP.xml +31 -0
  843. data/misc/SCR.xml +51 -0
  844. data/misc/SCS.xml +29 -0
  845. data/misc/SCT.xml +38 -0
  846. data/misc/SD1.xml +35 -0
  847. data/misc/SDP.xml +35 -0
  848. data/misc/SDQ.xml +50 -0
  849. data/misc/SE.xml +29 -0
  850. data/misc/SER.xml +38 -0
  851. data/misc/SES.xml +41 -0
  852. data/misc/SFC.xml +29 -0
  853. data/misc/SG.xml +33 -0
  854. data/misc/SHD.xml +41 -0
  855. data/misc/SHI.xml +32 -0
  856. data/misc/SHP.xml +34 -0
  857. data/misc/SHR.xml +29 -0
  858. data/misc/SI.xml +48 -0
  859. data/misc/SID.xml +33 -0
  860. data/misc/SII.xml +34 -0
  861. data/misc/SIN.xml +33 -0
  862. data/misc/SL1.xml +36 -0
  863. data/misc/SLA.xml +35 -0
  864. data/misc/SLI.xml +49 -0
  865. data/misc/SLN.xml +55 -0
  866. data/misc/SMA.xml +32 -0
  867. data/misc/SMB.xml +36 -0
  868. data/misc/SMD.xml +30 -0
  869. data/misc/SMO.xml +34 -0
  870. data/misc/SMR.xml +31 -0
  871. data/misc/SMS.xml +40 -0
  872. data/misc/SN1.xml +35 -0
  873. data/misc/SOI.xml +32 -0
  874. data/misc/SOM.xml +40 -0
  875. data/misc/SP.xml +32 -0
  876. data/misc/SPA.xml +38 -0
  877. data/misc/SPE.xml +31 -0
  878. data/misc/SPI.xml +42 -0
  879. data/misc/SPK.xml +32 -0
  880. data/misc/SPR.xml +36 -0
  881. data/misc/SPS.xml +33 -0
  882. data/misc/SPY.xml +30 -0
  883. data/misc/SR.xml +38 -0
  884. data/misc/SRA.xml +29 -0
  885. data/misc/SRD.xml +47 -0
  886. data/misc/SRE.xml +29 -0
  887. data/misc/SRM.xml +43 -0
  888. data/misc/SRT.xml +40 -0
  889. data/misc/SS.xml +36 -0
  890. data/misc/SSC.xml +35 -0
  891. data/misc/SSD.xml +31 -0
  892. data/misc/SSE.xml +32 -0
  893. data/misc/SSS.xml +36 -0
  894. data/misc/SST.xml +36 -0
  895. data/misc/ST.xml +30 -0
  896. data/misc/STA.xml +35 -0
  897. data/misc/STC.xml +39 -0
  898. data/misc/STP.xml +36 -0
  899. data/misc/STS.xml +32 -0
  900. data/misc/SUM.xml +45 -0
  901. data/misc/SUP.xml +31 -0
  902. data/misc/SV.xml +31 -0
  903. data/misc/SV1.xml +48 -0
  904. data/misc/SV2.xml +37 -0
  905. data/misc/SV3.xml +38 -0
  906. data/misc/SV4.xml +45 -0
  907. data/misc/SV5.xml +34 -0
  908. data/misc/SV6.xml +34 -0
  909. data/misc/SV7.xml +33 -0
  910. data/misc/SVA.xml +30 -0
  911. data/misc/SVC.xml +34 -0
  912. data/misc/SVD.xml +33 -0
  913. data/misc/SW.xml +36 -0
  914. data/misc/T1.xml +36 -0
  915. data/misc/T1002.xml +30 -0
  916. data/misc/T1004.xml +305 -0
  917. data/misc/T1005.xml +107 -0
  918. data/misc/T1006.xml +35 -0
  919. data/misc/T1007.xml +31 -0
  920. data/misc/T1008.xml +58 -0
  921. data/misc/T1009.xml +116 -0
  922. data/misc/T1012.xml +53 -0
  923. data/misc/T1013.xml +113 -0
  924. data/misc/T1015.xml +33 -0
  925. data/misc/T1016.xml +33 -0
  926. data/misc/T1017.xml +82 -0
  927. data/misc/T1019.xml +30 -0
  928. data/misc/T102.xml +32 -0
  929. data/misc/T1020.xml +30 -0
  930. data/misc/T1023.xml +31 -0
  931. data/misc/T1025.xml +30 -0
  932. data/misc/T1026.xml +34 -0
  933. data/misc/T1029.xml +68 -0
  934. data/misc/T103.2.xml +84 -0
  935. data/misc/T1030.xml +41 -0
  936. data/misc/T1031.xml +40 -0
  937. data/misc/T1032.xml +75 -0
  938. data/misc/T1033.xml +36 -0
  939. data/misc/T104.xml +31 -0
  940. data/misc/T1042.xml +32 -0
  941. data/misc/T1044.xml +41 -0
  942. data/misc/T1045.xml +32 -0
  943. data/misc/T1046.xml +34 -0
  944. data/misc/T1047.xml +40 -0
  945. data/misc/T1048.xml +36 -0
  946. data/misc/T1053.xml +29 -0
  947. data/misc/T1054.xml +30 -0
  948. data/misc/T1062.xml +47 -0
  949. data/misc/T1065.xml +43 -0
  950. data/misc/T1066.xml +45 -0
  951. data/misc/T1067.xml +39 -0
  952. data/misc/T1068.xml +34 -0
  953. data/misc/T1069.xml +181 -0
  954. data/misc/T107.xml +64 -0
  955. data/misc/T1070.xml +42 -0
  956. data/misc/T1071.xml +104 -0
  957. data/misc/T1072.xml +31 -0
  958. data/misc/T1073.xml +31 -0
  959. data/misc/T1074.xml +101 -0
  960. data/misc/T1075.xml +40 -0
  961. data/misc/T1076.xml +31 -0
  962. data/misc/T1077.xml +31 -0
  963. data/misc/T1078.xml +43 -0
  964. data/misc/T1079.xml +31 -0
  965. data/misc/T108.xml +59 -0
  966. data/misc/T1080.xml +31 -0
  967. data/misc/T1081.xml +72 -0
  968. data/misc/T1082.xml +48 -0
  969. data/misc/T1083.xml +76 -0
  970. data/misc/T1084.xml +29 -0
  971. data/misc/T1085.xml +58 -0
  972. data/misc/T1086.xml +34 -0
  973. data/misc/T1089.xml +98 -0
  974. data/misc/T1090.xml +30 -0
  975. data/misc/T1091.xml +39 -0
  976. data/misc/T1093.xml +45 -0
  977. data/misc/T1097.xml +31 -0
  978. data/misc/T1098.xml +30 -0
  979. data/misc/T1099.xml +31 -0
  980. data/misc/T11.xml +47 -0
  981. data/misc/T110.xml +47 -0
  982. data/misc/T1100.xml +36 -0
  983. data/misc/T1101.xml +34 -0
  984. data/misc/T1102.xml +30 -0
  985. data/misc/T1103.xml +35 -0
  986. data/misc/T1104.xml +49 -0
  987. data/misc/T1105.xml +32 -0
  988. data/misc/T1106.xml +101 -0
  989. data/misc/T1107.xml +43 -0
  990. data/misc/T1108.xml +39 -0
  991. data/misc/T1109.xml +50 -0
  992. data/misc/T1113.xml +43 -0
  993. data/misc/T1122.xml +34 -0
  994. data/misc/T1123.xml +46 -0
  995. data/misc/T1127.xml +60 -0
  996. data/misc/T1129.xml +184 -0
  997. data/misc/T1130.xml +29 -0
  998. data/misc/T1131.xml +120 -0
  999. data/misc/T1132.xml +68 -0
  1000. data/misc/T1133.xml +112 -0
  1001. data/misc/T1134.xml +36 -0
  1002. data/misc/T1135.xml +40 -0
  1003. data/misc/T1136.xml +447 -0
  1004. data/misc/T1138.xml +33 -0
  1005. data/misc/T1139.xml +42 -0
  1006. data/misc/T1140.xml +32 -0
  1007. data/misc/T1141.xml +43 -0
  1008. data/misc/T1142.xml +65 -0
  1009. data/misc/T1143.xml +36 -0
  1010. data/misc/T1146.xml +33 -0
  1011. data/misc/T1147.xml +47 -0
  1012. data/misc/T115.xml +60 -0
  1013. data/misc/T1150.xml +30 -0
  1014. data/misc/T1152.xml +30 -0
  1015. data/misc/T1153.xml +41 -0
  1016. data/misc/T1154.xml +31 -0
  1017. data/misc/T1156.xml +38 -0
  1018. data/misc/T1157.xml +31 -0
  1019. data/misc/T1159.xml +56 -0
  1020. data/misc/T1160.xml +41 -0
  1021. data/misc/T1161.xml +57 -0
  1022. data/misc/T1162.xml +35 -0
  1023. data/misc/T1163.xml +35 -0
  1024. data/misc/T1164.xml +36 -0
  1025. data/misc/T1165.xml +30 -0
  1026. data/misc/T1166.xml +77 -0
  1027. data/misc/T1168.xml +43 -0
  1028. data/misc/T1172.xml +109 -0
  1029. data/misc/T1173.xml +46 -0
  1030. data/misc/T1176.xml +97 -0
  1031. data/misc/T1179.xml +29 -0
  1032. data/misc/T1181.xml +46 -0
  1033. data/misc/T1185.xml +48 -0
  1034. data/misc/T1186.xml +144 -0
  1035. data/misc/T1187.xml +60 -0
  1036. data/misc/T1188.xml +144 -0
  1037. data/misc/T1189.xml +33 -0
  1038. data/misc/T1193.xml +61 -0
  1039. data/misc/T1196.xml +189 -0
  1040. data/misc/T1197.xml +46 -0
  1041. data/misc/T1198.xml +30 -0
  1042. data/misc/T1199.xml +32 -0
  1043. data/misc/T120.xml +31 -0
  1044. data/misc/T1201.xml +37 -0
  1045. data/misc/T1202.xml +32 -0
  1046. data/misc/T1203.xml +143 -0
  1047. data/misc/T1205.xml +79 -0
  1048. data/misc/T1207.xml +45 -0
  1049. data/misc/T1209.xml +34 -0
  1050. data/misc/T121.xml +52 -0
  1051. data/misc/T1211.xml +35 -0
  1052. data/misc/T1212.xml +32 -0
  1053. data/misc/T1213.xml +40 -0
  1054. data/misc/T1215.xml +32 -0
  1055. data/misc/T1216.xml +33 -0
  1056. data/misc/T1218.xml +32 -0
  1057. data/misc/T1219.xml +38 -0
  1058. data/misc/T122.xml +204 -0
  1059. data/misc/T1220.xml +30 -0
  1060. data/misc/T1221.xml +53 -0
  1061. data/misc/T1222.xml +38 -0
  1062. data/misc/T1223.xml +35 -0
  1063. data/misc/T1224.xml +62 -0
  1064. data/misc/T1225.xml +39 -0
  1065. data/misc/T1226.xml +43 -0
  1066. data/misc/T1227.xml +34 -0
  1067. data/misc/T1229.xml +32 -0
  1068. data/misc/T1230.xml +87 -0
  1069. data/misc/T1231.xml +38 -0
  1070. data/misc/T1232.xml +50 -0
  1071. data/misc/T1233.xml +49 -0
  1072. data/misc/T1234.xml +31 -0
  1073. data/misc/T1236.xml +31 -0
  1074. data/misc/T1237.xml +32 -0
  1075. data/misc/T1238.xml +30 -0
  1076. data/misc/T1239.xml +36 -0
  1077. data/misc/T1240.xml +57 -0
  1078. data/misc/T1241.xml +36 -0
  1079. data/misc/T1246.xml +30 -0
  1080. data/misc/T125.xml +47 -0
  1081. data/misc/T1250.xml +68 -0
  1082. data/misc/T1254.xml +41 -0
  1083. data/misc/T1257.xml +52 -0
  1084. data/misc/T1262.xml +98 -0
  1085. data/misc/T1264.xml +59 -0
  1086. data/misc/T1265.xml +34 -0
  1087. data/misc/T1266.xml +43 -0
  1088. data/misc/T1267.xml +33 -0
  1089. data/misc/T1268.xml +30 -0
  1090. data/misc/T1270.xml +917 -0
  1091. data/misc/T1273.xml +30 -0
  1092. data/misc/T1275.xml +31 -0
  1093. data/misc/T1277.xml +31 -0
  1094. data/misc/T1278.xml +29 -0
  1095. data/misc/T128.xml +1712 -0
  1096. data/misc/T1280.xml +43 -0
  1097. data/misc/T1292.xml +41 -0
  1098. data/misc/T1293.xml +56 -0
  1099. data/misc/T1294.xml +41 -0
  1100. data/misc/T1295.xml +55 -0
  1101. data/misc/T1297.xml +33 -0
  1102. data/misc/T1300.xml +1116 -0
  1103. data/misc/T1303.xml +35 -0
  1104. data/misc/T1304.xml +37 -0
  1105. data/misc/T1307.xml +216 -0
  1106. data/misc/T1308.xml +38 -0
  1107. data/misc/T1309.xml +144 -0
  1108. data/misc/T1310.xml +30 -0
  1109. data/misc/T1311.xml +38 -0
  1110. data/misc/T1312.xml +30 -0
  1111. data/misc/T1316.xml +31 -0
  1112. data/misc/T1317.xml +33 -0
  1113. data/misc/T1319.xml +37 -0
  1114. data/misc/T132.xml +33 -0
  1115. data/misc/T1320.xml +31 -0
  1116. data/misc/T1321.xml +1327 -0
  1117. data/misc/T1322.xml +41 -0
  1118. data/misc/T1327.xml +31 -0
  1119. data/misc/T1329.xml +37 -0
  1120. data/misc/T133.xml +50 -0
  1121. data/misc/T1330.xml +100 -0
  1122. data/misc/T1332.xml +29 -0
  1123. data/misc/T1333.xml +33 -0
  1124. data/misc/T1335.xml +31 -0
  1125. data/misc/T1336.xml +74 -0
  1126. data/misc/T1337.xml +35 -0
  1127. data/misc/T1338.xml +44 -0
  1128. data/misc/T1340.xml +30 -0
  1129. data/misc/T1342.xml +34 -0
  1130. data/misc/T1343.xml +74 -0
  1131. data/misc/T1344.xml +30 -0
  1132. data/misc/T1345.xml +36 -0
  1133. data/misc/T1346.xml +30 -0
  1134. data/misc/T1347.xml +31 -0
  1135. data/misc/T1348.xml +33 -0
  1136. data/misc/T1349.xml +34 -0
  1137. data/misc/T1350.xml +30 -0
  1138. data/misc/T1351.xml +32 -0
  1139. data/misc/T1355.xml +35 -0
  1140. data/misc/T1356.xml +31 -0
  1141. data/misc/T1357.xml +35 -0
  1142. data/misc/T1358.xml +29 -0
  1143. data/misc/T1359.xml +31 -0
  1144. data/misc/T1360.xml +34 -0
  1145. data/misc/T1361.xml +43 -0
  1146. data/misc/T1362.xml +33 -0
  1147. data/misc/T1363.xml +33 -0
  1148. data/misc/T1364.xml +35 -0
  1149. data/misc/T1365.xml +210 -0
  1150. data/misc/T1366.xml +37 -0
  1151. data/misc/T1367.xml +55 -0
  1152. data/misc/T1368.xml +31 -0
  1153. data/misc/T1369.xml +34 -0
  1154. data/misc/T1370.xml +37 -0
  1155. data/misc/T1373.xml +41 -0
  1156. data/misc/T1376.xml +55 -0
  1157. data/misc/T1378.xml +36 -0
  1158. data/misc/T1379.xml +49 -0
  1159. data/misc/T1382.xml +32 -0
  1160. data/misc/T1383.xml +45 -0
  1161. data/misc/T1384.xml +42 -0
  1162. data/misc/T1387.xml +61 -0
  1163. data/misc/T139.xml +40 -0
  1164. data/misc/T1390.xml +66 -0
  1165. data/misc/T1393.xml +31 -0
  1166. data/misc/T1395.xml +35 -0
  1167. data/misc/T1396.xml +30 -0
  1168. data/misc/T1398.xml +68 -0
  1169. data/misc/T1401.xml +44 -0
  1170. data/misc/T1402.xml +56 -0
  1171. data/misc/T1403.xml +30 -0
  1172. data/misc/T1404.xml +29 -0
  1173. data/misc/T1407.xml +29 -0
  1174. data/misc/T1408.xml +30 -0
  1175. data/misc/T1413.xml +30 -0
  1176. data/misc/T1420.xml +41 -0
  1177. data/misc/T1422.xml +32 -0
  1178. data/misc/T1423.xml +89 -0
  1179. data/misc/T1425.xml +36 -0
  1180. data/misc/T1426.xml +43 -0
  1181. data/misc/T1428.xml +29 -0
  1182. data/misc/T1429.xml +76 -0
  1183. data/misc/T143.xml +341 -0
  1184. data/misc/T1431.xml +33 -0
  1185. data/misc/T1432.xml +51 -0
  1186. data/misc/T1434.xml +34 -0
  1187. data/misc/T1439.xml +37 -0
  1188. data/misc/T146.xml +58 -0
  1189. data/misc/T1465.xml +48 -0
  1190. data/misc/T1466.xml +49 -0
  1191. data/misc/T1468.xml +64 -0
  1192. data/misc/T1469.xml +33 -0
  1193. data/misc/T147.xml +62 -0
  1194. data/misc/T1473.xml +42 -0
  1195. data/misc/T1476.xml +38 -0
  1196. data/misc/T1484.xml +37 -0
  1197. data/misc/T1485.xml +29 -0
  1198. data/misc/T1487.xml +58 -0
  1199. data/misc/T1488.xml +44 -0
  1200. data/misc/T1489.xml +39 -0
  1201. data/misc/T1491.xml +30 -0
  1202. data/misc/T1492.xml +37 -0
  1203. data/misc/T1493.xml +35 -0
  1204. data/misc/T1496.xml +81 -0
  1205. data/misc/T1499.xml +29 -0
  1206. data/misc/T150.xml +1125 -0
  1207. data/misc/T1511.xml +34 -0
  1208. data/misc/T1514.xml +41 -0
  1209. data/misc/T152.xml +577 -0
  1210. data/misc/T1520.xml +52 -0
  1211. data/misc/T1521.xml +41 -0
  1212. data/misc/T1522.xml +52 -0
  1213. data/misc/T1523.xml +35 -0
  1214. data/misc/T1525.xml +34 -0
  1215. data/misc/T1526.xml +32 -0
  1216. data/misc/T1527.xml +33 -0
  1217. data/misc/T1540.xml +31 -0
  1218. data/misc/T1543.xml +29 -0
  1219. data/misc/T1546.xml +32 -0
  1220. data/misc/T1549.xml +34 -0
  1221. data/misc/T1550.xml +31 -0
  1222. data/misc/T1552.xml +41 -0
  1223. data/misc/T1553.xml +41 -0
  1224. data/misc/T1554.xml +47 -0
  1225. data/misc/T1555.xml +31 -0
  1226. data/misc/T1556.xml +30 -0
  1227. data/misc/T1557.xml +32 -0
  1228. data/misc/T1558.xml +31 -0
  1229. data/misc/T1559.xml +50 -0
  1230. data/misc/T1560.xml +38 -0
  1231. data/misc/T1561.xml +29 -0
  1232. data/misc/T157.xml +206 -0
  1233. data/misc/T1570.xml +35 -0
  1234. data/misc/T1572.xml +30 -0
  1235. data/misc/T1574.xml +34 -0
  1236. data/misc/T1575.xml +33 -0
  1237. data/misc/T1576.xml +30 -0
  1238. data/misc/T1577.xml +30 -0
  1239. data/misc/T1578.xml +36 -0
  1240. data/misc/T1579.xml +30 -0
  1241. data/misc/T1585.xml +33 -0
  1242. data/misc/T1588.xml +47 -0
  1243. data/misc/T1590.xml +151 -0
  1244. data/misc/T1591.xml +159 -0
  1245. data/misc/T1592.xml +60 -0
  1246. data/misc/T1594.xml +69 -0
  1247. data/misc/T1595.xml +42 -0
  1248. data/misc/T1596.xml +82 -0
  1249. data/misc/T1599.xml +151 -0
  1250. data/misc/T16.xml +33 -0
  1251. data/misc/T160.xml +31 -0
  1252. data/misc/T1600.xml +36 -0
  1253. data/misc/T1601.xml +39 -0
  1254. data/misc/T1602.xml +59 -0
  1255. data/misc/T1606.xml +39 -0
  1256. data/misc/T1607.xml +47 -0
  1257. data/misc/T1609.xml +51 -0
  1258. data/misc/T1610.xml +31 -0
  1259. data/misc/T1611.xml +38 -0
  1260. data/misc/T1612.xml +32 -0
  1261. data/misc/T1617.xml +31 -0
  1262. data/misc/T1619.xml +30 -0
  1263. data/misc/T1620.xml +49 -0
  1264. data/misc/T1621.xml +29 -0
  1265. data/misc/T1622.xml +35 -0
  1266. data/misc/T1626.xml +30 -0
  1267. data/misc/T1627.xml +29 -0
  1268. data/misc/T1629.xml +41 -0
  1269. data/misc/T163.xml +49 -0
  1270. data/misc/T1630.xml +61 -0
  1271. data/misc/T1631.xml +44 -0
  1272. data/misc/T1632.xml +96 -0
  1273. data/misc/T1633.xml +32 -0
  1274. data/misc/T1634.xml +128 -0
  1275. data/misc/T1635.xml +39 -0
  1276. data/misc/T1636.xml +54 -0
  1277. data/misc/T1637.xml +29 -0
  1278. data/misc/T1638.xml +57 -0
  1279. data/misc/T1642.xml +37 -0
  1280. data/misc/T1644.xml +34 -0
  1281. data/misc/T1650.xml +73 -0
  1282. data/misc/T1651.xml +111 -0
  1283. data/misc/T1652.xml +36 -0
  1284. data/misc/T1656.xml +31 -0
  1285. data/misc/T1657.xml +30 -0
  1286. data/misc/T1658.xml +34 -0
  1287. data/misc/T1675.xml +31 -0
  1288. data/misc/T1678.xml +34 -0
  1289. data/misc/T1679.xml +30 -0
  1290. data/misc/T1680.xml +30 -0
  1291. data/misc/T1681.xml +43 -0
  1292. data/misc/T1685.xml +30 -0
  1293. data/misc/T1691.xml +81 -0
  1294. data/misc/T1693.xml +28 -0
  1295. data/misc/T1698.xml +30 -0
  1296. data/misc/T1699.xml +30 -0
  1297. data/misc/T1701.xml +30 -0
  1298. data/misc/T1703.xml +32 -0
  1299. data/misc/T1706.xml +33 -0
  1300. data/misc/T1713.xml +39 -0
  1301. data/misc/T1714.xml +40 -0
  1302. data/misc/T1719.xml +31 -0
  1303. data/misc/T1720.xml +46 -0
  1304. data/misc/T1721.xml +67 -0
  1305. data/misc/T1722.xml +38 -0
  1306. data/misc/T1727.xml +30 -0
  1307. data/misc/T1729.xml +48 -0
  1308. data/misc/T1730.xml +37 -0
  1309. data/misc/T1731.xml +40 -0
  1310. data/misc/T176.xml +70 -0
  1311. data/misc/T181.xml +75 -0
  1312. data/misc/T184.xml +43 -0
  1313. data/misc/T187.xml +79 -0
  1314. data/misc/T188.xml +35 -0
  1315. data/misc/T190.xml +29 -0
  1316. data/misc/T192.xml +30 -0
  1317. data/misc/T195.xml +33 -0
  1318. data/misc/T197.xml +34 -0
  1319. data/misc/T199.xml +31 -0
  1320. data/misc/T2.xml +39 -0
  1321. data/misc/T201.xml +39 -0
  1322. data/misc/T202.xml +66 -0
  1323. data/misc/T208.xml +41 -0
  1324. data/misc/T210.xml +29 -0
  1325. data/misc/T211.xml +161 -0
  1326. data/misc/T214.xml +31 -0
  1327. data/misc/T216.xml +28 -0
  1328. data/misc/T221.xml +74 -0
  1329. data/misc/T226.xml +29 -0
  1330. data/misc/T23.xml +53 -0
  1331. data/misc/T231.xml +42 -0
  1332. data/misc/T235.xml +544 -0
  1333. data/misc/T236.xml +194 -0
  1334. data/misc/T240.xml +46 -0
  1335. data/misc/T241.xml +36 -0
  1336. data/misc/T242.xml +35 -0
  1337. data/misc/T246.xml +86 -0
  1338. data/misc/T248.xml +34 -0
  1339. data/misc/T249.xml +32 -0
  1340. data/misc/T253.xml +33 -0
  1341. data/misc/T256.xml +48 -0
  1342. data/misc/T257.xml +37 -0
  1343. data/misc/T259.xml +48 -0
  1344. data/misc/T261.xml +44 -0
  1345. data/misc/T262.xml +37 -0
  1346. data/misc/T263.xml +48 -0
  1347. data/misc/T271.xml +29 -0
  1348. data/misc/T272.xml +29 -0
  1349. data/misc/T283.xml +31 -0
  1350. data/misc/T284.xml +93 -0
  1351. data/misc/T286.xml +37 -0
  1352. data/misc/T287.xml +30 -0
  1353. data/misc/T288.xml +34 -0
  1354. data/misc/T290.xml +51 -0
  1355. data/misc/T291.xml +30 -0
  1356. data/misc/T292.xml +29 -0
  1357. data/misc/T293.xml +30 -0
  1358. data/misc/T295.xml +36 -0
  1359. data/misc/T3.xml +34 -0
  1360. data/misc/T304.xml +138 -0
  1361. data/misc/T305.xml +50 -0
  1362. data/misc/T306.xml +347 -0
  1363. data/misc/T308.xml +28 -0
  1364. data/misc/T309.xml +209 -0
  1365. data/misc/T311.xml +32 -0
  1366. data/misc/T312.xml +32 -0
  1367. data/misc/T313.xml +37 -0
  1368. data/misc/T321.xml +35 -0
  1369. data/misc/T322.xml +32 -0
  1370. data/misc/T33.xml +34 -0
  1371. data/misc/T331.xml +49 -0
  1372. data/misc/T333.xml +44 -0
  1373. data/misc/T334.xml +30 -0
  1374. data/misc/T335.xml +52 -0
  1375. data/misc/T336.xml +104 -0
  1376. data/misc/T340.xml +153 -0
  1377. data/misc/T344.xml +87 -0
  1378. data/misc/T345.xml +59 -0
  1379. data/misc/T346.xml +111 -0
  1380. data/misc/T349.xml +30 -0
  1381. data/misc/T353.xml +93 -0
  1382. data/misc/T355.xml +831 -0
  1383. data/misc/T363.xml +376 -0
  1384. data/misc/T365.xml +69 -0
  1385. data/misc/T366.xml +265 -0
  1386. data/misc/T368.xml +129 -0
  1387. data/misc/T371.xml +57 -0
  1388. data/misc/T372.xml +29 -0
  1389. data/misc/T374.xml +1283 -0
  1390. data/misc/T375.xml +106 -0
  1391. data/misc/T377.xml +31 -0
  1392. data/misc/T378.xml +39 -0
  1393. data/misc/T379.xml +36 -0
  1394. data/misc/T381.xml +44 -0
  1395. data/misc/T39.xml +35 -0
  1396. data/misc/T392.xml +30 -0
  1397. data/misc/T393.xml +44 -0
  1398. data/misc/T399.xml +32 -0
  1399. data/misc/T40.xml +164 -0
  1400. data/misc/T400.xml +39 -0
  1401. data/misc/T407.xml +31 -0
  1402. data/misc/T412.xml +42 -0
  1403. data/misc/T422.xml +103 -0
  1404. data/misc/T423.xml +34 -0
  1405. data/misc/T426.xml +508 -0
  1406. data/misc/T432.xml +166 -0
  1407. data/misc/T433.xml +31 -0
  1408. data/misc/T436.xml +33 -0
  1409. data/misc/T437.xml +28 -0
  1410. data/misc/T441.xml +61 -0
  1411. data/misc/T444.xml +33 -0
  1412. data/misc/T445.xml +37 -0
  1413. data/misc/T448.xml +43 -0
  1414. data/misc/T455.xml +29 -0
  1415. data/misc/T456.xml +31 -0
  1416. data/misc/T460.xml +40 -0
  1417. data/misc/T461.xml +30 -0
  1418. data/misc/T465.xml +28 -0
  1419. data/misc/T47.xml +29 -0
  1420. data/misc/T473.xml +40 -0
  1421. data/misc/T478.xml +29 -0
  1422. data/misc/T479.xml +288 -0
  1423. data/misc/T48.xml +31 -0
  1424. data/misc/T480.xml +72 -0
  1425. data/misc/T481.xml +30 -0
  1426. data/misc/T482.xml +36 -0
  1427. data/misc/T483.xml +32 -0
  1428. data/misc/T484.xml +32 -0
  1429. data/misc/T485.xml +38 -0
  1430. data/misc/T486.xml +35 -0
  1431. data/misc/T487.xml +33 -0
  1432. data/misc/T491.xml +31 -0
  1433. data/misc/T501.xml +44 -0
  1434. data/misc/T503.xml +30 -0
  1435. data/misc/T506.xml +32 -0
  1436. data/misc/T51.xml +29 -0
  1437. data/misc/T511.xml +36 -0
  1438. data/misc/T512.xml +31 -0
  1439. data/misc/T514.xml +40 -0
  1440. data/misc/T516.xml +31 -0
  1441. data/misc/T519.xml +33 -0
  1442. data/misc/T52.xml +55 -0
  1443. data/misc/T521.xml +84 -0
  1444. data/misc/T522.xml +1767 -0
  1445. data/misc/T529.xml +43 -0
  1446. data/misc/T533.xml +31 -0
  1447. data/misc/T534.xml +34 -0
  1448. data/misc/T535.xml +33 -0
  1449. data/misc/T536.xml +40 -0
  1450. data/misc/T537.xml +29 -0
  1451. data/misc/T538.xml +36 -0
  1452. data/misc/T54.xml +36 -0
  1453. data/misc/T544.xml +29 -0
  1454. data/misc/T545.xml +36 -0
  1455. data/misc/T546.xml +208 -0
  1456. data/misc/T547.xml +47 -0
  1457. data/misc/T548.xml +86 -0
  1458. data/misc/T558.xml +37 -0
  1459. data/misc/T559.xml +218 -0
  1460. data/misc/T56.xml +46 -0
  1461. data/misc/T560.xml +196 -0
  1462. data/misc/T562.xml +74 -0
  1463. data/misc/T563.xml +83 -0
  1464. data/misc/T566.xml +36 -0
  1465. data/misc/T568.xml +34 -0
  1466. data/misc/T569.xml +73 -0
  1467. data/misc/T570.xml +29 -0
  1468. data/misc/T571.xml +29 -0
  1469. data/misc/T572.xml +32 -0
  1470. data/misc/T575.xml +28 -0
  1471. data/misc/T578.xml +45 -0
  1472. data/misc/T579.xml +36 -0
  1473. data/misc/T580.xml +34 -0
  1474. data/misc/T584.xml +117 -0
  1475. data/misc/T585.xml +46 -0
  1476. data/misc/T587.xml +42 -0
  1477. data/misc/T590.xml +30 -0
  1478. data/misc/T591.xml +81 -0
  1479. data/misc/T592.xml +34 -0
  1480. data/misc/T594.xml +50 -0
  1481. data/misc/T595.xml +33 -0
  1482. data/misc/T6.xml +34 -0
  1483. data/misc/T604.xml +30 -0
  1484. data/misc/T605.xml +31 -0
  1485. data/misc/T608.xml +34 -0
  1486. data/misc/T611.xml +52 -0
  1487. data/misc/T612.xml +31 -0
  1488. data/misc/T615.xml +65 -0
  1489. data/misc/T617.xml +51 -0
  1490. data/misc/T623.xml +78 -0
  1491. data/misc/T625.xml +31 -0
  1492. data/misc/T626.xml +50 -0
  1493. data/misc/T627.xml +32 -0
  1494. data/misc/T629.xml +33 -0
  1495. data/misc/T632.xml +38 -0
  1496. data/misc/T635.xml +47 -0
  1497. data/misc/T639.xml +118 -0
  1498. data/misc/T640.xml +553 -0
  1499. data/misc/T641.xml +463 -0
  1500. data/misc/T644.xml +31 -0
  1501. data/misc/T645.xml +29 -0
  1502. data/misc/T647.xml +227 -0
  1503. data/misc/T648.xml +33 -0
  1504. data/misc/T650.xml +109 -0
  1505. data/misc/T653.xml +39 -0
  1506. data/misc/T654.xml +31 -0
  1507. data/misc/T656.xml +29 -0
  1508. data/misc/T659.xml +47 -0
  1509. data/misc/T66.xml +266 -0
  1510. data/misc/T662.xml +32 -0
  1511. data/misc/T665.xml +29 -0
  1512. data/misc/T666.xml +47 -0
  1513. data/misc/T668.xml +53 -0
  1514. data/misc/T669.xml +33 -0
  1515. data/misc/T670.xml +57 -0
  1516. data/misc/T672.xml +35 -0
  1517. data/misc/T673.xml +1123 -0
  1518. data/misc/T674.xml +32 -0
  1519. data/misc/T675.xml +38 -0
  1520. data/misc/T676.xml +31 -0
  1521. data/misc/T678.xml +72 -0
  1522. data/misc/T679.xml +36 -0
  1523. data/misc/T680.xml +48 -0
  1524. data/misc/T681.xml +38 -0
  1525. data/misc/T682.xml +58 -0
  1526. data/misc/T683.xml +32 -0
  1527. data/misc/T687.xml +89 -0
  1528. data/misc/T688.xml +38 -0
  1529. data/misc/T689.xml +44 -0
  1530. data/misc/T692.xml +61 -0
  1531. data/misc/T693.xml +34 -0
  1532. data/misc/T695.xml +39 -0
  1533. data/misc/T698.xml +30 -0
  1534. data/misc/T699.xml +29 -0
  1535. data/misc/T701.xml +118 -0
  1536. data/misc/T703.xml +45 -0
  1537. data/misc/T704.xml +41 -0
  1538. data/misc/T705.xml +30 -0
  1539. data/misc/T706.xml +151 -0
  1540. data/misc/T707.xml +115 -0
  1541. data/misc/T708.xml +125 -0
  1542. data/misc/T709.xml +29 -0
  1543. data/misc/T714.xml +30 -0
  1544. data/misc/T715.xml +34 -0
  1545. data/misc/T716.xml +47 -0
  1546. data/misc/T717.xml +33 -0
  1547. data/misc/T718.xml +50 -0
  1548. data/misc/T72.xml +30 -0
  1549. data/misc/T720.xml +35 -0
  1550. data/misc/T723.xml +39 -0
  1551. data/misc/T726.xml +46 -0
  1552. data/misc/T728.xml +38 -0
  1553. data/misc/T73.xml +30 -0
  1554. data/misc/T731.xml +34 -0
  1555. data/misc/T732.xml +37 -0
  1556. data/misc/T735.xml +277 -0
  1557. data/misc/T736.xml +29 -0
  1558. data/misc/T737.xml +191 -0
  1559. data/misc/T738.xml +1018 -0
  1560. data/misc/T743.xml +31 -0
  1561. data/misc/T744.xml +39 -0
  1562. data/misc/T745.xml +28 -0
  1563. data/misc/T747.xml +30 -0
  1564. data/misc/T748.xml +51 -0
  1565. data/misc/T749.xml +51 -0
  1566. data/misc/T750.xml +263 -0
  1567. data/misc/T752.xml +136 -0
  1568. data/misc/T753.xml +72 -0
  1569. data/misc/T755.xml +560 -0
  1570. data/misc/T756.xml +82 -0
  1571. data/misc/T759.xml +28 -0
  1572. data/misc/T760.xml +28 -0
  1573. data/misc/T762.xml +42 -0
  1574. data/misc/T771.xml +41 -0
  1575. data/misc/T772.xml +30 -0
  1576. data/misc/T78.xml +31 -0
  1577. data/misc/T783.xml +42 -0
  1578. data/misc/T786.xml +44 -0
  1579. data/misc/T789.xml +44 -0
  1580. data/misc/T792.xml +42 -0
  1581. data/misc/T795.xml +36 -0
  1582. data/misc/T797.xml +32 -0
  1583. data/misc/T8.xml +34 -0
  1584. data/misc/T808.xml +46 -0
  1585. data/misc/T811.xml +45 -0
  1586. data/misc/T812.xml +38 -0
  1587. data/misc/T813.xml +39 -0
  1588. data/misc/T814.xml +29 -0
  1589. data/misc/T815.xml +40 -0
  1590. data/misc/T816.xml +37 -0
  1591. data/misc/T820.xml +58 -0
  1592. data/misc/T821.xml +180 -0
  1593. data/misc/T829.xml +48 -0
  1594. data/misc/T83.xml +55 -0
  1595. data/misc/T831.xml +41 -0
  1596. data/misc/T835.xml +28 -0
  1597. data/misc/T836.xml +63 -0
  1598. data/misc/T837.xml +38 -0
  1599. data/misc/T844.xml +30 -0
  1600. data/misc/T845.xml +34 -0
  1601. data/misc/T846.xml +66 -0
  1602. data/misc/T847.xml +35 -0
  1603. data/misc/T848.xml +30 -0
  1604. data/misc/T849.xml +30 -0
  1605. data/misc/T850.xml +39 -0
  1606. data/misc/T852.xml +31 -0
  1607. data/misc/T853.xml +48 -0
  1608. data/misc/T854.xml +47 -0
  1609. data/misc/T855.xml +29 -0
  1610. data/misc/T856.xml +31 -0
  1611. data/misc/T859.xml +69 -0
  1612. data/misc/T868.xml +29 -0
  1613. data/misc/T875.xml +150 -0
  1614. data/misc/T88.xml +48 -0
  1615. data/misc/T883.xml +36 -0
  1616. data/misc/T886.xml +36 -0
  1617. data/misc/T887.xml +42 -0
  1618. data/misc/T888.xml +34 -0
  1619. data/misc/T889.xml +37 -0
  1620. data/misc/T890.xml +43 -0
  1621. data/misc/T891.xml +47 -0
  1622. data/misc/T892.xml +52 -0
  1623. data/misc/T893.xml +29 -0
  1624. data/misc/T894.xml +39 -0
  1625. data/misc/T897.xml +31 -0
  1626. data/misc/T9.xml +50 -0
  1627. data/misc/T90.xml +31 -0
  1628. data/misc/T901.xml +234 -0
  1629. data/misc/T902.xml +31 -0
  1630. data/misc/T903.xml +30 -0
  1631. data/misc/T904.xml +33 -0
  1632. data/misc/T906.xml +31 -0
  1633. data/misc/T91.xml +107 -0
  1634. data/misc/T912.xml +32 -0
  1635. data/misc/T913.xml +43 -0
  1636. data/misc/T92.xml +98 -0
  1637. data/misc/T921.xml +33 -0
  1638. data/misc/T922.xml +33 -0
  1639. data/misc/T923.xml +35 -0
  1640. data/misc/T924.xml +29 -0
  1641. data/misc/T927.xml +29 -0
  1642. data/misc/T934.xml +34 -0
  1643. data/misc/T935.xml +157 -0
  1644. data/misc/T936.xml +86 -0
  1645. data/misc/T937.xml +47 -0
  1646. data/misc/T938.xml +35 -0
  1647. data/misc/T939.xml +29 -0
  1648. data/misc/T940.xml +32 -0
  1649. data/misc/T943.xml +53 -0
  1650. data/misc/T944.xml +43 -0
  1651. data/misc/T945.xml +56 -0
  1652. data/misc/T950.xml +75 -0
  1653. data/misc/T951.xml +36 -0
  1654. data/misc/T952.xml +30 -0
  1655. data/misc/T955.xml +32 -0
  1656. data/misc/T959.xml +29 -0
  1657. data/misc/T960.xml +40 -0
  1658. data/misc/T962.xml +38 -0
  1659. data/misc/T963.xml +129 -0
  1660. data/misc/T964.xml +46 -0
  1661. data/misc/T969.xml +38 -0
  1662. data/misc/T974.xml +28 -0
  1663. data/misc/T976.xml +32 -0
  1664. data/misc/T98.xml +1511 -0
  1665. data/misc/T980.xml +35 -0
  1666. data/misc/T981.xml +46 -0
  1667. data/misc/T982.xml +32 -0
  1668. data/misc/T983.xml +29 -0
  1669. data/misc/T984.xml +30 -0
  1670. data/misc/T985.xml +28 -0
  1671. data/misc/T986.xml +28 -0
  1672. data/misc/T987.xml +36 -0
  1673. data/misc/T988.xml +48 -0
  1674. data/misc/T990.xml +34 -0
  1675. data/misc/T998.xml +30 -0
  1676. data/misc/T999.xml +39 -0
  1677. data/misc/TA.xml +34 -0
  1678. data/misc/TAX.xml +40 -0
  1679. data/misc/TBI.xml +35 -0
  1680. data/misc/TC2.xml +29 -0
  1681. data/misc/TCD.xml +43 -0
  1682. data/misc/TD1.xml +37 -0
  1683. data/misc/TD3.xml +37 -0
  1684. data/misc/TD4.xml +32 -0
  1685. data/misc/TD5.xml +42 -0
  1686. data/misc/TDS.xml +31 -0
  1687. data/misc/TDT.xml +31 -0
  1688. data/misc/TED.xml +35 -0
  1689. data/misc/TEM.xml +32 -0
  1690. data/misc/TER.xml +33 -0
  1691. data/misc/TF.xml +31 -0
  1692. data/misc/TFR.xml +31 -0
  1693. data/misc/TFS.xml +35 -0
  1694. data/misc/THE.xml +32 -0
  1695. data/misc/TI.xml +34 -0
  1696. data/misc/TI01.xml +34 -0
  1697. data/misc/TI03.xml +29 -0
  1698. data/misc/TI05.xml +65 -0
  1699. data/misc/TI10.xml +28 -0
  1700. data/misc/TI11.xml +41 -0
  1701. data/misc/TI13.xml +29 -0
  1702. data/misc/TI14.xml +30 -0
  1703. data/misc/TI40.xml +36 -0
  1704. data/misc/TI43.xml +61 -0
  1705. data/misc/TI58.xml +32 -0
  1706. data/misc/TI60.xml +29 -0
  1707. data/misc/TI61.xml +30 -0
  1708. data/misc/TI62.xml +30 -0
  1709. data/misc/TI63.xml +33 -0
  1710. data/misc/TIA.xml +34 -0
  1711. data/misc/TID.xml +36 -0
  1712. data/misc/TII.xml +32 -0
  1713. data/misc/TIS.xml +31 -0
  1714. data/misc/TLN.xml +49 -0
  1715. data/misc/TMD.xml +36 -0
  1716. data/misc/TOA.xml +32 -0
  1717. data/misc/TOO.xml +30 -0
  1718. data/misc/TOV.xml +33 -0
  1719. data/misc/TPB.xml +31 -0
  1720. data/misc/TPD.xml +31 -0
  1721. data/misc/TRF.xml +32 -0
  1722. data/misc/TRL.xml +32 -0
  1723. data/misc/TRN.xml +31 -0
  1724. data/misc/TRS.xml +32 -0
  1725. data/misc/TS.xml +34 -0
  1726. data/misc/TS2.xml +46 -0
  1727. data/misc/TS3.xml +51 -0
  1728. data/misc/TSD.xml +29 -0
  1729. data/misc/TSI.xml +31 -0
  1730. data/misc/TSP.xml +31 -0
  1731. data/misc/TST.xml +44 -0
  1732. data/misc/TSU.xml +35 -0
  1733. data/misc/TT.xml +29 -0
  1734. data/misc/TUD.xml +30 -0
  1735. data/misc/TXI.xml +37 -0
  1736. data/misc/TXN.xml +37 -0
  1737. data/misc/TXP.xml +37 -0
  1738. data/misc/UC.xml +31 -0
  1739. data/misc/UCS.xml +35 -0
  1740. data/misc/UD.xml +44 -0
  1741. data/misc/UDA.xml +34 -0
  1742. data/misc/UIT.xml +30 -0
  1743. data/misc/UM.xml +37 -0
  1744. data/misc/UQS.xml +31 -0
  1745. data/misc/UR.xml +29 -0
  1746. data/misc/USD.xml +39 -0
  1747. data/misc/USI.xml +30 -0
  1748. data/misc/UWI.xml +31 -0
  1749. data/misc/V1.xml +36 -0
  1750. data/misc/V2.xml +44 -0
  1751. data/misc/V3.xml +31 -0
  1752. data/misc/V4.xml +28 -0
  1753. data/misc/V5.xml +30 -0
  1754. data/misc/V9.xml +47 -0
  1755. data/misc/VAD.xml +38 -0
  1756. data/misc/VAR.xml +34 -0
  1757. data/misc/VAT.xml +39 -0
  1758. data/misc/VC.xml +40 -0
  1759. data/misc/VC1.xml +42 -0
  1760. data/misc/VDI.xml +42 -0
  1761. data/misc/VEH.xml +43 -0
  1762. data/misc/VID.xml +40 -0
  1763. data/misc/VR.xml +36 -0
  1764. data/misc/VRC.xml +32 -0
  1765. data/misc/W01.xml +43 -0
  1766. data/misc/W03.xml +34 -0
  1767. data/misc/W04.xml +42 -0
  1768. data/misc/W05.xml +35 -0
  1769. data/misc/W06.xml +39 -0
  1770. data/misc/W07.xml +38 -0
  1771. data/misc/W08.xml +36 -0
  1772. data/misc/W09.xml +36 -0
  1773. data/misc/W1.xml +28 -0
  1774. data/misc/W10.xml +36 -0
  1775. data/misc/W12.xml +49 -0
  1776. data/misc/W13.xml +32 -0
  1777. data/misc/W14.xml +32 -0
  1778. data/misc/W15.xml +33 -0
  1779. data/misc/W17.xml +36 -0
  1780. data/misc/W18.xml +30 -0
  1781. data/misc/W19.xml +45 -0
  1782. data/misc/W2.xml +43 -0
  1783. data/misc/W20.xml +37 -0
  1784. data/misc/W27.xml +37 -0
  1785. data/misc/W28.xml +35 -0
  1786. data/misc/W3.xml +33 -0
  1787. data/misc/W4.xml +32 -0
  1788. data/misc/W5.xml +33 -0
  1789. data/misc/W6.xml +31 -0
  1790. data/misc/W66.xml +37 -0
  1791. data/misc/W76.xml +33 -0
  1792. data/misc/WLD.xml +37 -0
  1793. data/misc/WS.xml +30 -0
  1794. data/misc/X01.xml +37 -0
  1795. data/misc/X02.xml +32 -0
  1796. data/misc/X1.xml +44 -0
  1797. data/misc/X2.xml +33 -0
  1798. data/misc/X4.xml +46 -0
  1799. data/misc/X7.xml +29 -0
  1800. data/misc/XD.xml +32 -0
  1801. data/misc/XH.xml +34 -0
  1802. data/misc/XPO.xml +31 -0
  1803. data/misc/XQ.xml +32 -0
  1804. data/misc/Y1.xml +36 -0
  1805. data/misc/Y2.xml +37 -0
  1806. data/misc/Y3.xml +38 -0
  1807. data/misc/Y4.xml +37 -0
  1808. data/misc/Y5.xml +28 -0
  1809. data/misc/Y6.xml +30 -0
  1810. data/misc/Y7.xml +32 -0
  1811. data/misc/YNQ.xml +37 -0
  1812. data/misc/ZA.xml +35 -0
  1813. data/misc/ZC1.xml +36 -0
  1814. data/misc/ZD.xml +36 -0
  1815. data/misc/ZR.xml +43 -0
  1816. data/misc/ZT.xml +33 -0
  1817. data/test/tc_factory_270.rb +170 -0
  1818. data/test/tc_factory_270interchange.rb +306 -0
  1819. data/test/tc_factory_997.rb +11 -7
  1820. data/test/tc_parse_270.rb +98 -0
  1821. data/test/tc_parse_270interchange.rb +184 -0
  1822. data/test/tc_parse_997.rb +4 -4
  1823. metadata +1821 -35
  1824. data/lib/X12/x12syntax.treetop +0 -256
  1825. data/misc/997.d12 +0 -118
  1826. data/misc/IEA.d12 +0 -10
  1827. data/misc/ISA.d12 +0 -24
  1828. data/misc/SE.d12 +0 -12
  1829. data/misc/ST.d12 +0 -7
  1830. data/misc/Tbl143.d12 +0 -302
  1831. data/misc/Tbl479.d12 +0 -238
  1832. data/misc/Tbl715.d12 +0 -11
  1833. data/misc/Tbl716.d12 +0 -27
  1834. data/misc/Tbl717.d12 +0 -10
  1835. data/misc/Tbl718.d12 +0 -29
  1836. data/misc/Tbl720.d12 +0 -12
  1837. data/misc/Tbl723.d12 +0 -14
  1838. data/misc/TblI01.d12 +0 -11
  1839. data/misc/TblI03.d12 +0 -6
  1840. data/misc/TblI05.d12 +0 -42
  1841. data/misc/TblI10.d12 +0 -5
  1842. data/misc/TblI11.d12 +0 -18
  1843. data/misc/TblI13.d12 +0 -6
  1844. data/misc/TblI14.d12 +0 -7
data/CHANGELOG CHANGED
@@ -1,6 +1,11 @@
1
1
  = CHANGELOG
2
2
 
3
- $Id: CHANGELOG 60 2009-03-19 22:39:00Z ikk $
3
+ $Id: CHANGELOG 92 2009-05-13 22:12:10Z ikk $
4
+
5
+ == 5/15/09 - Release 1.1.0
6
+
7
+ * Ported X12 definitions and definition parser from proprietary d12 language to XML.
8
+ * Added X12 definitions for 270 message and all its dependent segments and validation tables.
4
9
 
5
10
  == 3/19/09 - Release 0.1.0
6
11
 
data/README CHANGED
@@ -1,6 +1,6 @@
1
1
  = X12Parser - a library to manipulate X12 structures using native Ruby syntax
2
2
 
3
- $Id: README 40 2008-11-13 19:51:31Z ikk $
3
+ $Id: README 92 2009-05-13 22:12:10Z ikk $
4
4
 
5
5
  *WARNING* <tt>The project is in development. Contributors are welcome.</tt>
6
6
 
@@ -72,57 +72,56 @@ across the wire - X12 or no X12. The X12 structures are defined in
72
72
  so-called Implementation Guides - thick books with all the data pieces
73
73
  spelled out. There is no other choice, but to invent a
74
74
  computer-readable definition language that will codify these
75
- books. For example, the X12/997 message can be defined as
76
-
77
- loop 997 1:1
78
- {
79
- segment ST 1:1
80
- segment AK1 1:1
81
- loop L1000 0:999999
82
- {
83
- segment AK2 0:1
84
- loop L1010 0:999999
85
- {
86
- segment AK3 0:1
87
- segment AK4 0:99
88
- } # L1010
89
- segment AK5 1:1
90
- } # L1000
91
- segment AK9 1:1
92
- segment SE 1:1
93
- } # 997
94
-
95
- Namely, the 997 is a 'loop' containing segments ST (only one - '1:1'),
96
- AK1 (also only one), another loop L1000 (zero or many repeats),
97
- segments AK9 and SE. The loop L1000 can contain a segment AK2
98
- (optional - '0:1') and another loop L1010 (zero or many), and so on.
75
+ books. For familiarity sake we'll use XML. For example, the X12/997
76
+ message can be defined as
77
+
78
+ <Definition>
79
+ <Loop name="997">
80
+ <Segment name="ST" min="1" max="1"/>
81
+ <Segment name="AK1" min="1" max="1"/>
82
+ <Loop name="L1000" max="999999" required="y">
83
+ <Segment name="AK2" max="1" required="n"/>
84
+ <Loop name="L1010" max="999999" required="n">
85
+ <Segment name="AK3" max="1" required="n"/>
86
+ <Segment name="AK4" max="99" required="n"/>
87
+ </Loop>
88
+ <Segment name="AK5" max="1" required="y"/>
89
+ </Loop>
90
+ <Segment name="AK9" max="1" required="y"/>
91
+ <Segment name="SE" max="1" required="y"/>
92
+ </Loop>
93
+ </Definition>
94
+
95
+ Namely, the 997 is a 'loop' containing segments ST (only one), AK1
96
+ (also only one), another loop L1000 (zero or many repeats), segments
97
+ AK9 and SE. The loop L1000 can contain a segment AK2 (optional) and
98
+ another loop L1010 (zero or many), and so on.
99
99
 
100
100
  The segments' structure can be further defined as, for example,
101
101
 
102
- segment AK2 {
103
- TransactionSetIdentifierCode S R 3-3 Tbl143
104
- TransactionSetControlNumber S R 4-9
105
- } # AK2
102
+ <Segment name="AK2">
103
+ <Field name="TransactionSetIdentifierCode" required="y" min="3" max="3" validation="T143"/>
104
+ <Field name="TransactionSetControlNumber" required="y" min="4" max="9"/>
105
+ </Segment>
106
106
 
107
- wihch defines a segment AK2 as having to fields:
107
+ which defines a segment AK2 as having two fields:
108
108
  TransactionSetIdentifierCode and TransactionSetControlNumber. The
109
109
  field TransactionSetIdentifierCode is defined as having a type of
110
- string ('S'), begin required ('R'), having length of minimum 3 and
111
- maximum 3 characters ('3-3'), and being validated against a table
112
- Tbl143. The validation table is defined as
110
+ string (default), being required, having length of minimum 3 and
111
+ maximum 3 characters, and being validated against a table T143. The
112
+ validation table is defined as
113
113
 
114
- table Tbl143 {
115
- 100 Insurance Plan Description
116
- 101 Name and Address Lists
114
+ <Table name="T143">
115
+ <Entry name="100" value="Insurance Plan Description"/>
116
+ <Entry name="101" value="Name and Address Lists"/>
117
117
  ...
118
- 997 Functional Acknowledgment
119
- 998 Set Cancellation
120
- } # Tbl143
118
+ <Entry name="997" value="Functional Acknowledgment"/>
119
+ <Entry name="998" value="Set Cancellation"/>
120
+ </Table>
121
121
 
122
- where required values are first tokens on each line, i.e., 100, 101,
123
- ..., 997, 998.
122
+ with entries having just names and values.
124
123
 
125
- This message is fully flashed out in an example 'misc/997.d12' file,
124
+ This message is fully flashed out in an example 'misc/997.xml' file,
126
125
  copied from the ASC X12N 276/277 (004010X093) "Health Care
127
126
  Claim Status Request and Response" National Electronic Data
128
127
  Interchange Transaction Set Implementation Guide.
@@ -139,11 +138,11 @@ in this field is still in the eye of the beholder, but, at least its
139
138
  location is clearly identified in the message.
140
139
 
141
140
 
142
- === X12 Structure Definition Language (d12)
141
+ === X12 Structure Definition Language
143
142
 
144
143
  The syntax of the X12 structure definition language should be apparent
145
- from the '997.d12' file enclosed with the package. The strict definition
146
- is formalized in 'lib/X12/x12syntax.treetop' file.
144
+ from the '997.xml' file enclosed with the package. A more detailed
145
+ description follows in Appendix A.
147
146
 
148
147
  === Parsing
149
148
 
@@ -153,8 +152,8 @@ example/parse.rb):
153
152
  require 'x12'
154
153
 
155
154
  # Read message definition and create an actual parser
156
- # by compiling .d12 file
157
- parser = X12::Parser.new('misc/997.d12')
155
+ # by compiling the XML file
156
+ parser = X12::Parser.new('misc/997.xml')
158
157
 
159
158
  # Define a test message to parse
160
159
  m997='ST*997*2878~AK1*HS*293328532~AK2*270*307272179~'\
@@ -193,7 +192,7 @@ Here is how to perform a reverse operation and generate a well-formed
193
192
 
194
193
  # Read message definition and create an actual parser
195
194
  # by compiling .d12 file
196
- parser = X12::Parser.new('misc/997.d12')
195
+ parser = X12::Parser.new('misc/997.xml')
197
196
 
198
197
  # Make a new 997 message
199
198
  r = parser.factory('997')
@@ -270,11 +269,6 @@ You can install X12 library with the following command.
270
269
 
271
270
  % gem install X12
272
271
 
273
- If you install directly from the X12*.gem file, it requires these
274
- packages to be installed first:
275
- * {Treetop}[http://rubyforge.org/projects/treetop/]
276
- * {Polyglot}[http://rubyforge.org/projects/polyglot/]
277
-
278
272
  == License
279
273
 
280
274
  X12 library is released under the Lesser GPL license, see
@@ -286,12 +280,6 @@ http://www.gnu.org/licenses/lgpl.txt
286
280
  * Field types and sizes are ignored.
287
281
  * No access methods for composites' fields.
288
282
 
289
- == Wish list
290
-
291
- * .d12 files should have an 'include' facility, so data definitions can be reused for different messages.
292
-
293
- * It would be nice to codify all popular X12 messages in .d12 format.
294
-
295
283
  == Support
296
284
 
297
285
  Please use the following:
@@ -306,4 +294,171 @@ The authors of the project were inspired by the following works:
306
294
 
307
295
  1. The Perl X12 parser by Prasad Poruporuthan, http://search.cpan.org/~prasad/X12-0.09/lib/X12/Parser.pm
308
296
  2. The Ruby port of the above by Chris Parker, http://rubyforge.org/projects/x12-parser/
309
- 3. Treetop Ruby parser, http://treetop.rubyforge.org
297
+
298
+ == Appendix A. Structure definition language
299
+
300
+ The structure definition language uses XML to describe X12 message
301
+ format. A message definition can be in a single file or in several. If
302
+ the definition parser encounters an element (segment, composite, or
303
+ table), which has not been previously defined, it tries to load the
304
+ definition from the file with the same name and in the same
305
+ directory. For example, if a loop mentions a segment named 'ST' and
306
+ this segment is not defined, the parser will try to load and parse a
307
+ file called 'ST.xml'. This convention works for any name unless it
308
+ conflicts with a Microsoft's device name, see Appendix B.
309
+
310
+ Each element in a structure definition (except 'Definition') must have
311
+ an attribute called 'name'. It is used to set/get respective content
312
+ from Ruby. If an element's 'name' attribute cannot be a valid Ruby
313
+ identifier (for example, '270'), the parser will prepend the name with
314
+ '_' (underscore). I.e., this expression is not valid:
315
+
316
+ @r.FG[1].270[1].ST.TransactionSetIdentifierCode
317
+
318
+ but his one is
319
+
320
+ @r.FG[1]._270[1].ST.TransactionSetIdentifierCode
321
+
322
+ Each XML file has to have a single root element, one of the following:
323
+
324
+ === Definition
325
+
326
+ The 'Definition' element can have nested loops, segments, composites,
327
+ and tables. It is used to provide 'artificial' root element for XML
328
+ document when several definitions are in one physical file. For
329
+ example, this is `misc/997single.xml' (edited for size):
330
+
331
+ <Definition>
332
+ <Segment name="ST">
333
+ <Field name="TransactionSetIdentifierCode" min="3" max="3" validation="T143"/>
334
+ <Field name="TransactionSetControlNumber" min="4" max="9"/>
335
+ <Field name="ImplementationConventionReference" required="y" min="1" max="35"/>
336
+ </Segment>
337
+
338
+ <Composite name="C030">
339
+ <Field name="ElementPositionInSegment" type="long" required="n" min="1" max="2"/>
340
+ <Field name="ComponentDataElementPositionInComposite" type="long" required="y" min="1" max="2"/>
341
+ <Field name="RepeatingDataElementPosition" type="long" required="y" min="1" max="4"/>
342
+ </Composite>
343
+
344
+ <Segment name="AK1">
345
+ <Field name="FunctionalIdentifierCode" min="2" max="2" validation="T479"/>
346
+ <Field name="GroupControlNumber" type="long" min="1" max="9"/>
347
+ </Segment>
348
+
349
+ <Table name="T723">
350
+ <Entry name="1" value="Mandatory data element missing"/>
351
+ <Entry name="2" value="Conditional required data element missing."/>
352
+ <!-- ... other entries -->
353
+ <Entry name="13" value="Too Many Components"/>
354
+ </Table>
355
+
356
+ <!-- ... other segments or composites or tables -->
357
+
358
+ <Loop name="997">
359
+ <Segment name="ST" min="1" max="1"/>
360
+ <Segment name="AK1" min="1" max="1"/>
361
+ <Loop name="L1000" max="999999" required="y">
362
+ <Segment name="AK2" max="1" required="n"/>
363
+ <Loop name="L1010" max="999999" required="n">
364
+ <Segment name="AK3" max="1" required="n"/>
365
+ <Segment name="AK4" max="99" required="n"/>
366
+ </Loop>
367
+ <Segment name="AK5" max="1" required="y"/>
368
+ </Loop>
369
+ <Segment name="AK9" max="1" required="y"/>
370
+ <Segment name="SE" max="1" required="y"/>
371
+ </Loop>
372
+
373
+ </Definition>
374
+
375
+ This element does not have any attributes and cannot be addressed from Ruby's API.
376
+
377
+ === Loop
378
+
379
+ The 'Loop' element is a main element to define either loops or whole
380
+ messages. Loops can have nested segments and other loops.
381
+
382
+ Note, that a segment defined inside a loop takes precedence over
383
+ previously defined segments. This is convenient if a special version
384
+ of a segment is required. For example, this is a general definition of
385
+ an 'ST' segment stored in a 'ST.xml' file:
386
+
387
+ <Segment name="ST">
388
+ <Field name="TransactionSetIdentifierCode" min="3" max="3" validation="T143"/>
389
+ <Field name="TransactionSetControlNumber" min="4" max="9"/>
390
+ <Field name="ImplementationConventionReference" required="y" min="1" max="35"/>
391
+ </Segment>
392
+
393
+ If you want the X12 parser to look for a particular message type, say '997', do this:
394
+
395
+ <Loop name="997">
396
+ <Segment name="ST" max="1">
397
+ <Field name="TransactionSetIdentifierCode" const="997"/>
398
+ <Field name="TransactionSetControlNumber" min="4" max="9"/>
399
+ </Segment>
400
+ <Segment name="AK1" max="1"/>
401
+ <!-- ... the rest of the 997 definition -->
402
+ </Loop>
403
+
404
+ A loop can have the following attributes:
405
+ * min - minimal number of repeats allowed, default is 0.
406
+ * max - maximum number of repeats allowed, default is 'inf' (infinite).
407
+ * required - if the loop is required (boolean), default is false. The true value implies min="1".
408
+ * comment - ignored
409
+
410
+ === Segment
411
+
412
+ Segments can only have nested fields. Attributes are as follows:
413
+ * min - minimal number of repeats allowed, default is 0. Value min>0 implies required="y".
414
+ * max - maximum number of repeats allowed, default is 'inf' (infinite).
415
+ * required - if the segment is required (boolean), default is false. The true value implies min="1".
416
+ * comment - ignored
417
+
418
+ All attributed except 'name' are ignored in standalone definitions outside any loop.
419
+
420
+ === Composite
421
+ Same as a segment.
422
+
423
+ === Table
424
+
425
+ Tables can only have entries defined as name-value pairs. Order is
426
+ not important. Only required attribute is 'name'.
427
+
428
+ === Field
429
+
430
+ A field cannot have any nested elements, but its attributes are very important:
431
+ * min - minimal number of characters allowed, default is 0. Value min>0 DOES NOT imply required="y" - the field can be missing, but may require a minimum length if present.
432
+ * max - maximum number of characters allowed, default is 'inf' (infinite).
433
+ * required - if the field is required (boolean), default is false. The true value DOES NOT imply min="1".
434
+ * type - one of the 'string' (default), 'integer', 'long', or 'double'. These abbreviations are also valid: 'str', 'int'.
435
+ * const - forces the field to have this value, if present.
436
+ * validation - the name of a validation table, if any.
437
+ * comment - ignored
438
+
439
+ == Appendix B. Microsoft's device file names
440
+
441
+ Apparently, in Microsoft's operating systems one cannot create a file
442
+ named like 'device_name.whatever', for example, 'CON.xml' is highly
443
+ illegal. For such cases, the X12 parser creates an exception and
444
+ expects 'CON_.xml' instead.
445
+
446
+ Here is the full device list according to Microsoft (see
447
+ http://support.microsoft.com/kb/74496):
448
+
449
+ Name Function
450
+ ---- --------
451
+ CON Keyboard and display
452
+ PRN System list device, usually a parallel port
453
+ AUX Auxiliary device, usually a serial port
454
+ CLOCK$ System real-time clock
455
+ NUL Bit-bucket device
456
+ A:-Z: Drive letters
457
+ COM1 First serial communications port
458
+ LPT1 First parallel printer port
459
+ LPT2 Second parallel printer port
460
+ LPT3 Third parallel printer port
461
+ COM2 Second serial communications port
462
+ COM3 Third serial communications port
463
+ COM4 Fourth serial communications port
464
+
data/Rakefile CHANGED
@@ -20,7 +20,7 @@
20
20
  # License along with this library; if not, write to the Free Software
21
21
  # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
22
22
  #
23
- # $Id: Rakefile 58 2009-03-19 20:31:26Z ikk $
23
+ # $Id: Rakefile 92 2009-05-13 22:12:10Z ikk $
24
24
  #++
25
25
  require 'rubygems'
26
26
  require 'rake'
@@ -82,8 +82,10 @@ end
82
82
 
83
83
  task :test do |x|
84
84
  Rake::TestTask.new { |t|
85
- t.libs << "test"
85
+ # t.libs << "test"
86
86
  t.test_files = Dir['test/tc_*.rb']
87
+ # t.test_files = Dir['test/tc_factory_270interchange.rb']
88
+ # t.test_files = Dir['test/tc_parse_270interchange.rb']
87
89
  t.verbose = true
88
90
  }
89
91
  end # :test
@@ -126,7 +128,6 @@ spec = Gem::Specification.new do |s|
126
128
  s.requirements << 'none'
127
129
  s.require_path = 'lib'
128
130
  s.autorequire = 'x12'
129
- s.add_dependency "treetop"
130
131
 
131
132
  [
132
133
  "Rakefile",
@@ -136,8 +137,7 @@ spec = Gem::Specification.new do |s|
136
137
  "COPYING",
137
138
  "doc/**/*",
138
139
  "lib/**/*",
139
- "test/tc_factory_997.rb",
140
- "test/tc_parse_997.rb",
140
+ "test/**/*",
141
141
  "example/**/*",
142
142
  "misc/**/*"
143
143
  ].each do |i|
@@ -148,7 +148,7 @@ spec = Gem::Specification.new do |s|
148
148
  puts "Files included into the GEM:" if $VERBOSE
149
149
  pp s.files if $VERBOSE
150
150
 
151
- s.test_files = Dir.glob( "test/**/ts_*rb" )
151
+ s.test_files = Dir.glob( "test/tc_*rb" )
152
152
  end
153
153
 
154
154
  Rake::GemPackageTask.new(spec) do |p|
@@ -156,13 +156,3 @@ Rake::GemPackageTask.new(spec) do |p|
156
156
  p.need_tar = true
157
157
  p.need_zip = true
158
158
  end
159
-
160
- # Compile treetop definition into Ruby code. Like this:
161
- # >rake lib/X12/X12syntax.rb
162
- # It's needed only for debugging Treetop's internals.
163
- rule '.rb' => ['.treetop'] do |t|
164
- require 'treetop'
165
- compiler = Treetop::Compiler::GrammarCompiler.new
166
- puts "Compiling [#{t.source}]"
167
- compiler.compile(t.source)
168
- end
@@ -25,7 +25,7 @@ require 'x12'
25
25
 
26
26
  # Read message definition and create an actual parser
27
27
  # by compiling .d12 file
28
- parser = X12::Parser.new('misc/997.d12')
28
+ parser = X12::Parser.new('misc/997single.xml')
29
29
 
30
30
  # Make a new 997 message
31
31
  r = parser.factory('997')
@@ -25,7 +25,7 @@ require 'x12'
25
25
 
26
26
  # Read message definition and create an actual parser
27
27
  # by compiling .d12 file
28
- parser = X12::Parser.new('misc/997.d12')
28
+ parser = X12::Parser.new('misc/997single.xml')
29
29
 
30
30
  # Define a test message to parse
31
31
  m997='ST*997*2878~AK1*HS*293328532~AK2*270*307272179~'\
data/lib/X12.rb CHANGED
@@ -24,7 +24,6 @@
24
24
  $:.unshift(File.dirname(__FILE__))
25
25
 
26
26
  require 'rubygems'
27
- require 'treetop'
28
27
 
29
28
  require 'X12/base'
30
29
  require 'X12/empty'
@@ -33,18 +32,16 @@ require 'X12/composite'
33
32
  require 'X12/segment'
34
33
  require 'X12/table'
35
34
  require 'X12/loop'
35
+ require 'X12/xmldefinitions'
36
36
  require 'X12/parser'
37
37
 
38
- # This relies on the polyglot package to compile and load x12syntax.treetop
39
- require 'x12/x12syntax'
40
-
41
- # $Id: X12.rb 59 2009-03-19 22:32:13Z ikk $
38
+ # $Id: X12.rb 91 2009-05-13 22:11:10Z ikk $
42
39
  #
43
40
  # Package implementing direct manipulation of X12 structures using Ruby syntax.
44
41
 
45
42
  module X12
46
43
 
47
- VERSION = '0.1.0'
44
+ VERSION = '1.1.0'
48
45
  EMPTY = Empty.new()
49
-
46
+ TEST_REPEAT = 100
50
47
  end