ofx160.dtd
上传用户:jingke1993
上传日期:2022-06-08
资源大小:140k
文件大小:142k
源码类别:

xml/soap/webservice

开发平台:

Visual C++

  1. <!ELEMENT INVPAIDAMT    - o %AMTTYPE>
  2. <!ELEMENT INVDATE       - o %DTTMTYPE>
  3. <!ELEMENT INVDESC       - o %SHORTMSGTYPE>
  4. <!ELEMENT DSCRATE       - o %RATETYPE>
  5. <!ELEMENT DSCAMT        - o %AMTTYPE>
  6. <!ELEMENT DSCDATE       - o %DTTMTYPE>
  7. <!ELEMENT DSCDESC       - o %SHORTMSGTYPE>
  8. <!ELEMENT ADJNO         - o %INVNOTYPE>
  9. <!ELEMENT ADJDESC       - o %SHORTMSGTYPE>   
  10. <!ELEMENT ADJAMT        - o %AMTTYPE>
  11. <!ELEMENT ADJDATE       - o %DTTMTYPE>
  12. <!ELEMENT LITMCODE      - o %IDTYPE>
  13. <!ELEMENT LITMAMT       - o %AMTTYPE>
  14. <!ELEMENT LITMDESC      - o %SHORTMSGTYPE>
  15.  
  16. <!--  Initial Amount -->
  17. <!ELEMENT INITIALAMT    - o %AMTTYPE>           
  18.  
  19. <!--  Final Amount -->
  20. <!ELEMENT FINALAMT      - o %AMTTYPE>           
  21.  
  22. <!--  standard payee -->
  23. <!-- OFX 1.5 -->
  24. <!-- Changed PAYEEID to (PAYEEID | PAYEEID2) -->
  25. <!ELEMENT EXTDPAYEE     - - ( ((PAYEEID | PAYEEID2), IDSCOPE, NAME)?, DAYSTOPAY)>
  26. <!-- #ELEMENT EXTDPAYEE #Link (PAYEEID, (BILLPAYMSGSRQV1|BILLPAYMSGSRSV1)) -->
  27. <!-- #ELEMENT EXTDPAYEE #Link (PAYEEID2, (BILLPAYMSGSRQV2|BILLPAYMSGSRSV2)) -->
  28. <!--  Server-assigned standard payee ID -->             
  29. <!ELEMENT PAYEEID       - o %PAYEEIDTYPE>                
  30. <!-- OFX 1.5 -->
  31. <!--  Server-assigned standard payee ID -->             
  32. <!ELEMENT PAYEEID2       - o %UUIDTYPE>                
  33. <!--  Payee ID scope enumeration ; currently one of {GLOBAL,USER} -->
  34. <!ELEMENT IDSCOPE       - o %IDSCOPEENUM>           
  35. <!--  Minimum number of days needed to process -->   
  36. <!ELEMENT DAYSTOPAY     - o %DAYSPANTYPE>           
  37. <!-- Check number -->
  38. <!ELEMENT CHECKNUM      - o %CHECKNUMTYPE>
  39. <!-- Payee aggregate, version 2 makes things optional for non-usa, still required in usa -->
  40. <!ELEMENT PAYEE - -     (NAME, (ADDR1,(ADDR2,ADDR3?)?), CITY, STATE, POSTALCODE, COUNTRY?, PHONE)>      
  41. <!-- OFX 1.5 -->
  42. <!-- CHANGE all required tags except NAME to being optional -->
  43. <!ELEMENT PAYEE2 - -     (NAME, (ADDR1,(ADDR2,ADDR3?)?)?, CITY?, STATE?, POSTALCODE?, COUNTRY?, PHONE?)>      
  44. <!--  Server-assigned payee list ID -->         
  45. <!ELEMENT PAYEELSTID    - o %PAYEEIDTYPE>                
  46. <!-- OFX 1.5 -->
  47. <!--  Server-assigned payee list ID -->         
  48. <!ELEMENT PAYEELSTID2   - o %UUIDTYPE>                
  49. <!--
  50.         synchronization request messages
  51.   -->
  52. <!--  payment synchronization request -->
  53. <!ELEMENT PMTSYNCRQ     - -     (%SYNCRQMACRO, BANKACCTFROM, PMTTRNRQ*)>                
  54. <!--#ELEMENT PMTSYNCRQ #Link(TOKEN, BILLPAYMSGSRQV1)-->
  55. <!--#ELEMENT PMTSYNCRQ #Link(TOKEN2,BILLPAYMSGSRQV2)-->
  56.  
  57. <!--  recurring payment synchronization request -->
  58. <!ELEMENT RECPMTSYNCRQ  - -     (%SYNCRQMACRO, BANKACCTFROM, RECPMTTRNRQ*)>
  59. <!--#ELEMENT RECPMTSYNCRQ #Link(TOKEN,BILLPAYMSGSRQV1)-->
  60. <!--#ELEMENT RECPMTSYNCRQ #Link(TOKEN2,BILLPAYMSGSRQV2)-->
  61.  
  62. <!-- payee list synchronization request -->
  63. <!ELEMENT PAYEESYNCRQ   - - (%SYNCRQMACRO, PAYEETRNRQ*)>
  64. <!--#ELEMENT PAYEESYNCRQ #Link(TOKEN,BILLPAYMSGSRQV1)-->
  65. <!--#ELEMENT PAYEESYNCRQ #Link(TOKEN2,BILLPAYMSGSRQV2)-->
  66. <!-- bill pay mail sync request -->
  67. <!ELEMENT PMTMAILSYNCRQ - -     (%SYNCRQMACRO, INCIMAGES, USEHTML, PMTMAILTRNRQ*)>
  68. <!--#ELEMENT PMTMAILSYNCRQ #Link(TOKEN,BILLPAYMSGSRQV1)-->
  69. <!--#ELEMENT PMTMAILSYNCRQ #Link(TOKEN2,BILLPAYMSGSRQV2)-->
  70. <!--
  71.         synchronization response messages
  72.   -->
  73. <!-- payment synchronization response -->
  74. <!ELEMENT PMTSYNCRS     - -     (%SYNCRSMACRO, BANKACCTFROM, PMTTRNRS*)>                
  75. <!--#ELEMENT PMTSYNCRS #Link(TOKEN,BILLPAYMSGSRSV1)-->
  76. <!--#ELEMENT PMTSYNCRS #Link(TOKEN2,BILLPAYMSGSRSV2)-->
  77. <!--#ELEMENT PMTSYNCRS #Link(SYNCERROR,BILLPAYMSGSRSV2)-->
  78.  
  79. <!--  recurring payment synchronization response -->
  80. <!ELEMENT RECPMTSYNCRS  - -     (%SYNCRSMACRO, BANKACCTFROM, RECPMTTRNRS*)>
  81. <!--#ELEMENT RECPMTSYNCRS #Link(TOKEN,BILLPAYMSGSRSV1)-->
  82. <!--#ELEMENT RECPMTSYNCRS #Link(TOKEN2,BILLPAYMSGSRSV2)-->
  83. <!--#ELEMENT RECPMTSYNCRS #Link(SYNCERROR,BILLPAYMSGSRSV2)-->
  84.  
  85. <!-- payee list synchronization response -->
  86. <!ELEMENT PAYEESYNCRS   - - (%SYNCRSMACRO, PAYEETRNRS*)>
  87. <!--#ELEMENT PAYEESYNCRS #Link(TOKEN,BILLPAYMSGSRSV1)-->
  88. <!--#ELEMENT PAYEESYNCRS #Link(TOKEN2,BILLPAYMSGSRSV2)-->
  89. <!--#ELEMENT PAYEESYNCRS #Link(SYNCERROR,BILLPAYMSGSRSV2)-->
  90. <!-- bill pay mail sync response -->
  91. <!ELEMENT PMTMAILSYNCRS - -     (%SYNCRSMACRO, PMTMAILTRNRS*)>
  92. <!--#ELEMENT PMTMAILSYNCRS #Link(TOKEN,BILLPAYMSGSRSV1)-->
  93. <!--#ELEMENT PMTMAILSYNCRS #Link(TOKEN2,BILLPAYMSGSRSV2)-->
  94. <!--#ELEMENT PMTMAILSYNCRS #Link(SYNCERROR,BILLPAYMSGSRSV2)-->
  95. <!--
  96.  Payment mail messages
  97.   --> 
  98. <!-- payment inquiry mail message --> 
  99. <!-- OFX 1.5 -->
  100. <!-- CHANGE SRVRTID to (SRVRTID | SRVRTID2) -->
  101. <!-- CHANGE PMTINFO to (PMTINFO | PMTINFO2) -->
  102. <!ELEMENT PMTMAILRQ     - -     (MAIL,((SRVRTID | SRVRTID2),(PMTINFO | PMTINFO2))?)>
  103. <!--#ELEMENT PMTMAILRQ #Link(SRVRTID,BILLPAYMSGSRQV1)-->
  104. <!--#ELEMENT PMTMAILRQ #Link(SRVRTID2,BILLPAYMSGSRQV2)-->
  105. <!--#ELEMENT PMTMAILRQ #Link(PMTINFO,BILLPAYMSGSRQV1)-->
  106. <!--#ELEMENT PMTMAILRQ #Link(PMTINFO2,BILLPAYMSGSRQV2)-->
  107. <!-- OFX 1.5 -->
  108. <!-- CHANGE SRVRTID to (SRVRTID | SRVRTID2) -->
  109. <!-- CHANGE PMTINFO to (PMTINFO | PMTINFO2) -->
  110. <!ELEMENT PMTMAILRS     - -     (MAIL,((SRVRTID | SRVRTID2),(PMTINFO | PMTINFO2))?)>
  111. <!--#ELEMENT PMTMAILRS #Link(PMTINFO,BILLPAYMSGSRSV1)-->
  112. <!--#ELEMENT PMTMAILRS #Link(PMTINFO2,BILLPAYMSGSRSV2)-->
  113. <!--#ELEMENT PMTMAILRS #Link(SRVRTID,BILLPAYMSGSRSV1)-->
  114. <!--#ELEMENT PMTMAILRS #Link(SRVRTID2,BILLPAYMSGSRSV2)-->
  115. <!-- Message Sets -->
  116. <!-- OFX 1.6: V1 and V2 sign up message set wrappers are no longer identical. -->
  117. <!ELEMENT SIGNUPMSGSRQV1  - - 
  118.                                    ((ENROLLTRNRQ | ACCTINFOTRNRQ | 
  119.                                     CHGUSERINFOTRNRQ | CHGUSERINFOSYNCRQ |
  120.                                     ACCTTRNRQ | ACCTSYNCRQ)+ )> 
  121. <!ELEMENT SIGNUPMSGSRSV1  - - 
  122.                                    ((ENROLLTRNRS | ACCTINFOTRNRS | 
  123.                                     CHGUSERINFOTRNRS | CHGUSERINFOSYNCRS |
  124.                                     ACCTTRNRS | ACCTSYNCRS)+ )>
  125. <!-- OFX 1.6: Added USERID to SIGNUPMSGSRQV2 and SIGNUPMSGSRSV2. -->
  126. <!ELEMENT SIGNUPMSGSRQV2  - - 
  127.                                    ( USERID?, (ENROLLTRNRQ | ACCTINFOTRNRQ | 
  128.                                     CHGUSERINFOTRNRQ | CHGUSERINFOSYNCRQ |
  129.                                     ACCTTRNRQ | ACCTSYNCRQ)+ )> 
  130. <!ELEMENT SIGNUPMSGSRSV2  - - 
  131.                                    ( USERID?, (ENROLLTRNRS | ACCTINFOTRNRS | 
  132.                                     CHGUSERINFOTRNRS | CHGUSERINFOSYNCRS |
  133.                                     ACCTTRNRS | ACCTSYNCRS)+ )>
  134. <!-- Profile entry for message set -->
  135. <!-- OFX 1.6 correction of ordinance within profile.  OFX 1.5.1 servers are compatible with
  136.      OFX 1.0.2 clients if they comply. -->
  137. <!ELEMENT SIGNUPMSGSET        - - (SIGNUPMSGSETV1, SIGNUPMSGSETV2*)>
  138. <!ELEMENT SIGNUPMSGSETV1  - - 
  139.                                   (MSGSETCORE , 
  140.                                    (CLIENTENROLL | WEBENROLL | OTHERENROLL),
  141.                                    CHGUSERINFO, AVAILACCTS, CLIENTACTREQ)>
  142. <!-- OFX 1.5 -->
  143. <!-- ADDED PREAUTH -->
  144. <!-- OFX 1.6: Added CANSUPPORTUSERID. -->
  145. <!ELEMENT SIGNUPMSGSETV2  - - 
  146.                                   (MSGSETCORE , 
  147.                                    (CLIENTENROLL | WEBENROLL | OTHERENROLL),
  148.                                    CHGUSERINFO, AVAILACCTS, CLIENTACTREQ, PREAUTH,
  149.    CANSUPPORTUSERID?)>
  150. <!ELEMENT CLIENTENROLL          - - (ACCTREQUIRED)>
  151. <!-- OFX 1.5 -->
  152. <!-- CHANGE URL TO (URL|URL2) -->
  153. <!ELEMENT WEBENROLL             - - ((URL|URL2))>
  154. <!--#ELEMENT WEBENROLL #Link(URL,(SIGNUPMSGSRQV1|SIGNUPMSGSRSV1))-->
  155. <!--#ELEMENT WEBENROLL #Link(URL2,(SIGNUPMSGSRQV2|SIGNUPMSGSRSV2))-->
  156. <!-- OFX 1.5 -->
  157. <!-- CHANGE MESSAGE TO (MESSAGE|MESSAGE2) -->
  158. <!ELEMENT OTHERENROLL             - - ((MESSAGE|MESSAGE2))>
  159. <!--#ELEMENT OTHERENROLL #Link(MESSAGE,(SIGNUPMSGSRQV1|SIGNUPMSGSRSV1))-->
  160. <!--#ELEMENT OTHERENROLL #Link(MESSAGE2,(SIGNUPMSGSRQV2|SIGNUPMSGSRSV2))-->
  161. <!ELEMENT ACCTREQUIRED          - o %BOOLTYPE>
  162. <!ELEMENT CHGUSERINFO           - o %BOOLTYPE>
  163. <!ELEMENT AVAILACCTS            - o %BOOLTYPE>
  164. <!ELEMENT CLIENTACTREQ          - o %BOOLTYPE>
  165. <!ELEMENT PREAUTH - o %BOOLTYPE>
  166. <!ELEMENT CANSUPPORTUSERID      - o %BOOLTYPE>
  167. <!-- Transactions -->
  168. <!ELEMENT ENROLLTRNRQ       - - (%TRNRQMACRO , ENROLLRQ)>
  169. <!ELEMENT ENROLLTRNRS       - - (%TRNRSMACRO , ENROLLRS?)>
  170. <!ELEMENT ACCTINFOTRNRQ     - - (%TRNRQMACRO , ACCTINFORQ)>
  171. <!ELEMENT ACCTTRNRQ         - - (%TRNRQMACRO , ACCTRQ)>
  172. <!ELEMENT ACCTINFOTRNRS     - - (%TRNRSMACRO , ACCTINFORS?)>
  173. <!ELEMENT ACCTTRNRS         - - (%TRNRSMACRO , ACCTRS?)>
  174. <!ELEMENT CHGUSERINFOTRNRQ  - - (%TRNRQMACRO, CHGUSERINFORQ)>
  175. <!ELEMENT CHGUSERINFOTRNRS  - - (%TRNRSMACRO, CHGUSERINFORS?)>
  176. <!-- ================== -->
  177. <!-- Enrollment         -->
  178. <!-- ==================  -->
  179. <!ELEMENT ENROLLRQ       - - (FIRSTNAME , MIDDLENAME ,
  180.                              LASTNAME , (ADDR1,(ADDR2,ADDR3?)?) ,
  181.                              CITY , STATE , POSTALCODE ,
  182.                              COUNTRY , DAYPHONE , EVEPHONE ,
  183.                              EMAIL , USERID? , TAXID ,
  184.                              SECURITYNAME , DATEBIRTH ,
  185.                              (%ACCTFROMMACRO)? )>
  186. <!-- most above name / addr elements in ofxmain.dtd -->
  187.                              
  188. <!ELEMENT TAXID         - o %IDTYPE>
  189. <!ELEMENT SECURITYNAME  - o %GENNAMETYPE>
  190. <!ELEMENT DATEBIRTH     - o %DTTMTYPE>
  191.   
  192. <!ELEMENT ENROLLRS      - - (TEMPPASS? , USERID? , DTEXPIRE?)>
  193.     <!-- NOTE: could constrain  DTEXPIRE -->
  194. <!ELEMENT TEMPPASS      - o %TEMPPASSTYPE>
  195. <!ELEMENT DTEXPIRE      - o %DTTMTYPE>
  196. <!-- Change User Info -->
  197. <!-- CHGUSERINFORQ/RS Version 2 adds userid -->
  198. <!-- OFX 1.5 -->
  199. <!-- ADDED USERID -->
  200. <!ELEMENT CHGUSERINFORQ - - (USERID?, FIRSTNAME?, MIDDLENAME?, LASTNAME?,
  201.                              (ADDR1,(ADDR2,ADDR3?)?)?,
  202.                              CITY?, STATE?, POSTALCODE?, COUNTRY?,
  203.                              DAYPHONE?, EVEPHONE?, EMAIL?)>
  204. <!--#ELEMENT CHGUSERINFORQ #Link(USERID,(SIGNUPMSGSRQV2|SIGNUPMSGSRSV2))-->
  205. <!-- OFX 1.5 -->
  206. <!-- ADDED USERID -->
  207. <!ELEMENT CHGUSERINFORS - - (USERID?, FIRSTNAME?, MIDDLENAME?, LASTNAME?,
  208.                              (ADDR1,(ADDR2,ADDR3?)?)?,
  209.                              CITY?, STATE?, POSTALCODE?, COUNTRY?,
  210.                              DAYPHONE?, EVEPHONE?, EMAIL?,
  211.                              DTINFOCHG)>
  212. <!--#ELEMENT CHGUSERINFORS #Link(USERID,(SIGNUPMSGSRQV2|SIGNUPMSGSRSV2))-->
  213.                              
  214. <!ELEMENT DTINFOCHG     - o %DTTMTYPE>                             
  215. <!ELEMENT CHGUSERINFOSYNCRQ    - - (%SYNCRQMACRO , CHGUSERINFOTRNRQ*)>
  216. <!--#ELEMENT CHGUSERINFOSYNCRQ #Link(TOKEN,SIGNUPMSGSRQV1)-->
  217. <!--#ELEMENT CHGUSERINFOSYNCRQ #Link(TOKEN2,SIGNUPMSGSRQV2)-->
  218. <!ELEMENT CHGUSERINFOSYNCRS    - - (%SYNCRSMACRO , CHGUSERINFOTRNRS*)>
  219. <!--#ELEMENT CHGUSERINFOSYNCRS #Link(TOKEN,SIGNUPMSGSRSV1)-->
  220. <!--#ELEMENT CHGUSERINFOSYNCRS #Link(TOKEN2,SIGNUPMSGSRSV2)-->
  221. <!--#ELEMENT CHGUSERINFOSYNCRS #Link(SYNCERROR,SIGNUPMSGSRSV2)-->
  222. <!-- Top level request and response -->
  223. <!-- OFX 1.6: Added SVC2 when within SIGNUPMSGSRQV2 or PRESDLVMSGSRQV1 -->
  224. <!ELEMENT ACCTINFORQ    - - (DTACCTUP, SVC2*)>
  225. <!-- #ELEMENT ACCTINFORQ #Link( SVC2,( SIGNUPMSGSRQV2 | PRESDLVMSGSRSV1 )) -->
  226. <!ELEMENT ACCTINFORS    - - (DTACCTUP , ACCTINFO*)>
  227. <!-- Account Info aggregate
  228.      Note: this refers to a macro in ofxmain that
  229.      list all of the account info aggregates
  230. -->
  231. <!ELEMENT ACCTINFO      - - (DESC? , PHONE? ,
  232.                              (%ACCTINFOMACRO)+ )>
  233. <!-- Service status - should be included as part of
  234.      the ACCTINFOMACRO aggregates.  Values
  235.      are AVAIL, PEND, ACTIVE -->
  236. <!ELEMENT SVCSTATUS     - o %SERVICESTATUSENUM>      
  237. <!ELEMENT SVCSTATUS2    - o %SERVICESTATUS2ENUM>      
  238. <!-- -----------------
  239.   Service Activation
  240.   ----------------- -->
  241. <!-- version 2 ACCTRQ/ACCTRS uses SVC2, version 1 uses SVC -->
  242. <!-- OFX 1.5 -->
  243. <!ELEMENT ACCTRQ        - - ((SVCADD | SVCCHG | SVCDEL) ,
  244.                              (SVC | SVC2))>
  245. <!--#ELEMENT ACCTRQ #Link(SVC,SIGNUPMSGSRQV1)-->
  246. <!--#ELEMENT ACCTRQ #Link(SVC2,SIGNUPMSGSRQV2)-->
  247. <!ELEMENT ACCTRS        - -  ((SVCADD | SVCCHG | SVCDEL) ,
  248.                              (SVC | SVC2), (SVCSTATUS|SVCSTATUS2), REASON?)>
  249. <!--#ELEMENT ACCTRS #Link(SVC,SIGNUPMSGSRSV1)-->
  250. <!--#ELEMENT ACCTRS #Link(SVC2,SIGNUPMSGSRSV2)-->
  251. <!--#ELEMENT ACCTRS #Link(SVCSTATUS,SIGNUPMSGSRSV1)-->
  252. <!--#ELEMENT ACCTRS #Link(SVCSTATUS2,SIGNUPMSGSRSV2)-->
  253. <!--#ELEMENT ACCTRS #Link(REASON,SIGNUPMSGSRSV2)-->
  254. <!-- SVCADD Version 1 has no preauthtoken, version 2 does have preauthtoken -->
  255. <!-- OFX 1.5 -->
  256. <!-- ADDED PREAUTHTOKEN -->
  257. <!ELEMENT SVCADD        - - (%ACCTTOMACRO , PREAUTHTOKEN?)>
  258. <!--#ELEMENT SVCADD #Link(PREAUTHTOKEN,(SIGNUPMSGSRQV2|SIGNUPMSGSRSV2))-->
  259. <!ELEMENT SVCDEL        - - (%ACCTFROMMACRO)>
  260. <!ELEMENT SVCCHG        - - (%ACCTFROMMACRO , %ACCTTOMACRO)>
  261. <!ELEMENT SVC           - o %SERVICEENUM>
  262. <!-- OFX 1.5 -->
  263. <!-- ADDED SVC2 to support bill presentment -->
  264. <!ELEMENT SVC2          - o %SERVICEENUM2>
  265. <!-- Synchronization -->
  266. <!ELEMENT ACCTSYNCRQ    - - (%SYNCRQMACRO , ACCTTRNRQ*)>
  267. <!--#ELEMENT ACCTSYNCRQ #Link(TOKEN,SIGNUPMSGSRQV1)-->
  268. <!--#ELEMENT ACCTSYNCRQ #Link(TOKEN2,SIGNUPMSGSRQV2)-->
  269. <!ELEMENT ACCTSYNCRS    - - (%SYNCRSMACRO , ACCTTRNRS*)>
  270. <!--#ELEMENT ACCTSYNCRS #Link(TOKEN,SIGNUPMSGSRSV1)-->
  271. <!--#ELEMENT ACCTSYNCRS #Link(TOKEN2,SIGNUPMSGSRSV2)-->
  272. <!--#ELEMENT ACCTSYNCRS #Link(SYNCERROR,SIGNUPMSGSRSV2)-->
  273. <!ELEMENT PREAUTHTOKEN  - o %IDTYPE>      
  274. <!-- Investment Message Set -->
  275. <!-- OFX 1.6 correction of ordinance within profile.  OFX 1.5.1 servers are compatible with
  276.      OFX 1.0.2 clients if they comply. -->
  277. <!ELEMENT INVSTMTMSGSET  - - (INVSTMTMSGSETV1, INVSTMTMSGSETV2*) >
  278. <!-- Investment Message Set: Version 1 and 2-->
  279. <!ELEMENT (INVSTMTMSGSETV1, INVSTMTMSGSETV2)  - - (MSGSETCORE , TRANDNLD , OODNLD , POSDNLD , BALDNLD, CANEMAIL) >
  280. <!-- Investment Statement Messages -->
  281. <!ELEMENT (INVSTMTMSGSRQV1, INVSTMTMSGSRQV2)  - - 
  282.            ((INVSTMTTRNRQ | INVMAILTRNRQ | INVMAILSYNCRQ)+) >
  283. <!ELEMENT (INVSTMTMSGSRSV1, INVSTMTMSGSRSV2)  - - 
  284.            ((INVSTMTTRNRS | INVMAILTRNRS | INVMAILSYNCRS)+) >
  285. <!-- Security List Messages -->
  286. <!ELEMENT (SECLISTMSGSRQV1, SECLISTMSGSRQV2)  - - (SECLISTTRNRQ+) >
  287. <!ELEMENT (SECLISTMSGSRSV1, SECLISTMSGSRSV2)  - - (SECLISTTRNRS* , SECLIST?) >
  288. <!-- **** SECURITIES *** -->
  289. <!-- Security List Transaction Request/Response -->
  290. <!ELEMENT SECLISTTRNRQ  - - (%TRNRQMACRO , SECLISTRQ) >
  291. <!ELEMENT SECLISTTRNRS  - - (%TRNRSMACRO , SECLISTRS?) >
  292. <!-- Security List Request/Response -->
  293. <!ELEMENT SECLISTRQ  - - (SECRQ+)>
  294. <!ELEMENT SECRQ      - - (SECID | TICKER | FIID) >
  295. <!ELEMENT SECLISTRS  - - %EMPTYTYPE >
  296.             
  297. <!-- Security Ticker Symbol -->
  298. <!ELEMENT TICKER  - O %TICKERTYPE >
  299.                       
  300. <!-- Financial Institution ID for the Security -->                      
  301. <!ELEMENT FIID  - O %FIIDTYPE >
  302. <!-- ** Security Identifier ** -->
  303. <!ELEMENT SECID  - - (UNIQUEID , UNIQUEIDTYPE) >
  304. <!-- Unique ID for the Security -->
  305. <!ELEMENT UNIQUEID  - O %CUSIPTYPE >
  306. <!-- Standard used for Unique ID currently only CUSIP -->
  307. <!ELEMENT UNIQUEIDTYPE  - O %SECUIDTYPE >
  308. <!-- *** Security Information *** -->
  309. <!-- Security List -->
  310. <!ELEMENT SECLIST  - - ((MFINFO | STOCKINFO | OPTINFO | DEBTINFO | 
  311.                OTHERINFO)*) >
  312. <!-- ** Info all security types have in common ** -->
  313. <!-- OFX 1.5 -->
  314. <!-- CHANGE MEMO to (MEMO | MEMO2) -->
  315. <!ELEMENT SECINFO  - - (SECID , SECNAME , TICKER? , FIID? ,
  316.                RATING? , UNITPRICE? , DTASOF? ,
  317.                CURRENCY? , (MEMO | MEMO2)?) >
  318. <!--#ELEMENT SECINFO #Link(MEMO,(INVSTMTMSGSRQV1|INVSTMTMSGSRSV1))-->
  319. <!--#ELEMENT SECINFO #Link(MEMO2,(INVSTMTMSGSRQV2|INVSTMTMSGSRSV2))-->
  320. <!ELEMENT SECNAME   - O %SECNAMETYPE>
  321.               
  322. <!-- Rating for Security -->
  323. <!ELEMENT RATING  - O %RATINGTYPE >
  324. <!-- Unitprice for Security -->
  325. <!ELEMENT UNITPRICE  - O %AMTTYPE >
  326. <!-- *** Debt Information *** -->
  327. <!ELEMENT DEBTINFO  - - (SECINFO , PARVALUE , DEBTTYPE , DEBTCLASS? ,
  328.                COUPONRT? , DTCOUPON? , COUPONFREQ? , CALLPRICE? , 
  329.                YIELDTOCALL? , DTCALL? , CALLTYPE? , YIELDTOMAT? , 
  330.                DTMAT? , ASSETCLASS? , FIASSETCLASS?) >
  331. <!ELEMENT PARVALUE  - O %AMTTYPE >
  332. <!ELEMENT DEBTTYPE  - O %DEBTENUM >
  333. <!ELEMENT DEBTCLASS  - O %DEBTCLASSENUM >
  334. <!ELEMENT COUPONRT  - O %RATETYPE >
  335. <!ELEMENT DTCOUPON  - O %DTTMTYPE >
  336. <!ELEMENT COUPONFREQ  - O %COUPONFREQENUM >
  337. <!ELEMENT CALLPRICE  - O %AMTTYPE >
  338. <!ELEMENT YIELDTOCALL  - O %RATETYPE >
  339. <!ELEMENT DTCALL  - O %DTTMTYPE >
  340. <!ELEMENT CALLTYPE - O %CALLTYPEENUM >
  341. <!ELEMENT YIELDTOMAT  - O %RATETYPE >
  342. <!ELEMENT DTMAT  - O %DTTMTYPE >
  343. <!-- Asset Class for Security -->
  344. <!ELEMENT ASSETCLASS  - O %ASSETCLASSENUM >
  345. <!-- FI's Asset Class for Security -->
  346. <!ELEMENT FIASSETCLASS  - O %GENNAMETYPE >
  347. <!-- *** Mutual Fund Information *** -->
  348. <!ELEMENT MFINFO  - - (SECINFO , MFTYPE? , YIELD? , DTYIELDASOF? , 
  349.                MFASSETCLASS? , FIMFASSETCLASS?) >
  350. <!ELEMENT MFTYPE  - O %MFTENUM >
  351. <!ELEMENT YIELD  - O %RATETYPE >
  352. <!ELEMENT DTYIELDASOF  - O %DTTMTYPE >
  353. <!-- Asset Class for Mutual Funds -->
  354. <!ELEMENT MFASSETCLASS  - - (PORTION+) >
  355. <!-- Asset Class Portion -->
  356. <!ELEMENT PORTION  - - (ASSETCLASS , PERCENT) >
  357. <!ELEMENT PERCENT  - O %RATETYPE >
  358. <!-- FI's Asset Class for Mutual Funds  -->
  359. <!ELEMENT FIMFASSETCLASS  - - (FIPORTION+) >
  360. <!-- FI's Asset Class Portion -->
  361. <!ELEMENT FIPORTION  - - (FIASSETCLASS , PERCENT) >
  362. <!-- *** Option Information *** -->
  363. <!ELEMENT OPTINFO  - - (SECINFO , OPTTYPE , STRIKEPRICE , DTEXPIRE , 
  364.                SHPERCTRCT , SECID? , ASSETCLASS? , FIASSETCLASS?) >
  365. <!ELEMENT OPTTYPE  - O %OPTTYPEENUM >
  366. <!ELEMENT STRIKEPRICE  - O %AMTTYPE >
  367. <!-- Number of shares per contract -->
  368. <!ELEMENT SHPERCTRCT  - O %SHARESPERTYPE >
  369.           
  370. <!-- *** Other Security Type Information *** -->
  371. <!ELEMENT OTHERINFO  - - (SECINFO , TYPEDESC?, ASSETCLASS? , FIASSETCLASS?) >
  372. <!ELEMENT TYPEDESC  - O %TYPEDESCTYPE >
  373. <!-- *** Stock Information *** -->
  374. <!ELEMENT STOCKINFO  - - (SECINFO , STOCKTYPE? , YIELD? , DTYIELDASOF? , 
  375.                ASSETCLASS? , FIASSETCLASS?) >
  376. <!ELEMENT STOCKTYPE  - O %STOCKENUM >
  377. <!-- ***** Investment Accounts ****** -->
  378. <!-- Investment Account From -->
  379. <!ELEMENT INVACCTFROM  - - (BROKERID , ACCTID) >
  380. <!-- Investment Account To -->
  381. <!ELEMENT INVACCTTO  - - (BROKERID , ACCTID) >
  382. <!ELEMENT BROKERID  - O %BROKERIDTYPE >
  383. <!-- ** Investment Account Information ** -->
  384. <!ELEMENT INVACCTINFO - - (INVACCTFROM , USPRODUCTTYPE , CHECKING , 
  385.                            (SVCSTATUS | SVCSTATUS2), REASON?, INVACCTTYPE? , OPTIONLEVEL?) >
  386. <!--#ELEMENT INVACCTINFO #Link(SVCSTATUS,SIGNUPMSGSRSV1)-->
  387. <!--#ELEMENT INVACCTINFO #Link(SVCSTATUS2,SIGNUPMSGSRSV2)-->
  388. <!--#ELEMENT INVACCTINFO #Link(REASON,SIGNUPMSGSRSV2)-->
  389. <!ELEMENT USPRODUCTTYPE - O %USPRODUCTENUM >
  390. <!ELEMENT CHECKING - O %BOOLTYPE >
  391. <!ELEMENT INVACCTTYPE - O %INVESTMENTACCOUNTENUM >
  392. <!ELEMENT OPTIONLEVEL - O %OPTIONLEVELTYPE >  
  393. <!-- ****** INVESTMENT STATEMENT DOWNLOAD ****** -->
  394. <!-- Investment Statement Transaction Request/Response -->
  395. <!ELEMENT INVSTMTTRNRQ  - - (%TRNRQMACRO , INVSTMTRQ) >
  396. <!ELEMENT INVSTMTTRNRS  - - (%TRNRSMACRO , INVSTMTRS?) >
  397. <!-- *** Investment Statement Request *** -->
  398. <!ELEMENT INVSTMTRQ  - - (INVACCTFROM , INCTRAN , INCOO , INCPOS ,
  399.                           INCBAL) >
  400. <!-- ** Include Transactions ** -->
  401. <!ELEMENT INCTRAN  - - (DTSTART? , DTEND? , INCLUDE) >
  402. <!-- ** Include Open Orders ** -->
  403. <!ELEMENT INCOO  - O %BOOLTYPE >
  404. <!-- ** Include Positions ** -->
  405. <!ELEMENT INCPOS  - - (DTASOF? , INCLUDE) >
  406. <!-- Include Balances -->
  407. <!ELEMENT INCBAL  - O %BOOLTYPE >
  408. <!-- *** Investment Statement Response *** -->
  409. <!ELEMENT INVSTMTRS  - - (DTASOF , CURDEF , INVACCTFROM , INVTRANLIST? ,
  410.                INVPOSLIST? , INVBAL? , INVOOLIST? ,  MKTGINFO?) >
  411. <!-- Marketing Mesage -->
  412. <!ELEMENT MKTVAL  - O %AMTTYPE >
  413. <!-- ** Transaction List ** -->
  414. <!ELEMENT INVTRANLIST  - - (DTSTART , DTEND , (BUYDEBT | BUYMF | BUYOPT | BUYOTHER |
  415.                BUYSTOCK | CLOSUREOPT | INCOME | INVEXPENSE | JRNLFUND |
  416.                JRNLSEC | MARGININTEREST | REINVEST | RETOFCAP| SELLDEBT |
  417.                SELLMF | SELLOPT | SELLOTHER |  SELLSTOCK |
  418.                SPLIT | TRANSFER)* , INVBANKTRAN*) >
  419. <!-- ** Investment Banking Transaction ** -->
  420. <!ELEMENT INVBANKTRAN  - - (STMTTRN , SUBACCTFUND) >
  421. <!-- ** Transaction fields common to many types of transactions ** -->
  422. <!-- OFX 1.5 -->
  423. <!-- CHANGE SRVRTID to (SRVRTID | SRVRTID2) -->
  424. <!-- CHANGE MEMO to (MEMO | MEMO2) -->
  425. <!ELEMENT INVTRAN  - - (FITID , (SRVRTID | SRVRTID2)? , DTTRADE , DTSETTLE? , (MEMO | MEMO2)?) >
  426. <!--#ELEMENT INVTRAN #Link(SRVRTID,(INVSTMTMSGSRQV1|INVSTMTMSGSRSV1))-->
  427. <!--#ELEMENT INVTRAN #Link(SRVRTID2,(INVSTMTMSGSRQV2|INVSTMTMSGSRSV2))-->
  428. <!--#ELEMENT INVTRAN #Link(MEMO,(INVSTMTMSGSRQV1|INVSTMTMSGSRSV1))-->
  429. <!--#ELEMENT INVTRAN #Link(MEMO2,(INVSTMTMSGSRQV2|INVSTMTMSGSRSV2))-->
  430. <!-- Trade Date -->
  431. <!ELEMENT DTTRADE  - O %DTTMTYPE >
  432. <!-- Settlement Date -->
  433. <!ELEMENT DTSETTLE  - O %DTTMTYPE >
  434. <!-- ** Transaction fields common to BUY types of transactions ** -->
  435. <!-- version 2 adds reversalfees, reversalfitid -->
  436. <!-- OFX 1.5 -->
  437. <!-- ADDED REVERSALFEES, REVERSALFITID -->
  438. <!ELEMENT INVBUY  - - (INVTRAN , SECID , UNITS , UNITPRICE , MARKUP? , 
  439.                COMMISSION? , TAXES? , FEES? , LOAD? , TOTAL , REVERSALFEES?, REVERSALFITID?, CURRENCY? ,
  440.                ORIGCURRENCY? , SUBACCTSEC , SUBACCTFUND) >
  441. <!--#ELEMENT INVBUY #Link(REVERSALFEES,(INVSTMTMSGSRQV2|INVSTMTMSGSRSV2))-->
  442. <!--#ELEMENT INVBUY #Link(REVERSALFITID,(INVSTMTMSGSRQV2|INVSTMTMSGSRSV2))-->
  443. <!ELEMENT UNITS  - O %AMTTYPE >
  444. <!ELEMENT MARKUP  - O %AMTTYPE >
  445. <!ELEMENT COMMISSION  - O %AMTTYPE >
  446. <!ELEMENT TAXES  - O %AMTTYPE >
  447. <!ELEMENT FEES  - O %AMTTYPE >
  448. <!ELEMENT LOAD  - O %AMTTYPE >
  449. <!ELEMENT TOTAL  - O %AMTTYPE >
  450. <!-- Sub-account for the security -->
  451. <!ELEMENT SUBACCTSEC  - O %SUBACCTENUM >
  452. <!-- Sub-account for the funds involved in the trade: CASH, SHORT, MARGIN, OTHER -->
  453. <!ELEMENT SUBACCTFUND  - O %SUBACCTENUM >
  454. <!-- ** Transaction fields common to SELL types of transactions ** -->
  455. <!-- version 2 adds reversalfees, reversalfitid -->
  456. <!-- OFX 1.5 -->
  457. <!-- ADDED REVERSALFEES, REVERSALFITID -->
  458. <!ELEMENT INVSELL  - - (INVTRAN , SECID , UNITS , UNITPRICE , MARKDOWN? , 
  459.                COMMISSION? , TAXES? , FEES? , LOAD? , WITHHOLDING? ,
  460.                TAXEXEMPT? , TOTAL , REVERSALFEES?, REVERSALFITID?, GAIN? , CURRENCY? , ORIGCURRENCY? ,
  461.                SUBACCTSEC , SUBACCTFUND) >
  462. <!--#ELEMENT INVSELL #Link(REVERSALFEES,(INVSTMTMSGSRQV2|INVSTMTMSGSRSV2))-->
  463. <!--#ELEMENT INVSELL #Link(REVERSALFITID,(INVSTMTMSGSRQV2|INVSTMTMSGSRSV2))-->
  464. <!ELEMENT MARKDOWN  - O %AMTTYPE >
  465. <!ELEMENT WITHHOLDING  - O %AMTTYPE >
  466. <!ELEMENT GAIN  - O %AMTTYPE >
  467. <!-- ** Buy Debt Transaction ** -->
  468. <!ELEMENT BUYDEBT  - - (INVBUY , ACCRDINT?) >
  469. <!ELEMENT ACCRDINT  - O %AMTTYPE >
  470. <!-- ** Buy Mutual Fund Transaction ** -->
  471. <!ELEMENT BUYMF  - - (INVBUY , BUYTYPE , RELFITID?) >
  472. <!-- Buy Type -->
  473. <!ELEMENT BUYTYPE  - O %BUYENUM >
  474. <!-- Related Transaction ID -->
  475. <!ELEMENT RELFITID  - O %FITIDTYPE >
  476. <!-- ** Buy Option Transaction ** -->
  477. <!ELEMENT BUYOPT  - - (INVBUY , OPTBUYTYPE , SHPERCTRCT) >
  478. <!-- Option Buy Type -->
  479. <!ELEMENT OPTBUYTYPE  - O %OPTBUYENUM >
  480. <!-- ** Buy Other Transaction ** -->
  481. <!ELEMENT BUYOTHER  - - (INVBUY, BUYTYPE?) >
  482. <!--#ELEMENT BUYOTHER #Link(BUYTYPE, INVSTMTMSGSRSV2)-->
  483. <!-- ** Buy Stock Transaction ** -->
  484. <!ELEMENT BUYSTOCK  - - (INVBUY , BUYTYPE) >
  485. <!-- ** Closure of Option Transaction ** -->
  486. <!ELEMENT CLOSUREOPT  - - (INVTRAN , SECID , OPTACTION , UNITS , SHPERCTRCT ,
  487.                SUBACCTSEC , RELFITID? , GAIN?) >      
  488.                
  489. <!-- Closure of option action -->
  490. <!ELEMENT OPTACTION  - O %OPTACTIONENUM >
  491. <!-- **Income Transaction ** -->
  492. <!ELEMENT INCOME  - - (INVTRAN , SECID , INCOMETYPE , TOTAL , SUBACCTSEC ,
  493.                SUBACCTFUND , TAXEXEMPT? , WITHHOLDING? ,CURRENCY? ,
  494.                ORIGCURRENCY? ) >
  495. <!-- Type of Income -->
  496. <!ELEMENT INCOMETYPE  - O %INCOMEENUM >
  497. <!ELEMENT TAXEXEMPT - O %BOOLTYPE >
  498. <!-- ** Investment Related Expense Transaction ** -->
  499. <!ELEMENT INVEXPENSE  - - (INVTRAN , SECID , TOTAL , SUBACCTSEC ,
  500.                SUBACCTFUND , CURRENCY? , ORIGCURRENCY?) >
  501. <!-- OFX 1.5 -->
  502. <!-- Added REVERSALFEES -->
  503. <!-- Fees charged for investment reversal -->
  504. <!ELEMENT REVERSALFEES   - O %AMTTYPE >
  505. <!-- OFX 1.5 -->
  506. <!-- Added REVERSALFITID -->
  507. <!-- FITID of transaction to be reversed -->
  508. <!ELEMENT REVERSALFITID  - O %FITIDTYPE >
  509. <!-- ** Journaling of Funds between sub-accounts Transaction ** -->
  510. <!ELEMENT JRNLFUND - - (INVTRAN , SUBACCTTO , SUBACCTFROM , TOTAL) >
  511. <!ELEMENT SUBACCTTO - O %SUBACCTENUM >
  512. <!ELEMENT SUBACCTFROM - O %SUBACCTENUM >
  513. <!-- ** Journaling of Security between sub-accounts Transaction ** -->
  514. <!ELEMENT JRNLSEC - - (INVTRAN , SECID, SUBACCTTO , SUBACCTFROM , UNITS) >
  515. <!-- ** Margin Interest Transaction ** -->
  516. <!ELEMENT MARGININTEREST  - - (INVTRAN , TOTAL , SUBACCTFUND , CURRENCY? ,
  517.                ORIGCURRENCY?) >
  518. <!-- ** Reinvest Transaction ** -->
  519. <!ELEMENT REINVEST  - - (INVTRAN , SECID , INCOMETYPE , TOTAL , SUBACCTSEC ,
  520.                UNITS , UNITPRICE , COMMISSION? , TAXES? , FEES? , LOAD? ,
  521.                TAXEXEMPT? , CURRENCY? , ORIGCURRENCY?) >
  522. <!-- ** Return Of Capital Transaction ** -->
  523. <!ELEMENT RETOFCAP - - (INVTRAN , SECID , TOTAL , SUBACCTSEC ,
  524.                         SUBACCTFUND , CURRENCY? , ORIGCURRENCY?) >
  525. <!-- ** Sell Debt Transaction ** -->
  526. <!ELEMENT SELLDEBT  - - (INVSELL , SELLREASON , ACCRDINT?) >
  527. <!-- Reason Sell of Debt generated -->
  528. <!ELEMENT SELLREASON - O %SELLREASONENUM >
  529. <!-- ** Sell Mutual Fund Transaction ** -->
  530. <!ELEMENT SELLMF  - - (INVSELL , SELLTYPE , AVGCOSTBASIS? , RELFITID?) >
  531. <!-- Sell Type -->
  532. <!ELEMENT SELLTYPE  - O %SELLTYPEENUM >
  533. <!-- Average cost basis -->
  534. <!ELEMENT AVGCOSTBASIS  - O %AMTTYPE >
  535. <!-- ** Sell Option Transaction ** -->
  536. <!ELEMENT SELLOPT  - - (INVSELL , OPTSELLTYPE , SHPERCTRCT ,
  537.                         RELFITID? , RELTYPE?, SECURED?) >
  538. <!-- Option Sell Type -->
  539. <!ELEMENT OPTSELLTYPE  - O %OPTSELLENUM >
  540. <!-- Related option transaction type -->
  541. <!ELEMENT RELTYPE  - O %RELATEDENUM >
  542. <!-- How the option is secured -->          
  543. <!ELEMENT SECURED  - O %SECUREDENUM >
  544. <!-- ** Sell Other Transaction ** -->
  545. <!ELEMENT SELLOTHER  - - (INVSELL, SELLTYPE?) >
  546. <!--#ELEMENT SELLOTHER #Link(SELLTYPE, INVSTMTMSGSRSV2)-->
  547. <!-- ** Sell Stock Transaction ** -->
  548. <!ELEMENT SELLSTOCK  - - (INVSELL , SELLTYPE) >
  549. <!-- ** Split Transaction ** -->
  550. <!ELEMENT SPLIT  - - (INVTRAN , SECID , SUBACCTSEC ,
  551.                OLDUNITS , NEWUNITS , NUMERATOR , DENOMINATOR ,
  552.                CURRENCY? , ORIGCURRENCY? , FRACCASH? , SUBACCTFUND?) >
  553. <!ELEMENT OLDUNITS  - O %AMTTYPE >
  554. <!ELEMENT NEWUNITS  - O %AMTTYPE >
  555. <!ELEMENT NUMERATOR  - O %AMTTYPE >
  556. <!ELEMENT DENOMINATOR  - O %AMTTYPE >
  557. <!-- Amount of cash recieved from fractional shares -->
  558. <!ELEMENT FRACCASH  - O %AMTTYPE >
  559. <!-- ** Transfer Transaction ** -->
  560. <!ELEMENT TRANSFER  - - (INVTRAN, SECID , SUBACCTSEC , UNITS ,
  561.                         TFERACTION , POSTYPE , INVACCTFROM?,
  562.                         AVGCOSTBASIS?, UNITPRICE?, DTPURCHASE?) >
  563. <!-- Transfer action -->
  564. <!ELEMENT TFERACTION  - O %INOUTENUM >
  565. <!ELEMENT DTPURCHASE  - o %DTTMTYPE>
  566. <!-- ***** Open Orders List ***** -->
  567. <!ELEMENT INVOOLIST  - - ((OOBUYDEBT | OOBUYMF | OOBUYOPT | OOBUYOTHER |
  568.                OOBUYSTOCK | OOSELLDEBT | OOSELLMF | OOSELLOPT |
  569.                OOSELLOTHER | OOSELLSTOCK | OOSWITCHMF)*) >
  570. <!-- ** Open Order fields common to all open orders ** -->
  571. <!-- OFX 1.5 -->
  572. <!-- CHANGE SRVRTID to (SRVRTID | SRVRTID2) -->
  573. <!-- CHANGE MEMO to (MEMO | MEMO2) -->
  574. <!ELEMENT OO  - - (FITID , (SRVRTID | SRVRTID2)? , SECID , DTPLACED , UNITS , SUBACCT ,
  575.                DURATION , RESTRICTION , MINUNITS? , LIMITPRICE? ,
  576.                STOPPRICE? , (MEMO | MEMO2)? , CURRENCY?) >
  577. <!--#ELEMENT OO #Link(SRVRTID,(INVSTMTMSGSRQV1|INVSTMTMSGSRSV1))-->
  578. <!--#ELEMENT OO #Link(SRVRTID2,(INVSTMTMSGSRQV2|INVSTMTMSGSRSV2))-->
  579. <!--#ELEMENT OO #Link(MEMO,(INVSTMTMSGSRQV1|INVSTMTMSGSRSV1))-->
  580. <!--#ELEMENT OO #Link(MEMO2,(INVSTMTMSGSRQV2|INVSTMTMSGSRSV2))-->
  581. <!ELEMENT DTPLACED  - O %DTTMTYPE >
  582. <!ELEMENT SUBACCT  - O %SUBACCTENUM >
  583. <!ELEMENT DURATION  - O %DURATIONENUM >
  584. <!ELEMENT RESTRICTION  - O %RESTRICTIONENUM >
  585. <!ELEMENT MINUNITS  - O %AMTTYPE >
  586. <!ELEMENT LIMITPRICE  - O %AMTTYPE >
  587. <!ELEMENT STOPPRICE  - O %AMTTYPE >
  588. <!-- ** Buy Debt Open Order ** -->
  589. <!ELEMENT OOBUYDEBT  - - (OO , AUCTION , DTAUCTION?) >
  590. <!ELEMENT AUCTION  - O %BOOLTYPE >
  591. <!ELEMENT DTAUCTION  - O %DTTMTYPE >
  592. <!-- ** Buy Mutual Fund Open Order ** -->
  593. <!ELEMENT OOBUYMF  - - (OO , BUYTYPE , UNITTYPE) >
  594. <!-- Type of units: SHARES or CURRENCY -->
  595. <!ELEMENT UNITTYPE  - O %UNITTYPEENUM >
  596. <!-- ** Buy Option Open Order ** -->
  597. <!ELEMENT OOBUYOPT  - - (OO , OPTBUYTYPE) >
  598. <!-- ** Buy Other Open Order ** -->
  599. <!ELEMENT OOBUYOTHER  - - (OO , UNITTYPE) >
  600. <!-- ** Buy Stock Open Order ** -->
  601. <!ELEMENT OOBUYSTOCK  - - (OO , BUYTYPE) >
  602. <!-- ** Sell Debt Open Order ** -->
  603. <!ELEMENT OOSELLDEBT  - - (OO) >
  604. <!-- ** Sell Mutual Fund Open Order ** -->
  605. <!ELEMENT OOSELLMF  - - (OO , SELLTYPE , UNITTYPE , SELLALL) >
  606. <!ELEMENT SELLALL  - O %BOOLTYPE >
  607. <!-- ** Sell Option Open Order ** -->
  608. <!ELEMENT OOSELLOPT  - - (OO , OPTSELLTYPE) >
  609. <!-- ** Sell Other Security Type Open Order ** -->
  610. <!ELEMENT OOSELLOTHER  - - (OO , UNITTYPE) >
  611. <!-- ** Sell Stock Open Order ** -->
  612. <!ELEMENT OOSELLSTOCK  - - (OO , SELLTYPE) >
  613. <!-- ** Switch Mutual Fund Open Order ** -->
  614. <!ELEMENT OOSWITCHMF  - - (OO , SECID , UNITTYPE , SWITCHALL) >
  615. <!ELEMENT SWITCHALL  - O %BOOLTYPE >
  616. <!-- ***** Position List ***** -->
  617. <!ELEMENT INVPOSLIST  - - ((POSMF | POSSTOCK | POSDEBT| POSOPT |
  618.                            POSOTHER)*) >
  619. <!-- Position fields common to and types of positions -->
  620. <!-- OFX 1.5 -->
  621. <!-- CHANGE MEMO to (MEMO | MEMO2) -->
  622. <!ELEMENT INVPOS  - - (SECID , HELDINACCT , POSTYPE , UNITS , UNITPRICE , 
  623.                MKTVAL , DTPRICEASOF , CURRENCY? , (MEMO | MEMO2)?) >
  624. <!--#ELEMENT INVPOS #Link(MEMO,(INVSTMTMSGSRQV1|INVSTMTMSGSRSV1))-->
  625. <!--#ELEMENT INVPOS #Link(MEMO2,(INVSTMTMSGSRQV2|INVSTMTMSGSRSV2))-->
  626. <!-- Which sub-account the position is held in: CASH, MARGIN, SHORT, OTHER -->
  627. <!ELEMENT HELDINACCT  - O %SUBACCTENUM >
  628. <!-- Position Type: SHORT, LONG -->
  629. <!ELEMENT POSTYPE  - O %POSTYPEENUM >
  630. <!ELEMENT DTPRICEASOF  - O %DTTMTYPE >
  631. <!-- ** Debt Position ** -->
  632. <!ELEMENT POSDEBT  - - (INVPOS) >
  633. <!-- ** Mutual Fund Position ** -->
  634. <!ELEMENT POSMF  - - (INVPOS , UNITSSTREET? , UNITSUSER? , REINVDIV? ,
  635.                REINVCG?) >
  636. <!ELEMENT UNITSSTREET  - O %AMTTYPE >
  637. <!ELEMENT UNITSUSER  - O %AMTTYPE >
  638. <!ELEMENT REINVDIV  - O %BOOLTYPE >
  639. <!ELEMENT REINVCG  - O %BOOLTYPE >
  640. <!-- ** Option Position ** -->
  641. <!ELEMENT POSOPT  - - (INVPOS , SECURED?) >
  642. <!-- ** Other Security Type Position ** -->
  643. <!ELEMENT POSOTHER  - - (INVPOS) >
  644. <!-- ** Stock Position ** -->
  645. <!ELEMENT POSSTOCK  - - (INVPOS , UNITSSTREET? , UNITSUSER? , REINVDIV?) >
  646. <!-- ** Balances ** -->
  647. <!ELEMENT INVBAL  - - (AVAILCASH , MARGINBALANCE , SHORTBALANCE ,
  648.                        BUYPOWER? , BALLIST?) >
  649. <!ELEMENT MARGINBALANCE  - O %AMTTYPE >
  650. <!ELEMENT SHORTBALANCE  - O %AMTTYPE >
  651. <!ELEMENT AVAILCASH  - O %AMTTYPE >
  652. <!ELEMENT BUYPOWER  - O %AMTTYPE >
  653. <!ELEMENT BALLIST  - - (BAL*) >
  654. <!-- **** Investment Statement Message Set *** -->
  655. <!-- FI supports download of transactions -->
  656. <!ELEMENT TRANDNLD  - O %BOOLTYPE >
  657. <!-- FI supports download of open orders -->
  658. <!ELEMENT OODNLD  - O %BOOLTYPE >
  659. <!-- FI supports download of positions -->
  660. <!ELEMENT POSDNLD  - O %BOOLTYPE >
  661. <!-- FI supports download of balances -->
  662. <!ELEMENT BALDNLD  - O %BOOLTYPE >
  663. <!-- **** Security List Message Set *** -->
  664. <!-- Security List message Set -->
  665. <!-- OFX 1.6 correction of ordinance within profile.  OFX 1.5.1 servers are compatible with
  666.      OFX 1.0.2 clients if they comply. -->
  667. <!ELEMENT SECLISTMSGSET  - - (SECLISTMSGSETV1, SECLISTMSGSETV2*) >
  668. <!-- Investment Message Set: Version 1 and 2 -->
  669. <!ELEMENT (SECLISTMSGSETV1, SECLISTMSGSETV2)  - - (MSGSETCORE , SECLISTRQDNLD) >
  670. <!-- FI supports SECLISTRQ -->
  671. <!ELEMENT SECLISTRQDNLD  - O %BOOLTYPE >
  672. <!-- INVESTMENT EMAIL -->
  673. <!ELEMENT INVMAILTRNRQ      - - (%TRNRQMACRO, INVMAILRQ)>
  674. <!ELEMENT INVMAILTRNRS      - - (%TRNRSMACRO, INVMAILRS?)>
  675. <!ELEMENT INVMAILSYNCRQ     - - (%SYNCRQMACRO, INCIMAGES, USEHTML, INVACCTFROM, INVMAILTRNRQ*)>
  676. <!--#ELEMENT INVMAILSYNCRQ #Link(TOKEN,INVSTMTMSGSRQV1)-->
  677. <!--#ELEMENT INVMAILSYNCRQ #Link(TOKEN2,INVSTMTMSGSRQV2)-->
  678. <!ELEMENT INVMAILSYNCRS     - - (%SYNCRSMACRO, INVACCTFROM, INVMAILTRNRS*)>
  679. <!--#ELEMENT INVMAILSYNCRS #Link(TOKEN,INVSTMTMSGSRSV1)-->
  680. <!--#ELEMENT INVMAILSYNCRS #Link(TOKEN2,INVSTMTMSGSRSV2)-->
  681. <!--#ELEMENT INVMAILSYNCRS #Link(SYNCERROR,INVSTMTMSGSRSV2)-->
  682. <!ELEMENT INVMAILRQ         - - (INVACCTFROM, MAIL)>
  683. <!ELEMENT INVMAILRS         - - (INVACCTFROM, MAIL)>
  684. <!-- Message sets -->
  685. <!ELEMENT (EMAILMSGSRQV1, EMAILMSGSRQV2)     - - ((MAILTRNRQ | MAILSYNCRQ | GETMIMETRNRQ)+ )>
  686. <!ELEMENT (EMAILMSGSRSV1, EMAILMSGSRSV2)     - - ((MAILTRNRS | MAILSYNCRS | GETMIMETRNRS)+ )>
  687. <!-- Profile entry for message set -->
  688. <!-- OFX 1.6 correction of ordinance within profile.  OFX 1.5.1 servers are compatible with
  689.      OFX 1.0.2 clients if they comply. -->
  690. <!ELEMENT EMAILMSGSET       - - (EMAILMSGSETV1, EMAILMSGSETV2*)>
  691. <!ELEMENT (EMAILMSGSETV1, EMAILMSGSETV2)     - - (MSGSETCORE , MAILSUP , GETMIMESUP)>
  692. <!ELEMENT MAILSUP           - o %BOOLTYPE>
  693. <!ELEMENT GETMIMESUP        - o %BOOLTYPE>
  694. <!-- Email Transactions -->
  695. <!ELEMENT MAILTRNRQ     - - (%TRNRQMACRO , MAILRQ)>
  696. <!ELEMENT MAILTRNRS     - - (%TRNRSMACRO , MAILRS?)>
  697. <!ELEMENT GETMIMETRNRQ  - - (%TRNRQMACRO , GETMIMERQ)>
  698. <!ELEMENT GETMIMETRNRS  - - (%TRNRSMACRO , GETMIMERS?)>
  699. <!-- Email Request -->
  700. <!ELEMENT MAILRQ        - - (MAIL)>
  701. <!ELEMENT MAIL          - - (USERID , DTCREATED , FROM , TO ,
  702.                              SUBJECT , MSGBODY , INCIMAGES ,
  703.                              USEHTML)>
  704. <!ELEMENT DTCREATED     - o %DTTMTYPE>
  705. <!ELEMENT FROM          - o %GENNAMETYPE>
  706. <!ELEMENT TO            - o %GENNAMETYPE>
  707. <!ELEMENT SUBJECT       - o %SUBJECTTYPE>
  708. <!ELEMENT USEHTML       - o %BOOLTYPE>
  709. <!ELEMENT MSGBODY       - - %MSGBODYTYPE>
  710. <!-- Email Response -->
  711. <!ELEMENT MAILRS        - - (MAIL)>
  712. <!-- Email sync -->
  713. <!ELEMENT MAILSYNCRQ    - - (%SYNCRQMACRO , INCIMAGES, USEHTML, MAILTRNRQ*)>
  714. <!--#ELEMENT MAILSYNCRQ #Link(TOKEN,EMAILMSGSRQV1)-->
  715. <!--#ELEMENT MAILSYNCRQ #Link(TOKEN2,EMAILMSGSRQV2)-->
  716. <!ELEMENT MAILSYNCRS    - - (%SYNCRSMACRO , MAILTRNRS*)>
  717. <!--#ELEMENT MAILSYNCRS #Link(TOKEN,EMAILMSGSRSV1)-->
  718. <!--#ELEMENT MAILSYNCRS #Link(TOKEN2,EMAILMSGSRSV2)-->
  719. <!--#ELEMENT MAILSYNCRS #Link(SYNCERROR,EMAILMSGSRSV2)-->
  720. <!-- HTML GET -->
  721. <!-- OFX 1.5 -->
  722. <!-- CHANGE URL TO (URL|URL2) -->
  723. <!ELEMENT GETMIMERQ     - - ((URL|URL2))>
  724. <!--#ELEMENT GETMIMERQ #Link(URL,EMAILMSGSRQV1)-->
  725. <!--#ELEMENT GETMIMERQ #Link(URL2,EMAILMSGSRQV2)-->
  726. <!ELEMENT GETMIMERS     - - ((URL|URL2))>
  727. <!--#ELEMENT GETMIMERS #Link(URL,EMAILMSGSRSV1)-->
  728. <!--#ELEMENT GETMIMERS #Link(URL2,EMAILMSGSRSV2)-->
  729.     <!-- BILL PRESENTMENT   -->
  730.     
  731.     <!-- Profile entry for message set -->
  732. <!-- OFX 1.6 correction of ordinance within profile.  Allows for multiple Biller Directory
  733.      services within an FI. -->
  734.     <!ELEMENT PRESDIRMSGSET        - - (PRESDIRMSGSETV1+)>
  735.     <!ELEMENT PRESDIRMSGSETV1      - - (MSGSETCORE, PRESDIRPROF?)>
  736.     <!ELEMENT PRESDIRPROF      - - (PROCDAYSOFF*, CANSUPPORTIMAGES, PROCENDTM)>
  737.     <!-- No synchronization in this module -->
  738.    
  739.     <!-- ================== -->
  740.     <!-- DIRECTORY MESSAGES -->
  741.     <!-- ================== -->
  742.     
  743.     <!-- FIND BILLER -->
  744.     
  745.     <!-- Find Biller Message set -->
  746.     <!ELEMENT PRESDIRMSGSRQV1    - - (FINDBILLERTRNRQ)>
  747.     <!ELEMENT PRESDIRMSGSRSV1    - - (FINDBILLERTRNRS)>
  748.     
  749.     <!-- Find Biller Transactions -->
  750.     
  751.     <!ELEMENT FINDBILLERTRNRQ    - - (%TRNRQMACRO, FINDBILLERRQ)>
  752.     <!ELEMENT FINDBILLERTRNRS    - - (%TRNRSMACRO, FINDBILLERRS?)>
  753.     
  754.     
  755.     
  756.     <!-- Find Biller Request and Response -->
  757.     
  758.     <!ELEMENT FINDBILLERRQ  - - (DTUPDATE? , BILLERID?, NAME?, ADDR1?,
  759.                                     ADDR2? , ADDR3? , CITY?, STATE?,  
  760.                                     POSTALCODE? , COUNTRY? , SIC? ,
  761.                                     CONSUPOSTALCODE?,INCIMAGES)>
  762.              
  763.                                      
  764.     <!ELEMENT FINDBILLERRS  - - (DTUPDATE ,BILLERINFO*)>
  765.     
  766.     <!ELEMENT BILLERINFO    - - (BILLPUB, BILLERID, NAME, ADDR1,
  767.                                     ADDR2? , ADDR3? , CITY, STATE,  
  768.                                     POSTALCODE ,COUNTRY ,SIC ,PHONE ,
  769.                                 PAYMENTINSTRUMENTS?, ACCTFORMAT?,
  770.                                     ACCTEDITMASK?, HELPMESSAGE?, RESTRICT?, LOGO?,
  771.                                     VALIDATE?, BILLERINFOURL?)>
  772.     
  773.     <!ELEMENT PAYMENTINSTRUMENTS      - - (PAYMENTINSTRUMENT+)>
  774.     <!ELEMENT PAYMENTINSTRUMENT       - - (PMTINSTRUMENTTYPE, BRAND?)>
  775.     <!ELEMENT DTUPDATE      - o %DTTMTYPE>
  776.     <!ELEMENT CONSUPOSTALCODE - o %ZIPTYPE>
  777.     <!ELEMENT BILLPUB       - o %GENNAMETYPE>
  778.     <!ELEMENT BILLERID      - o %IDTYPE>
  779.     <!ELEMENT ACCTFORMAT    - o %MSGTYPE>
  780.     <!ELEMENT ACCTEDITMASK  - o %MSGTYPE>
  781.     <!ELEMENT HELPMESSAGE   - o %MSGTYPE>
  782.     <!ELEMENT RESTRICT      - o %MSGTYPE>
  783.     <!ELEMENT VALIDATE      - o %URL2TYPE>
  784.     <!ELEMENT BILLERINFOURL - o %URL2TYPE>
  785.     <!ELEMENT LOGO          - o %URL2TYPE>
  786.     
  787.     
  788.     <!-- ================== -->
  789.     <!-- SIGNUP MESSAGES    -->
  790.     <!-- ================== -->
  791.     
  792.     <!-- ENROLL SAME AS STANDARD OFX ENROLL-->
  793.     
  794.     <!-- ACTIVATION SAME AS STANDARD OFX -->
  795.     <!-- OFX 1.6: Add BUSNAMEACCTHELD. -->
  796.     <!ELEMENT PRESNAMEADDRESS - - (NAMEACCTHELD?, BUSNAMEACCTHELD?, ADDR1?, ADDR2?,
  797.    ADDR3?, CITY?, STATE?, POSTALCODE?, COUNTRY?,
  798.    DAYPHONE?, EVEPHONE?)>
  799.     
  800.     <!-- ACCOUNT INFO SAME AS STANDARD OFX EXCEPT FOR GROUP Messages-->
  801.     <!ELEMENT NAMEACCTHELD - o %NAMEACCTHELDTYPE>
  802.     <!ELEMENT BUSNAMEACCTHELD - o %NAMEACCTHELDTYPE>
  803.        
  804.     <!-- ====================== -->
  805.     <!-- BILL DELIVERY MESSAGES -->
  806.     <!-- ====================== -->
  807.     
  808.     <!-- Bill Delivery -->
  809.     
  810.     <!-- Bill Delivery Message set -->
  811.     <!-- Profile entry for message set -->
  812.     <!-- OFX 1.6 correction of ordinance within profile.  Allows for multiple Bill Presentment
  813.      services within an FI. -->
  814.     <!ELEMENT PRESDLVMSGSET        - - (PRESDLVMSGSETV1+)>
  815.     <!ELEMENT PRESDLVMSGSETV1      - - (MSGSETCORE, PRESDLVPROF?, EMAILPROF)>
  816.     <!ELEMENT PRESDLVPROF     - - (CANSUPPORTGROUPID, PROCDAYSOFF*, CANSUPPORTIMAGES, PROCENDTM, CANUPDATEPRESNAMEADDRESS)>
  817.     
  818.     <!-- No synchronization in this module -->
  819.     
  820.      <!-- OFX 1.6 addition of BILLSTATUSMODTRNRQ and BILLSTATUSMODTRNRS.  -->
  821.    <!ELEMENT PRESDLVMSGSRQV1  - - ((PRESLISTTRNRQ
  822.                                 |PRESGRPACCTINFOTRNRQ
  823.                                 |PRESDETAILTRNRQ
  824.                                 |BILLTBLSTRUCTTRNRQ
  825.                                 |PRESNOTIFYTRNRQ
  826.                                 |BILLSTATUSMODTRNRQ
  827.                                 |PRESMAILSYNCRQ
  828.                                 |PRESMAILTRNRQ)+
  829.                                 )>
  830.     <!ELEMENT PRESDLVMSGSRSV1  - - ((PRESLISTTRNRS
  831.                                 |PRESGRPACCTINFOTRNRS
  832.                                 |PRESDETAILTRNRS
  833.                                 |BILLTBLSTRUCTTRNRS
  834.                                 |PRESNOTIFYTRNRS
  835.                                 |BILLSTATUSMODTRNRS
  836.                                 |PRESMAILSYNCRS
  837.                                 |PRESMAILTRNRS)+
  838.                                 )>
  839.     <!-- Account Info Group Transactions -->
  840.     <!ELEMENT PRESGRPACCTINFOTRNRQ    - - (%TRNRQMACRO, (USERID | GROUPID)?, ACCTINFORQ)>
  841.     <!ELEMENT PRESGRPACCTINFOTRNRS    - - (%TRNRSMACRO, ACCTINFORS?)>
  842.   
  843.     <!ELEMENT PRESACCTINFO              - - (PRESACCTFROM, SVCSTATUS2, REASON?)>
  844.     <!-- OFX 1.6: Add BILLERNAME, SPNAME, PAYEEID2 and PAYEELSTID2. -->
  845.     <!ELEMENT ( PRESACCTFROM, PRESACCTTO ) - -
  846. ( BILLPUB, BILLERID, BILLERNAME?, ACCTID, PRESNAMEADDRESS?,
  847. USERID?, ( SPNAME?, ((PAYEEID2, PAYEELSTID2?) | PAYEELSTID2 ))?)>
  848.   
  849.     <!ELEMENT GROUPID                 - o %IDTYPE>
  850.     <!ELEMENT REASON                  - o %MSGTYPE>
  851.     <!ELEMENT PMTINSTRUMENTTYPE       - o %PMTINSTRUMENTENUM>
  852.     <!ELEMENT BRAND                   - o %GENNAMETYPE>
  853.     <!ELEMENT BILLERNAME       - o %GENNAMETYPE>
  854.     <!-- Bill Delivery Transactions -->
  855.     <!ELEMENT PRESLISTTRNRQ    - - (%TRNRQMACRO,  (USERID|GROUPID)?, PRESLISTRQ)>
  856.     <!ELEMENT PRESLISTTRNRS    - - (%TRNRSMACRO, PRESLISTRS?)>
  857.     
  858.     <!ELEMENT PRESNOTIFYTRNRQ    - - (%TRNRQMACRO, PRESNOTIFYRQ)>
  859.     <!ELEMENT PRESNOTIFYTRNRS    - - (%TRNRSMACRO, PRESNOTIFYRS?)>
  860.     
  861.     <!-- OFX 1.6 addition of BILLSTATUSMODTRNRQ and BILLSTATUSMODTRNRS.  -->
  862.     <!ELEMENT BILLSTATUSMODTRNRQ    - - (%TRNRQMACRO, BILLSTATUSMODRQ)>
  863.     <!ELEMENT BILLSTATUSMODTRNRS    - - (%TRNRSMACRO, BILLSTATUSMODRS?)>
  864.     
  865.     <!-- OFX 1.6 addition of several new tags to PRESLISTRQ.  
  866.          See "New tags in PRESLISTRQ", below. -->
  867.     <!ELEMENT PRESLISTRQ       - - (BILLPUB, DTSTART?, DTEND?, DTDUEBY?, BILLERID?, 
  868.                                     BILLID?, BILLTYPE*, BILLSTATUSCODE*, 
  869.                                     BILLPMTSTATUSCODE*, NOTIFYWILLING, INCLUDEDETAIL, 
  870.                                     INCLUDEBILLSTATUS?, INCLUDEBILLPMTSTATUS?, 
  871.                                     INCLUDESTATUSHIST?, INCLUDECOUNTS?, INCLUDESUMMARY?)>
  872.     
  873.     <!-- New tags in PRESLISTRQ for OFX 1.6.  BILLERID was also added. -->
  874.     <!ELEMENT DTDUEBY                  - o %DTTMTYPE>
  875.     <!ELEMENT BILLTYPE                 - o %BILLTYPEENUM>
  876.     <!ELEMENT BILLSTATUSCODE           - o %BILLSTATUSCODEENUM>
  877.     <!ELEMENT BILLPMTSTATUSCODE        - o %BILLPMTSTATUSCODEENUM>
  878.     <!ELEMENT INCLUDEBILLSTATUS        - o %BOOLTYPE>
  879.     <!ELEMENT INCLUDEBILLPMTSTATUS     - o %BOOLTYPE> 
  880.     <!ELEMENT INCLUDESTATUSHIST        - o %BOOLTYPE>
  881.     <!ELEMENT INCLUDECOUNTS            - o %BOOLTYPE>
  882.     <!ELEMENT INCLUDESUMMARY           - o %BOOLTYPE>
  883.                                 
  884.     <!-- OFX 1.6 addition of the PRESCOUNTS aggregate to PRESLISTRS -->                                                            
  885.     <!ELEMENT PRESLISTRS       - - (BILLPUB, USERID, DTSTART, DTEND, 
  886.                                     PRESLIST?, PRESCOUNTS?)>
  887.     
  888.     <!ELEMENT PRESCOUNTS             - - (BILLSTATUSCOUNTS*, BILLPMTSTATUSCOUNTS*)>      
  889.     <!ELEMENT BILLSTATUSCOUNTS       - - (BILLSTATUSCODE, COUNT)>  
  890.     <!ELEMENT BILLPMTSTATUSCOUNTS    - - (BILLPMTSTATUSCODE, COUNT)>  
  891.     <!ELEMENT COUNT                  - o %IDTYPE>
  892.     
  893.     <!ELEMENT PRESLIST         - - (PRESBILLINFO*)>
  894.     
  895.     <!-- OFX 1.6 addition of BILLTYPE, BILLSTATUS and BILLPMTSTATUS to PRESBILLINFO.  -->
  896.     <!ELEMENT PRESBILLINFO     - - (BILLID, PRESACCTFROM, PAYEEID2?, BILLREFINFO?, AMTDUE,
  897.                                     MINAMTDUE?, DTPMTDUE, DTBILL, DTOPEN?, DTCLOSE?,
  898.                                     PREVBAL?, ACTIVITY?, ACCTBAL?, INVOICE2?, NOTIFYDESIRED,
  899.                                     BILLTYPE?, BILLSTATUS*, BILLPMTSTATUS*,
  900.                                     STMNTIMAGE?, (DETAILAVAILABLE|BILLDETAILTABLE))>
  901.     
  902.     <!ELEMENT BILLSTATUS       - - (BILLSTATUSCODE, DTEFF, STATUSMODBY?)>  
  903.     <!ELEMENT BILLPMTSTATUS    - - (SRVRTID2?, BILLPMTSTATUSCODE, DTEFF, STATUSMODBY?)>
  904.     <!ELEMENT DTEFF            - o %DTTMTYPE> 
  905.     <!ELEMENT STATUSMODBY      - o %STATUSMODBYENUM>                                
  906.     <!-- OFX 1.6 addition of BILLSTATUSMODRQ and BILLSTATUSMODRS.  -->
  907.     <!ELEMENT BILLSTATUSMODRQ  - - (BILLID?, BILLSTATUS?, BILLPMTSTATUS?)>
  908.     <!ELEMENT BILLSTATUSMODRS  - - (BILLID?, BILLSTATUS?, BILLPMTSTATUS?)>
  909.     <!-- OFX 1.6 correction of ordinance for PREFETCHURL element.
  910.          This version (optional and repeating versus optional) matches the
  911.  intent and wording of the specification. -->
  912.     <!ELEMENT STMNTIMAGE     - - ( IMAGEURL, PREFETCHURL*, DTEXPIRE? )>
  913.     
  914.     <!ELEMENT PRESDETAILTRNRQ  - - (%TRNRQMACRO, PRESDETAILRQ)>
  915.     <!ELEMENT PRESDETAILRQ     - - (BILLID, BILLDETAILTABLETYPE?)>
  916.     <!ELEMENT PRESDETAILTRNRS  - - (%TRNRSMACRO, PRESDETAILRS?)>
  917.     <!ELEMENT PRESDETAILRS   - - (PRESDETAIL*)>
  918.   
  919.     <!ELEMENT PRESDETAIL       - - (BILLID, PRESACCTFROM?, BILLDETAILTABLE*)>
  920.     
  921.     <!ELEMENT BILLDETAILTABLE        - - (TABLENAME, BILLDETAILTABLETYPE, BILLDETAILROW*)>
  922.     
  923.     <!ELEMENT BILLDETAILROW          - - (C|N)*>
  924.     
  925.     <!ELEMENT BILLTBLSTRUCTTRNRQ    - - (%TRNRQMACRO, BILLTBLSTRUCTRQ)>
  926.     <!ELEMENT BILLTBLSTRUCTTRNRS    - - (%TRNRSMACRO, BILLTBLSTRUCTRS?)>
  927.     
  928.     <!ELEMENT BILLTBLSTRUCTRQ  - - (BILLID, BILLDETAILTABLETYPE)>
  929.     
  930.     <!ELEMENT BILLTBLSTRUCTRS  - - (BILLID, BILLDETAILTABLETYPE, COLDEF*)>
  931.     
  932.     <!ELEMENT COLDEF                 - - (COLNAME, COLTYPE)>
  933.     
  934.     <!ELEMENT PRESNOTIFYRQ     - - (PRESDELIVERYID)>
  935. <!-- OFX 1.6 correction.  All previous DTD versions allowed zero or more identifier
  936.      aggregates.  Nothing other than a single <PRESDELIVERID> has meaning. -->
  937.     <!ELEMENT PRESNOTIFYRS     - - (PRESDELIVERYID)>
  938.      
  939.     <!ELEMENT PRESDELIVERYID   - - (PRESACCTFROM,BILLID,DTSEEN)>
  940.     
  941.     
  942.     <!ELEMENT NOTIFYWILLING  - o %BOOLTYPE>
  943.     <!ELEMENT INCLUDEDETAIL  - o %BOOLTYPE>
  944.     <!ELEMENT AMTDUE         - o %AMTTYPE>
  945.     <!ELEMENT MINAMTDUE      - o %AMTTYPE>
  946.     <!ELEMENT DTBILL         - o %DTTMTYPE>
  947.     <!ELEMENT PREVBAL        - o %AMTTYPE>
  948.     <!ELEMENT ACTIVITY       - o %AMTTYPE>
  949.     <!ELEMENT ACCTBAL        - o %AMTTYPE>
  950.     <!ELEMENT NOTIFYDESIRED  - o %BOOLTYPE>
  951.     <!ELEMENT DETAILAVAILABLE - o %BOOLTYPE>
  952.     <!ELEMENT IMAGEURL       - o %URL2TYPE>
  953.     <!ELEMENT PREFETCHURL    - o %URL2TYPE>
  954.     <!ELEMENT TABLENAME      - o %GENNAMETYPE>
  955.     <!ELEMENT BILLDETAILTABLETYPE      - o %GENNAMETYPE>
  956.     <!ELEMENT C              - o %MSGTYPE>
  957.     <!ELEMENT N              - o %CHARTYPE>
  958.     <!ELEMENT COLNAME        - o %GENNAMETYPE>
  959.     <!ELEMENT COLTYPE        - o %COLUMNTYPE>
  960.     <!ELEMENT DTSEEN         - o %DTTMTYPE>
  961. <!ELEMENT BILLID         - o %IDTYPE>
  962.     
  963.     <!-- =============================== -->
  964.     <!-- BILL PRESENTMENT EMAIL MESSAGES -->
  965.     <!-- =============================== -->
  966.     
  967.     <!-- Synchronization -->
  968.     <!ELEMENT PRESMAILSYNCRQ   - - (%SYNCRQMACRO , INCIMAGES, USEHTML, PRESACCTFROM, PRESMAILTRNRQ*)>
  969. <!--#ELEMENT PRESMAILSYNCRQ #Link(TOKEN2, PRESDLVMSGSRQV1)-->
  970.     <!ELEMENT PRESMAILSYNCRS   - - (%SYNCRSMACRO , PRESACCTFROM, PRESMAILTRNRS*)>
  971. <!--#ELEMENT PRESMAILSYNCRS #Link(TOKEN2,PRESDLVMSGSRSV1)-->
  972. <!--#ELEMENT PRESMAILSYNCRS #Link(SYNCERROR, PRESDLVMSGSRSV1)-->
  973.   
  974.     <!-- Bill Presentment Mail -->
  975.     <!ELEMENT PRESMAILTRNRQ    - - (%TRNRQMACRO, PRESMAILRQ)>
  976.     <!ELEMENT PRESMAILTRNRS    - - (%TRNRSMACRO, PRESMAILRS?)>
  977.     
  978.     <!ELEMENT PRESMAILRQ       - - (PRESACCTFROM, MAIL)>
  979.     <!ELEMENT PRESMAILRS       - - (PRESACCTFROM, MAIL)>
  980.  
  981. <!-- Profile message set -->
  982. <!ELEMENT (PROFMSGSRQV1, PROFMSGSRQV2)        - - ((PROFTRNRQ)+ )>
  983. <!ELEMENT (PROFMSGSRSV1, PROFMSGSRSV2)        - - ((PROFTRNRS)+ )>
  984. <!-- Profile entry for message set -->
  985. <!-- OFX 1.6 correction of ordinance within profile.  OFX 1.5.1 servers are compatible with
  986.      OFX 1.0.2 clients if they comply. -->
  987. <!ELEMENT PROFMSGSET        - - (PROFMSGSETV1, PROFMSGSETV2?)>
  988. <!ELEMENT (PROFMSGSETV1, PROFMSGSETV2)      - - (MSGSETCORE)>
  989. <!-- No synchronization in this module -->
  990. <!-- Transactions -->
  991. <!ELEMENT PROFTRNRQ     - - (%TRNRQMACRO , PROFRQ)>
  992. <!ELEMENT PROFTRNRS     - - (%TRNRSMACRO , PROFRS?)>
  993. <!-- Messages -->
  994. <!-- Message List -->
  995. <!-- OFX 1.5 -->
  996. <!-- Moved message set list from entity section to here -->
  997. <!-- ADDED PRESDIRMSGSET, PRESDLVMSGSET -->
  998. <!-- OFX 1.6 correction: While entirely compatible with the previous formation
  999.      of this macro ( SIGNONMSETSET?, SIGNUPMSGSET?, ... ), this form makes the
  1000.      intent more obvious.  Message set profile aggregates may appear in any
  1001.      order in <MSGSETLIST>.
  1002.      Also, removed SIGNONMSGSET and PROFMSGSET from the macro to make them
  1003.      required in <MSGSETLIST>. -->
  1004. <!ENTITY % MSGSETMACRO "
  1005.                      ( SIGNUPMSGSET | BANKMSGSET | CREDITCARDMSGSET |
  1006.      INVSTMTMSGSET | INTERXFERMSGSET | WIREXFERMSGSET |
  1007.      BILLPAYMSGSET | EMAILMSGSET | SECLISTMSGSET |
  1008.      PRESDIRMSGSET | PRESDLVMSGSET
  1009.      %EXTRAMSGSETS
  1010.      )">
  1011. <!-- OFX 1.6 correction: Disallow an empty <MSGSETLIST> by requiring one or
  1012.      more occurances of the %MSGSETMACRO contents.
  1013.      Also, make <SIGNONMSGSET> and <PROFMSGSET> required. -->
  1014. <!ELEMENT MSGSETLIST    - - (
  1015.     ((( SIGNONMSGSET, PROFMSGSET ) | ( PROFMSGSET, SIGNONMSGSET )),
  1016.      (%MSGSETMACRO)+ ) |
  1017.     ((( SIGNONMSGSET, (%MSGSETMACRO)+, PROFMSGSET ) |
  1018.      ( PROFMSGSET, (%MSGSETMACRO)+, SIGNONMSGSET )), (%MSGSETMACRO)* ) |
  1019.     ( (%MSGSETMACRO)+,
  1020.      (( SIGNONMSGSET, (%MSGSETMACRO)*, PROFMSGSET ) |
  1021.       ( PROFMSGSET, (%MSGSETMACRO)*, SIGNONMSGSET )), (%MSGSETMACRO)* )
  1022.     )>
  1023. <!ELEMENT PROFRQ    - - (CLIENTROUTING , DTPROFUP)>
  1024. <!ELEMENT CLIENTROUTING - o %CLIENTROUTINGENUM>
  1025. <!-- version 2 adds URLGETREDIRECT -->
  1026. <!-- OFX 1.5 -->
  1027. <!-- ADDED URLGETREDIRECT -->
  1028. <!-- CHANGE URL TO (URL|URL2) -->
  1029. <!ELEMENT PROFRS    - - (MSGSETLIST , SIGNONINFOLIST , DTPROFUP,
  1030.                         FINAME, (ADDR1,(ADDR2,ADDR3?)?), CITY, STATE, POSTALCODE, COUNTRY,
  1031.                         CSPHONE?, TSPHONE?, FAXPHONE?, (URL|URL2)?, URLGETREDIRECT?, EMAIL? )>
  1032. <!--#ELEMENT PROFRS #Link(URL,PROFMSGSRSV1)-->
  1033. <!--#ELEMENT PROFRS #Link(URL2,PROFMSGSRSV2)-->
  1034. <!--#ELEMENT PROFRS #Link(URLGETREDIRECT,PROFMSGSRSV2)-->
  1035.                         
  1036. <!ELEMENT FINAME        - o %GENNAMETYPE>
  1037. <!ELEMENT CSPHONE       - o %PHONETYPE>
  1038. <!ELEMENT TSPHONE       - o %PHONETYPE>
  1039. <!ELEMENT FAXPHONE      - o %PHONETYPE>
  1040. <!-- OFX 1.5 -->
  1041. <!-- ADDED URLGETREDIRECT -->
  1042. <!ELEMENT URLGETREDIRECT - o %BOOLTYPE>
  1043. <!-- Signon realm info - version 2 adds pwtype for intl use -->
  1044. <!ELEMENT SIGNONINFOLIST    - - (SIGNONINFO*)>
  1045. <!-- OFX 1.5 -->
  1046. <!-- ADDED PWTYPE -->
  1047. <!ELEMENT SIGNONINFO        - - (SIGNONREALM , MIN , MAX ,
  1048.                                  CHARTYPE , CASESEN ,
  1049.                                  SPECIAL , SPACES, PINCH, CHGPINFIRST, PWTYPE?)>
  1050. <!-- OFX 1.6 correction.  This element previously was incorrectly linked to
  1051.      PROFMSGSETV2. -->
  1052. <!--#ELEMENT SIGNONINFO #Link(PWTYPE, PROFMSGSRSV2)-->
  1053. <!ELEMENT SIGNONREALM       - o %GENNAMETYPE>
  1054. <!ELEMENT MIN               - o %MAXMINTYPE>
  1055. <!ELEMENT MAX               - o %MAXMINTYPE>
  1056. <!ELEMENT CHARTYPE          - o %CHARTYPEENUM>
  1057. <!ELEMENT CASESEN           - o %BOOLTYPE>
  1058. <!ELEMENT SPECIAL           - o %BOOLTYPE>
  1059. <!ELEMENT SPACES            - o %BOOLTYPE>
  1060. <!ELEMENT PINCH             - o %BOOLTYPE>
  1061. <!ELEMENT CHGPINFIRST       - o %BOOLTYPE>
  1062. <!-- OFX 1.5 -->
  1063. <!ELEMENT PWTYPE            - o %PWTYPEENUM> 
  1064. <!-- Message set core info - used by all XXXMSGSETVn -->
  1065. <!-- version 2 adds COUNTRY -->
  1066. <!-- OFX 1.5 -->
  1067. <!-- ADDED COUNTRY -->
  1068. <!-- CHANGE URL to URL+ -->
  1069. <!-- CHANGE URL TO (URL|URL2) -->
  1070. <!-- OFX 1.6: Add REFRESHSUPT element. -->
  1071. <!ELEMENT MSGSETCORE    - - (VER , (URL|URL2) , OFXSEC ,
  1072.                              TRANSPSEC , SIGNONREALM ,
  1073.                              LANGUAGE+, COUNTRY*, SYNCMODE, REFRESHSUPT?,
  1074.      RESPFILEER, SPNAME? )>
  1075. <!--#ELEMENT MSGSETCORE #Link(URL,(SIGNONMSGSETV1 | SIGNUPMSGSETV1 | EMAILMSGSETV1 | 
  1076. BANKMSGSETV1 | CREDITCARDMSGSETV1 | INTERXFERMSGSETV1 | WIREXFERMSGSETV1 |
  1077. SECLISTMSGSETV1 | PROFMSGSETV1 | BILLPAYMSGSETV1 | INVSTMTMSGSETV1))-->
  1078. <!--#ELEMENT MSGSETCORE #Link(URL2,(SIGNONMSGSETV2 | SIGNUPMSGSETV2 | EMAILMSGSETV2 |
  1079. BANKMSGSETV2 | CREDITCARDMSGSETV2 | INTERXFERMSGSETV2 | WIREXFERMSGSETV2 |
  1080. SECLISTMSGSETV2 | PROFMSGSETV2 | BILLPAYMSGSETV2 | INVSTMTMSGSETV2 | 
  1081. PRESDIRMSGSETV1 | PRESDLVMSGSETV1))-->
  1082. <!--#ELEMENT MSGSETCORE #Link(COUNTRY,(SIGNONMSGSETV2 | SIGNUPMSGSETV2 | EMAILMSGSETV2 |
  1083. BANKMSGSETV2 | CREDITCARDMSGSETV2 | INTERXFERMSGSETV2 | WIREXFERMSGSETV2 |
  1084. SECLISTMSGSETV2 | PROFMSGSETV2 | BILLPAYMSGSETV2 | INVSTMTMSGSETV2 | 
  1085. PRESDIRMSGSETV1 | PRESDLVMSGSETV1))-->
  1086. <!ELEMENT VER           - o %VERTYPE>
  1087. <!ELEMENT OFXSEC        - o %SECURITYENUM>
  1088. <!ELEMENT TRANSPSEC     - o %BOOLTYPE> 
  1089. <!ELEMENT SYNCMODE      - o %SYNCENUM>
  1090. <!ELEMENT REFRESHSUPT - o %BOOLTYPE>
  1091. <!ELEMENT RESPFILEER    - o %BOOLTYPE>
  1092. <!ELEMENT SPNAME        - o %GENNAMETYPE>
  1093.     
  1094.  
  1095. <!-- ============================================================================= -->
  1096. <!--
  1097.     Open Financial Exchange Element Structure
  1098.     This section defines common and high-level elements.
  1099.     New requests and responses need to be added to the TRNRQ/TRNRS elements here
  1100. -->
  1101. <!-- ============================================================================= -->
  1102. <!-- Top-level -->
  1103. <!-- Add the 'meta-token' for sync requests from each
  1104.      service module here -->
  1105. <!ENTITY % OFXRQMSGSETS 
  1106.                      "(SIGNONMSGSRQV1     | SIGNONMSGSRQV2),
  1107.                       (SIGNUPMSGSRQV1     | SIGNUPMSGSRQV2+)?,
  1108.                       (BANKMSGSRQV1       | BANKMSGSRQV2)?,
  1109.                       (CREDITCARDMSGSRQV1 | CREDITCARDMSGSRQV2)?,
  1110.                       (INVSTMTMSGSRQV1    | INVSTMTMSGSRQV2)?,
  1111.                       (INTERXFERMSGSRQV1  | INTERXFERMSGSRQV2)?,
  1112.                       (WIREXFERMSGSRQV1   | WIREXFERMSGSRQV2)?,
  1113.                       (BILLPAYMSGSRQV1    | BILLPAYMSGSRQV2)?,
  1114.                       (EMAILMSGSRQV1      | EMAILMSGSRQV2)?,
  1115.                       (SECLISTMSGSRQV1    | SECLISTMSGSRQV2)?,
  1116. PRESDIRMSGSRQV1?,
  1117.                         PRESDLVMSGSRQV1?,
  1118.                       (PROFMSGSRQV1       | PROFMSGSRQV2)?
  1119. %EXTRARQMSGSETS">
  1120. <!ENTITY % OFXRSMSGSETS                      
  1121.                      "(SIGNONMSGSRSV1     | SIGNONMSGSRSV2),
  1122.                       (SIGNUPMSGSRSV1     | SIGNUPMSGSRSV2+)?,
  1123.                       (BANKMSGSRSV1       | BANKMSGSRSV2)?,
  1124.                       (CREDITCARDMSGSRSV1 | CREDITCARDMSGSRSV2)?,
  1125.                       (INVSTMTMSGSRSV1    | INVSTMTMSGSRSV2)?,
  1126.                       (INTERXFERMSGSRSV1  | INTERXFERMSGSRSV2)?,
  1127.                       (WIREXFERMSGSRSV1   | WIREXFERMSGSRSV2)?,
  1128.                       (BILLPAYMSGSRSV1    | BILLPAYMSGSRSV2)?,
  1129.                       (EMAILMSGSRSV1      | EMAILMSGSRSV2)?,
  1130.                       (SECLISTMSGSRSV1    | SECLISTMSGSRSV2)?,
  1131. PRESDIRMSGSRSV1?,
  1132.                         PRESDLVMSGSRSV1?,
  1133.                       (PROFMSGSRSV1       | PROFMSGSRSV2)?
  1134. %EXTRARSMSGSETS">                
  1135.                       
  1136. <!ELEMENT OFX   - - ((%OFXRQMSGSETS) | (%OFXRSMSGSETS))>
  1137. <!-- Generic Elements and Common Aggregates -->
  1138. <!ELEMENT DTCLIENT  - o %DTTMTYPE>
  1139. <!ELEMENT USERID    - o %IDTYPE>
  1140. <!ELEMENT USERPASS  - o %PASSWORDTYPE>
  1141. <!ELEMENT USERKEY   - o %USERKEYTYPE>
  1142. <!ELEMENT GENUSERKEY        - o %BOOLTYPE>
  1143. <!ELEMENT APPID     - o %APPIDTYPE>
  1144. <!ELEMENT APPVER    - o %INTTYPE>
  1145. <!ELEMENT DTSERVER  - o %DTTMTYPE>
  1146. <!ELEMENT TSKEYEXPIRE       - o     %DTTMTYPE>
  1147. <!ELEMENT CLTCOOKIE - o %IDTYPE>
  1148. <!ELEMENT TAN       - o %TANTYPE>
  1149. <!ELEMENT DESC      - o %SHORTMSGTYPE>
  1150. <!ELEMENT PHONE     - o %PHONETYPE>
  1151. <!-- general error reporting aggregate -->
  1152. <!-- OFX 1.5 -->
  1153. <!-- CHANGED MESSAGE TO (MESSAGE | MESSAGE2) -->
  1154. <!ELEMENT STATUS    - -     (CODE , SEVERITY , (MESSAGE | MESSAGE2)? )> 
  1155. <!--#ELEMENT STATUS #Link(MESSAGE,(SIGNONMSGSRSV1 |  SIGNUPMSGSRSV1 | BANKMSGSRSV1 | CREDITCARDMSGSRSV1 | INVSTMTMSGSRSV1 | INTERXFERMSGSRSV1 | WIREXFERMSGSRSV1 | BILLPAYMSGSRSV1 | EMAILMSGSRSV1 | SECLISTMSGSRSV1 | PROFMSGSRSV1))-->
  1156. <!--#ELEMENT STATUS #Link(MESSAGE2, (SIGNONMSGSRSV2 |  SIGNUPMSGSRSV2 | BANKMSGSRSV2 | CREDITCARDMSGSRSV2 | INVSTMTMSGSRSV2 | INTERXFERMSGSRSV2 | WIREXFERMSGSRSV2 | BILLPAYMSGSRSV2 | EMAILMSGSRSV2 | SECLISTMSGSRSV2 | PROFMSGSRSV2 | PRESDIRMSGSRSV1 | PRESDLVMSGSRSV1))-->
  1157. <!ELEMENT CODE              - o     %ERRORTYPE>
  1158. <!ELEMENT SEVERITY  - o     %SEVERITYENUM>
  1159. <!-- OFX 1.02 A-255 -->
  1160. <!ELEMENT MESSAGE   - o     %MSGTYPE>
  1161. <!-- OFX 1.5 -->
  1162. <!-- ADDED MESSAGE2, A-2000 -->
  1163. <!ELEMENT MESSAGE2   - o     %LONGMSGTYPE>
  1164. <!-- Balance record -->
  1165. <!ELEMENT BAL               - -     (NAME , DESC , BALTYPE , VALUE , 
  1166.                          DTASOF? , CURRENCY?)>
  1167. <!ELEMENT BALTYPE   - o %BALANCEENUM>
  1168. <!ELEMENT VALUE             - o %AMTTYPE>
  1169. <!--
  1170.     TRNUID - a UUID that uniquely identifies transactions
  1171. -->
  1172. <!ELEMENT TRNUID                    - o     %UUIDTYPE>
  1173. <!-- Server ID -->
  1174. <!ELEMENT SRVRTID   - o %SRVRIDTYPE>
  1175. <!-- OFX 1.5 -->
  1176. <!-- Server ID -->
  1177. <!ELEMENT SRVRTID2   - o %UUIDTYPE>
  1178. <!-- Transaction ID issued by financial institution.This ID is used to detect duplicate downloads -->
  1179. <!ELEMENT FITID             - o     %FITIDTYPE>
  1180. <!-- starting date -->
  1181. <!ELEMENT DTSTART           - o     %DTTMTYPE>
  1182. <!-- ending date -->
  1183. <!ELEMENT DTEND                     - o     %DTTMTYPE>
  1184. <!ELEMENT DTPROFUP      - o %DTTMTYPE>
  1185. <!ELEMENT DTACCTUP      - o %DTTMTYPE>
  1186. <!-- Sync-related -->
  1187. <!ELEMENT TOKENONLY         - o %BOOLTYPE>
  1188. <!ELEMENT TOKEN             - o %SRVRIDTYPE>
  1189. <!-- OFX 1.5 -->
  1190. <!ELEMENT TOKEN2            - o %UUIDTYPE>
  1191. <!ELEMENT REFRESH           - o %BOOLTYPE>
  1192. <!ELEMENT REJECTIFMISSING   - o %BOOLTYPE>
  1193. <!ELEMENT LOSTSYNC          - o %BOOLTYPE>
  1194. <!ELEMENT SYNCERROR         - o %ERRORTYPE>
  1195. <!ELEMENT URL               - o %URLTYPE>
  1196. <!ELEMENT URL2              - o %URL2TYPE>
  1197. <!ELEMENT INCIMAGES     - o %BOOLTYPE>
  1198. <!-- Name & Address-related fields used in several messages -->
  1199. <!ELEMENT FIRSTNAME     - o %GENNAMETYPE>
  1200. <!ELEMENT MIDDLENAME    - o %GENNAMETYPE>
  1201. <!ELEMENT LASTNAME      - o %GENNAMETYPE>
  1202. <!--  Payees address lines (1 or more) -->
  1203. <!ELEMENT ADDR1     - o %ADDRESSTYPE>           
  1204. <!ELEMENT ADDR2     - o %ADDRESSTYPE>           
  1205. <!ELEMENT ADDR3     - o %ADDRESSTYPE>           
  1206. <!--  Payees city  -->
  1207. <!ELEMENT CITY      - o %ADDRESSTYPE>           
  1208. <!--  Payees state -->
  1209. <!ELEMENT STATE     - o %STATETYPE>           
  1210. <!--  Zip code -->
  1211. <!ELEMENT POSTALCODE        - o %ZIPTYPE>           
  1212. <!--  Payees country -->
  1213. <!ELEMENT COUNTRY   - o %COUNTRYTYPE>   
  1214.     
  1215. <!ELEMENT DAYPHONE      - o %PHONETYPE>
  1216. <!ELEMENT EVEPHONE      - o %PHONETYPE>
  1217. <!ELEMENT EMAIL         - o %SHORTMSGTYPE>
  1218. <!-- ============================================================================= -->
  1219. <!--            Common between banking, billpay and/or investments                 -->
  1220. <!-- ============================================================================= -->
  1221. <!-- Bank account -->
  1222. <!-- OFX 1.5 -->
  1223. <!-- CHANGED ACCTTYPE TO (ACCTTYPE|ACCTTYPE2) -->
  1224. <!ELEMENT BANKACCTFROM - - (BANKID , BRANCHID? , ACCTID ,
  1225.                                         (ACCTTYPE|ACCTTYPE2) , ACCTKEY?)>
  1226. <!--#ELEMENT BANKACCTFROM #Link(ACCTTYPE,(SIGNUPMSGSRQV1 | BANKMSGSRQV1 | INTERXFERMSGSRQV1 | 
  1227. WIREXFERMSGSRQV1 | BILLPAYMSGSRQV1 | INVSTMTMSGSRQV1 | 
  1228. SIGNUPMSGSRSV1 | BANKMSGSRSV1 | INTERXFERMSGSRSV1 | WIREXFERMSGSRSV1 |
  1229. BILLPAYMSGSRSV1 | INVSTMTMSGSRSV1))-->
  1230. <!--#ELEMENT BANKACCTFROM #Link(ACCTTYPE2,(SIGNUPMSGSRQV2 | BANKMSGSRQV2 | INTERXFERMSGSRQV2 | 
  1231. WIREXFERMSGSRQV2 | BILLPAYMSGSRQV2 | INVSTMTMSGSRQV2 | PRESDIRMSGSRQV1 | PRESDLVMSGSRQV1 |
  1232. SIGNUPMSGSRSV2 | BANKMSGSRSV2 | INTERXFERMSGSRSV2 | WIREXFERMSGSRSV2 |
  1233. BILLPAYMSGSRSV2 | INVSTMTMSGSRSV2 | PRESDIRMSGSRSV1 | PRESDLVMSGSRSV1))-->
  1234. <!-- V2 adds extbankacctto for international only -->
  1235. <!-- OFX 1.5 -->
  1236. <!-- ADDED EXTBANKACCTTO -->
  1237. <!-- CHANGED ACCTTYPE TO (ACCTTYPE|ACCTTYPE2) -->
  1238. <!ELEMENT BANKACCTTO - - (BANKID , BRANCHID? , ACCTID ,
  1239.                                         (ACCTTYPE|ACCTTYPE2) , ACCTKEY?, EXTBANKACCTTO?)>
  1240. <!--#ELEMENT BANKACCTTO #Link(ACCTTYPE,(SIGNUPMSGSRQV1 | BANKMSGSRQV1 | INTERXFERMSGSRQV1 | 
  1241. WIREXFERMSGSRQV1 | BILLPAYMSGSRQV1 | INVSTMTMSGSRQV1 | 
  1242. SIGNUPMSGSRSV1 | BANKMSGSRSV1 | INTERXFERMSGSRSV1 | WIREXFERMSGSRSV1 |
  1243. BILLPAYMSGSRSV1 | INVSTMTMSGSRSV1))-->
  1244. <!--#ELEMENT BANKACCTTO #Link(ACCTTYPE2,(SIGNUPMSGSRQV2 | BANKMSGSRQV2 | INTERXFERMSGSRQV2 | 
  1245. WIREXFERMSGSRQV2 | BILLPAYMSGSRQV2 | INVSTMTMSGSRQV2 | PRESDIRMSGSRQV1 | PRESDLVMSGSRQV1 |
  1246. SIGNUPMSGSRSV2 | BANKMSGSRSV2 | INTERXFERMSGSRSV2 | WIREXFERMSGSRSV2 |
  1247. BILLPAYMSGSRSV2 | INVSTMTMSGSRSV2 | PRESDIRMSGSRSV1 | PRESDLVMSGSRSV1))-->
  1248. <!--#ELEMENT BANKACCTTO #Link(EXTBANKACCTTO,(SIGNUPMSGSRQV2 | BANKMSGSRQV2 | INTERXFERMSGSRQV2 | 
  1249. WIREXFERMSGSRQV2 | BILLPAYMSGSRQV2 | INVSTMTMSGSRQV2 | PRESDIRMSGSRQV1 | PRESDLVMSGSRQV1 |
  1250. SIGNUPMSGSRSV2 | BANKMSGSRSV2 | INTERXFERMSGSRSV2 | WIREXFERMSGSRSV2 |
  1251. BILLPAYMSGSRSV2 | INVSTMTMSGSRSV2 | PRESDIRMSGSRSV1 | PRESDLVMSGSRSV1))-->
  1252. <!-- Credit card account -->
  1253. <!ELEMENT (CCACCTFROM,CCACCTTO) - - (ACCTID , ACCTKEY?)>
  1254. <!-- extbankacctto for international only, v2 only, CHE, DEU or ITA only -->
  1255. <!-- OFX 1.5 -->
  1256. <!-- NEW Aggregate -->
  1257. <!ELEMENT EXTBANKACCTTO - - (BANKNAME?, BANKBRANCH?, BANKCITY?, BANKPOSTALCODE?, CHE.PTTACCTID?)>
  1258. <!ELEMENT BANKNAME          - o     %GENNAMETYPE>
  1259. <!ELEMENT BANKBRANCH        - o     %GENNAMETYPE>
  1260. <!ELEMENT BANKCITY          - o     %ADDRESSTYPE>
  1261. <!ELEMENT BANKPOSTALCODE    - o     %ZIPTYPE>
  1262. <!ELEMENT CHE.PTTACCTID     - o     %BANKIDTYPE>
  1263. <!-- Routing & transit number -->
  1264. <!ELEMENT BANKID            - o     %BANKIDTYPE>
  1265. <!-- Bank identifier for international banks -->
  1266. <!ELEMENT BRANCHID          - o     %ACCTIDTYPE>
  1267. <!-- Account number -->
  1268. <!ELEMENT ACCTID            - o %ACCTIDTYPE>
  1269. <!-- Type of account.  -->
  1270. <!ELEMENT ACCTTYPE          - o %ACCOUNTENUM>
  1271. <!-- OFX 1.5 -->
  1272. <!-- ADDED ACCTTYPE2 -->
  1273. <!ELEMENT ACCTTYPE2         - o %ACCOUNTENUM2>
  1274. <!-- Checksum for international banks -->
  1275. <!ELEMENT ACCTKEY           - o %ACCTIDTYPE>
  1276. <!-- User account number for a merchant -->
  1277. <!ELEMENT PAYACCT           - o %IDTYPE>
  1278. <!--
  1279.  If present, this is the FITID of a previously sent transaction that is corrected by this record.
  1280.  This transaction replaces or deletes the transaction that it corrects.
  1281. -->
  1282. <!ELEMENT CORRECTFITID      - o %FITIDTYPE>
  1283. <!--
  1284.  Actions can be REPLACE or DELETE.
  1285.  REPLACE replaces the transaction referenced by CORRECTFITID; DELETE deletes it.
  1286. -->
  1287. <!ELEMENT CORRECTACTION     - o     %CORRECTIVEACTENUM>
  1288. <!-- Payee name or description -->
  1289. <!ELEMENT NAME              - o %GENNAMETYPE>
  1290. <!-- Extra information (not in <NAME>), A-255 -->
  1291. <!ELEMENT MEMO      - o     %MSGTYPE>       
  1292. <!-- OFX 1.5 -->
  1293. <!-- NEW Type, Only used in V2 message sets -->
  1294. <!-- Extra information (not in <NAME>), A-390 -->
  1295. <!ELEMENT MEMO2     - o     %MEMO2TYPE>       
  1296. <!-- Marketing information -->
  1297. <!ELEMENT MKTGINFO  - o %INFOTYPE>
  1298. <!-- Include flag -->
  1299. <!ELEMENT INCLUDE  - o (%BOOLTYPE;) >
  1300. <!-- ============================================================================= -->
  1301. <!--            Common amounts                                                     -->
  1302. <!-- ============================================================================= -->
  1303. <!-- Balance amount -->
  1304. <!ELEMENT BALAMT - o        %AMTTYPE>
  1305. <!-- Amount of transaction -->
  1306. <!ELEMENT TRNAMT    - o     %AMTTYPE>
  1307. <!-- ============================================================================= -->
  1308. <!--            Common dates                                                       -->
  1309. <!-- ============================================================================= -->
  1310. <!--        Date funds are available -->
  1311. <!ELEMENT DTDUE     - o %DTTMTYPE>
  1312. <!-- Balance date -->
  1313. <!ELEMENT DTASOF    - o     %DTTMTYPE>
  1314. <!-- Value date, not used in US -->
  1315. <!ELEMENT DTAVAIL   - o     %DTTMTYPE>
  1316. <!-- ============================================================================= -->
  1317. <!--        Recurring models and instances                                         -->
  1318. <!-- ============================================================================= -->
  1319. <!-- If the response is generated by a recurring model, this ID references it -->
  1320. <!ELEMENT RECSRVRTID        - o     %SRVRIDTYPE>    
  1321. <!-- OFX 1.5 -->
  1322. <!-- ADDED RECSRVRTID2 OF UUIDTYPE -->
  1323. <!ELEMENT RECSRVRTID2       - o     %UUIDTYPE>    
  1324. <!-- Recurring Instructions aggregate -->
  1325. <!ELEMENT RECURRINST - - (NINSTS?, FREQ)>
  1326. <!-- Number of instances. If this tag is omitted, the schedule is open-ended -->
  1327. <!ELEMENT NINSTS    - o     %NINSTSTYPE>
  1328. <!-- Frequency -->
  1329. <!ELEMENT FREQ      - o     %FREQENUM>
  1330. <!--
  1331.  Modify pending flag, boolean
  1332.  Note: if this flag is set, the server should modify pending as well as future transfers.
  1333. -->
  1334. <!ELEMENT MODPENDING        - o     %BOOLTYPE>
  1335. <!--
  1336.  Cancel pending flag, boolean
  1337.  Note: if this flag is set, the server should cancel pending as well as future transfers.
  1338. -->
  1339. <!ELEMENT CANPENDING        - o     %BOOLTYPE>
  1340. <!-- International -->
  1341. <!ELEMENT LANGUAGE  - o %LANGUAGEENUM>
  1342. <!ELEMENT (CURRENCY, ORIGCURRENCY)  - - (CURRATE , CURSYM)>
  1343. <!ELEMENT CURSYM        - o %CURRENCYENUM>
  1344. <!ELEMENT CURRATE       - o %RATETYPE>
  1345. <!ELEMENT CURDEF        - o %CURRENCYENUM>
  1346. <!-- ============================================================================= -->
  1347. <!--            Common Profile Stuff                                               -->
  1348. <!-- ============================================================================= -->
  1349. <!--    Recurring transfers and payments -->
  1350. <!--    Supports recurring -->
  1351. <!ELEMENT CANRECUR  - o %BOOLTYPE>
  1352. <!--    Can modify recurring models -->
  1353. <!ELEMENT CANMODMDLS        - o %BOOLTYPE>
  1354. <!-- Number of days prior to processing that server makes a recurring transaction available to the client -->
  1355. <!ELEMENT MODELWND  - o     %DAYSPANTYPE>       
  1356. <!-- supports value date, dtavail (should be N in US) -->
  1357. <!ELEMENT SUPPORTDTAVAIL - o    %BOOLTYPE>      
  1358. <!-- Day where processing is unavailable (MONDAY, TUESDAY, etc) -->
  1359. <!ELEMENT PROCDAYSOFF       - o     %DAYSENUM>       
  1360. <!-- Cut off time for day's processing -->
  1361. <!ELEMENT PROCENDTM         - o     %TMTYPE>    
  1362. <!-- supports delivery of images as multi-part MIME -->
  1363. <!ELEMENT CANSUPPORTIMAGES    - o   %BOOLTYPE>    
  1364. <!-- supports GROUPID transactions -->
  1365. <!ELEMENT CANSUPPORTGROUPID    - o   %BOOLTYPE>    
  1366. <!-- supports updating PRESNAMEADDRESS on the server using SVCCHG in ACCTRQ -->
  1367. <!ELEMENT CANUPDATEPRESNAMEADDRESS    - o   %BOOLTYPE>