home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PC & Mediji 2002 March
/
PCM_0203.iso
/
MEDIA
/
DEMO
/
M10USWEB.exe
/
RCDATA
/
CABINET
/
money.cab
/
msfdpb.dll
/
M99DTD
/
11
< prev
next >
Wrap
Text File
|
2001-07-25
|
72KB
|
2,142 lines
<!DOCTYPE OFX [
<!--
$Revision: 1.02 $
$Date: 15 May 1997 15:59:28 $
Open Financial Exchange DTD - main module
Defines common types and overall OFX structure
Includes (via entity refs) all other service modules
Copyright 1997 CheckFree Corp., Intuit Inc., Microsoft Corp. All rights reserved
-->
<!--
Changes by TerryZ from original:
- ACCTINFOMACRO - removed parenthesis from definition (messes up build)
- MSGSETMACRO - removed parenthesis from definition (messes up build)
- SubAcctFund - removed parens from entity reference - messes up determination of whether
the element is a base element or not
- Include - removed parens from entity reference - messes up determination of whether
the element is a base element or not
-->
<!ENTITY amp "&">
<!ENTITY lt "<">
<!ENTITY gt ">">
<!-- ============================================================================= -->
<!-- ENTITIES - Extensions
This entity allows users of this DTD to add new message sets
to the DTD.
-->
<!-- ============================================================================= -->
<!-- Add extra xxxMSGSETRQVn here -->
<!ENTITY % EXTRARQMSGSETS "">
<!-- Add extra xxxMSGSETRSVn here -->
<!ENTITY % EXTRARSMSGSETS "">
<!-- Add extra XXXMSGSET here -->
<!ENTITY % EXTRAMSGSETS "">
<!-- ============================================================================= -->
<!-- ENTITIES - types
This section defines entities as 'types' for all
primitive element values. This is the only place
that #PCDATA should appear.
-->
<!-- ============================================================================= -->
<!-- Server ID : encoding for <TOKEN>'s, <SERVERTID>'s, etc -->
<!ENTITY % SRVRIDTYPE "(#PCDATA)" >
<!-- UUID : a universal ID , up to 36 char hexadecimal -->
<!ENTITY % UUIDTYPE "(#PCDATA)" >
<!-- Character string data -->
<!ENTITY % STRTYPE "(#PCDATA)">
<!-- URL -->
<!ENTITY % URLTYPE "(#PCDATA)">
<!-- Integer -->
<!ENTITY % INTTYPE "(#PCDATA)">
<!-- Rate, percentage -->
<!ENTITY % RATETYPE "(#PCDATA)">
<!-- Current Amount: Used for specifying an amount.
may be signed; comma or period for decimal point
-->
<!ENTITY % AMTTYPE "(#PCDATA)">
<!ENTITY % UNITPRICETYPE "(#PCDATA)">
<!-- Date and Time: Used for specifying
the date and time. All date-time pairs
are based on local time of the server or client.
-->
<!ENTITY % DTTMTYPE "(#PCDATA)">
<!--
Boolean : Y/N
-->
<!ENTITY % BOOLTYPE "(#PCDATA)">
<!--
a general purpose identifier type
-->
<!ENTITY % IDTYPE "(#PCDATA)">
<!-- ============================================================================= -->
<!-- ENTITIES - macros
This section defines macros used in one or more modules
where a new level of aggregation was not desired but
common structure is present
-->
<!-- ============================================================================= -->
<!-- Sync macros: all sync requests/responses have same form, but
have own name. Although we could use the multiple-element syntax and put
them all here, we'd rather keep service-specific names in the service files.
Thus, we have a macro here that is trivially referenced in each service module -->
<!ENTITY % SYNCRQMACRO "((TOKEN | TOKENONLY | REFRESH )
, REJECTIFMISSING)" >
<!ENTITY % SYNCRSMACRO "(TOKEN, LOSTSYNC?)">
<!-- Transaction Macro: all transaction requests have same form
but own name. Didn't want to create a new sub-aggregate
to hold these elements so use a macro to incorporate them
into each XXXTRNRQ and XXXTRNRS -->
<!ENTITY % TRNRQMACRO "(TRNUID , CLTCOOKIE?, TAN?)">
<!ENTITY % TRNRSMACRO "(TRNUID , STATUS , CLTCOOKIE?)">
<!-- Account from and account info: if you add a new service and it adds
a specific account from or account info aggregate, add it here so it will be
known to aggregates such as the account info request -->
<!ENTITY % ACCTFROMMACRO "(BANKACCTFROM | CCACCTFROM | INVACCTFROM)">
<!ENTITY % ACCTTOMACRO "(BANKACCTTO | CCACCTTO | INVACCTTO)">
<!ENTITY % ACCTINFOMACRO "BANKACCTINFO | CCACCTINFO | BPACCTINFO | INVACCTINFO">
<!-- Profile message set macro
Each of the XXXMSGSET tags need to be listed here
Referenced in oxprof MSGSETLIST element -->
<!ENTITY % MSGSETMACRO "SIGNONMSGSET?, SIGNUPMSGSET?, BANKMSGSET?, CREDITCARDMSGSET?, INVSTMTMSGSET?, INTERXFERMSGSET?, WIREXFERMSGSET?, BILLPAYMSGSET?, EMAILMSGSET?, SECLISTMSGSET?, PROFMSGSET? %EXTRAMSGSETS">
<!-- ============================================================================= -->
<!-- 'INCLUDES'
This section incorporates each service dtd by
defining a system entity that points to that file,
then referencing it.
Note: this must come after all ENTITY declarations used by
the service module have been defined.
-->
<!-- ============================================================================= -->
<!--
$Revision: 1.1 $
$Date: 04 Apr 1997 15:59:36 $
Open Financial Exchange DTD - signon module
Copyright 1997 CheckFree Corp., Intuit Inc., Microsoft Corp. All rights reserved
-->
<!-- Message set -->
<!-- Different from most: only one sonrq and at most one
pin change allowed -->
<!ELEMENT SIGNONMSGSRQV1 - - (SONRQ , PINCHTRNRQ?, CHALLENGETRNRQ?)>
<!ELEMENT SIGNONMSGSRSV1 - - (SONRS , PINCHTRNRS?, CHALLENGETRNRS?)>
<!-- Signon message set profile entry -->
<!ELEMENT SIGNONMSGSET - - (SIGNONMSGSETV1)>
<!ELEMENT SIGNONMSGSETV1 - - (MSGSETCORE)>
<!-- Transactions -->
<!ELEMENT PINCHTRNRQ - - (%TRNRQMACRO , PINCHRQ)>
<!ELEMENT CHALLENGETRNRQ - - (%TRNRQMACRO , CHALLENGERQ)>
<!ELEMENT PINCHTRNRS - - (%TRNRSMACRO , PINCHRS?)>
<!ELEMENT CHALLENGETRNRS - - (%TRNRSMACRO , CHALLENGERS?)>
<!-- Signon Request and Response -->
<!ELEMENT SONRQ - - (DTCLIENT ,
((USERID , USERPASS) | USERKEY),
GENUSERKEY? , LANGUAGE ,
FI? , SESSCOOKIE? , APPID , APPVER)>
<!ELEMENT FI - - (ORG , FID?)>
<!ELEMENT ORG - o %STRTYPE>
<!ELEMENT FID - o %STRTYPE>
<!ELEMENT SESSCOOKIE - o %STRTYPE>
<!ELEMENT SONRS - - (STATUS , DTSERVER , USERKEY? ,
TSKEYEXPIRE? , LANGUAGE ,
DTPROFUP? , DTACCTUP? , FI?, SESSCOOKIE?)>
<!-- Pin Change request and response -->
<!ELEMENT PINCHRQ - - (USERID , NEWUSERPASS)>
<!ELEMENT PINCHRS - - (USERID , DTCHANGED?)>
<!ELEMENT NEWUSERPASS - o %STRTYPE>
<!ELEMENT DTCHANGED - o %DTTMTYPE>
<!-- Challenge request and response -->
<!ELEMENT CHALLENGERQ - - (USERID, FICERTID?)>
<!ELEMENT CHALLENGERS - - (USERID , NONCE, FICERTID)>
<!ELEMENT NONCE - o %STRTYPE>
<!ELEMENT FICERTID - o %IDTYPE>
<!--
$Revision: 1.5 $
$Date: 18 Apr 1997 17:36:24 $
Open Financial Exchange DTD - banking module
Copyright 1997 CheckFree Corp., Intuit Inc., Microsoft Corp. All rights reserved
-->
<!-- ============================================================================= -->
<!-- Message Entrys for Message Sets -->
<!-- ============================================================================= -->
<!ELEMENT BANKMSGSET - - (BANKMSGSETV1)>
<!ELEMENT CREDITCARDMSGSET - - (CREDITCARDMSGSETV1)>
<!ELEMENT INTERXFERMSGSET - - (INTERXFERMSGSETV1)>
<!ELEMENT WIREXFERMSGSET - - (WIREXFERMSGSETV1)>
<!-- ============================================================================= -->
<!-- Message Set Profile Data -->
<!-- ============================================================================= -->
<!-- Banking Message Set -->
<!ELEMENT BANKMSGSETV1 - - (MSGSETCORE , INVALIDACCTTYPE* , CLOSINGAVAIL , XFERPROF? ,
STPCHKPROF? , EMAILPROF)>
<!-- Credit Card Message Set -->
<!ELEMENT CREDITCARDMSGSETV1 - - (MSGSETCORE , CLOSINGAVAIL)>
<!-- Interbank Transfer Message Set -->
<!ELEMENT INTERXFERMSGSETV1 - - (MSGSETCORE , XFERPROF , CANBILLPAY, CANCELWND , DOMXFERFEE ,
INTLXFERFEE)>
<!-- Wire Transfer Message Set -->
<!ELEMENT WIREXFERMSGSETV1 - - (MSGSETCORE , PROCDAYSOFF* , PROCENDTM , CANSCHED , DOMXFERFEE ,
INTLXFERFEE)>
<!ELEMENT XFERPROF - - (PROCDAYSOFF* , PROCENDTM , CANSCHED , CANRECUR , CANMODXFERS ,
CANMODMDLS , MODELWND, DAYSWITH, DFLTDAYSTOPAY)>
<!ELEMENT STPCHKPROF - - (PROCDAYSOFF* , PROCENDTM , CANUSERANGE , CANUSEDESC, STPCHKFEE)>
<!ELEMENT EMAILPROF - - (CANEMAIL , CANNOTIFY)>
<!-- Can schedule transfers -->
<!ELEMENT CANSCHED - o %BOOLTYPE>
<!-- Can modify pending transfers -->
<!ELEMENT CANMODXFERS - o %BOOLTYPE>
<!-- Can use description to stop a check -->
<!ELEMENT CANUSEDESC - o %BOOLTYPE>
<!-- Can use range to stop checks -->
<!ELEMENT CANUSERANGE - o %BOOLTYPE>
<!-- Default stop check fee -->
<!ELEMENT STPCHKFEE - o %AMTTYPE>
<!-- Can handle email -->
<!ELEMENT CANEMAIL - o %BOOLTYPE>
<!-- Can send notifications -->
<!ELEMENT CANNOTIFY - o %BOOLTYPE>
<!-- Unsupported account types -->
<!ELEMENT INVALIDACCTTYPE - o %STRTYPE>
<!-- Can return closing statement info -->
<!ELEMENT CLOSINGAVAIL - o %BOOLTYPE>
<!-- Can use interbank transfers for bill pay -->
<!ELEMENT CANBILLPAY - o %BOOLTYPE>
<!-- Number of days after which a transfer is processed that it can be canceled -->
<!ELEMENT CANCELWND - o %INTTYPE>
<!-- Fee for sending a domestic transfer transfer -->
<!ELEMENT DOMXFERFEE - o %INTTYPE>
<!-- Fee for sending an international transfer -->
<!ELEMENT INTLXFERFEE - o %INTTYPE>
<!-- ============================================================================= -->
<!-- Message Sets -->
<!-- ============================================================================= -->
<!-- Banking Messages Request Sets and their contained TRN requests -->
<!ELEMENT BANKMSGSRQV1 - - ((STMTTRNRQ | STMTENDTRNRQ | INTRATRNRQ | RECINTRATRNRQ |
STPCHKTRNRQ | BANKMAILTRNRQ | BANKMAILSYNCRQ |
STPCHKSYNCRQ | INTRASYNCRQ | RECINTRASYNCRQ)+) >
<!ELEMENT CREDITCARDMSGSRQV1 - - ((CCSTMTTRNRQ | CCSTMTENDTRNRQ)+)>
<!ELEMENT INTERXFERMSGSRQV1 - - ((INTERTRNRQ | RECINTERTRNRQ | INTERSYNCRQ | RECINTERSYNCRQ)+)>
<!ELEMENT WIREXFERMSGSRQV1 - - ((WIRETRNRQ | WIRESYNCRQ)+)>
<!-- Banking Message Set -->
<!ELEMENT STMTTRNRQ - - (%TRNRQMACRO , STMTRQ)>
<!ELEMENT STMTENDTRNRQ - - (%TRNRQMACRO , STMTENDRQ)>
<!ELEMENT STPCHKTRNRQ - - (%TRNRQMACRO , STPCHKRQ)>
<!ELEMENT INTRATRNRQ - - (%TRNRQMACRO , (INTRARQ | INTRAMODRQ | INTRACANRQ))>
<!ELEMENT RECINTRATRNRQ - - (%TRNRQMACRO , (RECINTRARQ | RECINTRAMODRQ | RECINTRACANRQ))>
<!ELEMENT BANKMAILTRNRQ - - (%TRNRQMACRO , BANKMAILRQ)>
<!-- Credit Card Message Set -->
<!ELEMENT CCSTMTTRNRQ - - (%TRNRQMACRO , CCSTMTRQ)>
<!ELEMENT CCSTMTENDTRNRQ - - (%TRNRQMACRO , CCSTMTENDRQ)>
<!-- Interbank Transfer Message Set -->
<!ELEMENT INTERTRNRQ - - (%TRNRQMACRO , (INTERRQ | INTERMODRQ | INTERCANRQ))>
<!ELEMENT RECINTERTRNRQ - - (%TRNRQMACRO , (RECINTERRQ | RECINTERMODRQ | RECINTERCANRQ))>
<!-- Wire Transfer Message Set -->
<!ELEMENT WIRETRNRQ - - (%TRNRQMACRO , (WIRERQ | WIRECANRQ))>
<!-- Banking Messages Response Sets and their contained TRN responses -->
<!ELEMENT BANKMSGSRSV1 - - ((STMTTRNRS | STMTENDTRNRS | INTRATRNRS | RECINTRATRNRS |
STPCHKTRNRS | BANKMAILTRNRS | BANKMAILSYNCRS |
STPCHKSYNCRS | INTRASYNCRS | RECINTRASYNCRS)+)>
<!ELEMENT CREDITCARDMSGSRSV1 - - ((CCSTMTTRNRS | CCSTMTENDTRNRS)+)>
<!ELEMENT INTERXFERMSGSRSV1 - - ((INTERTRNRS | RECINTERTRNRS | INTERSYNCRS | RECINTERSYNCRS)+)>
<!ELEMENT WIREXFERMSGSRSV1 - - ((WIRETRNRS | WIRESYNCRS)+)>
<!-- Banking TRN responses -->
<!-- Banking Message Set -->
<!ELEMENT STMTTRNRS - - (%TRNRSMACRO , STMTRS?)>
<!ELEMENT STMTENDTRNRS - - (%TRNRSMACRO , STMTENDRS?)>
<!ELEMENT STPCHKTRNRS - - (%TRNRSMACRO , STPCHKRS?)>
<!ELEMENT INTRATRNRS - - (%TRNRSMACRO , (INTRARS | INTRAMODRS | INTRACANRS)?)>
<!ELEMENT RECINTRATRNRS - - (%TRNRSMACRO , (RECINTRARS | RECINTRAMODRS | RECINTRACANRS)?)>
<!ELEMENT BANKMAILTRNRS - - (%TRNRSMACRO , (BANKMAILRS | CHKMAILRS | DEPMAILRS)?)>
<!-- Credit Card Message Set -->
<!ELEMENT CCSTMTTRNRS - - (%TRNRSMACRO , CCSTMTRS?)>
<!ELEMENT CCSTMTENDTRNRS - - (%TRNRSMACRO , CCSTMTENDRS?)>
<!-- Interbank Transfer Message Set -->
<!ELEMENT INTERTRNRS - - (%TRNRSMACRO , (INTERRS | INTERMODRS | INTERCANRS)?)>
<!ELEMENT RECINTERTRNRS - - (%TRNRSMACRO , (RECINTERRS | RECINTERMODRS | RECINTERCANRS)?)>
<!-- Wire Transfer Message Set -->
<!ELEMENT WIRETRNRS - - (%TRNRSMACRO , (WIRERS | WIRECANRS)?)>
<!-- ============================================================================= -->
<!-- Requests -->
<!-- ============================================================================= -->
<!-- statement request -->
<!ELEMENT STMTRQ - - (BANKACCTFROM , INCTRAN?)>
<!-- credit card statement request -->
<!ELEMENT CCSTMTRQ - - (CCACCTFROM , INCTRAN?)>
<!-- closing statement request request -->
<!ELEMENT STMTENDRQ - - (BANKACCTFROM , DTSTART? , DTEND?)>
<!-- credit card closing statement request -->
<!ELEMENT CCSTMTENDRQ - - (CCACCTFROM , DTSTART? , DTEND?)>
<!-- stop check request -->
<!ELEMENT STPCHKRQ - - (BANKACCTFROM , (CHKRANGE|CHKDESC))>
<!-- intrabank transfer request -->
<!ELEMENT INTRARQ - - (XFERINFO)>
<!-- intrabank transfer modification request -->
<!ELEMENT INTRAMODRQ - - (SRVRTID , XFERINFO)>
<!-- intrabank transfer cancellation request -->
<!ELEMENT INTRACANRQ - - (SRVRTID)>
<!-- interbank transfer request -->
<!ELEMENT INTERRQ - - (XFERINFO)>
<!-- interbank transfer modification request -->
<!ELEMENT INTERMODRQ - - (SRVRTID , XFERINFO )>
<!-- interbank transfer cancellation request -->
<!ELEMENT INTERCANRQ - - (SRVRTID)>
<!-- wire transfer request -->
<!ELEMENT WIRERQ - - (BANKACCTFROM , WIREBENEFICIARY , WIREDESTBANK? , TRNAMT , DTDUE? , PAYINSTRUCT?)>
<!-- wire transfer cancellation request -->
<!ELEMENT WIRECANRQ - - (SRVRTID)>
<!-- recurring intra transfer request -->
<!ELEMENT RECINTRARQ - - (RECURRINST , INTRARQ)>
<!-- recurring intra transfer modification request -->
<!ELEMENT RECINTRAMODRQ - - (RECSRVRTID , RECURRINST , INTRARQ , MODPENDING)>
<!-- recurring intra transfer cancellation request -->
<!ELEMENT RECINTRACANRQ - - (RECSRVRTID , CANPENDING)>
<!-- recurring inter transfer request -->
<!ELEMENT RECINTERRQ - - (RECURRINST , INTERRQ)>
<!-- recurring inter transfer modification request -->
<!ELEMENT RECINTERMODRQ - - (RECSRVRTID , RECURRINST , INTERRQ , MODPENDING)>
<!-- recurring inter transfer cancellation request -->
<!ELEMENT RECINTERCANRQ - - (RECSRVRTID , CANPENDING)>
<!-- bank mail request -->
<!ELEMENT BANKMAILRQ - - ((BANKACCTFROM | CCACCTFROM) , MAIL)>
<!-- ============================================================================= -->
<!-- Synchronization -->
<!-- ============================================================================= -->
<!-- stop check synchronization request -->
<!ELEMENT STPCHKSYNCRQ - - (%SYNCRQMACRO , BANKACCTFROM, STPCHKTRNRQ*)>
<!-- intrabank transfer sychronization request -->
<!ELEMENT INTRASYNCRQ - - (%SYNCRQMACRO , BANKACCTFROM, INTRATRNRQ*)>
<!-- interbank transfer synchronization request -->
<!ELEMENT INTERSYNCRQ - - (%SYNCRQMACRO , BANKACCTFROM, INTERTRNRQ*)>
<!-- wire transfer synchronization request -->
<!ELEMENT WIRESYNCRQ - - (%SYNCRQMACRO , BANKACCTFROM, WIRETRNRQ*)>
<!--
recurring intra transfer synchronization request,
for transactions <RECINTRARQ>,<RECINTRAMODRQ>, and/or <RECINTRACANRQ>
-->
<!ELEMENT RECINTRASYNCRQ - - (%SYNCRQMACRO, BANKACCTFROM, RECINTRATRNRQ*)>
<!--
recurring inter transfer synchronization request,
for transactions <RECINTERRQ>,<RECINTERMODRQ>, and/or <RECINTERCANRQ>
-->
<!ELEMENT RECINTERSYNCRQ - - (%SYNCRQMACRO, BANKACCTFROM, RECINTERTRNRQ*)>
<!-- bank mail synchronization request -->
<!ELEMENT BANKMAILSYNCRQ - - (%SYNCRQMACRO , INCIMAGES, USEHTML, (BANKACCTFROM | CCACCTFROM), BANKMAILTRNRQ*)>
<!-- ============================================================================= -->
<!-- Responses -->
<!-- ============================================================================= -->
<!-- statement response -->
<!ELEMENT STMTRS - - (CURDEF , BANKACCTFROM , BANKTRANLIST? , LEDGERBAL? , AVAILBAL? , MKTGINFO?)>
<!-- credit card statement response -->
<!ELEMENT CCSTMTRS - - (CURDEF , CCACCTFROM , BANKTRANLIST? , LEDGERBAL? , AVAILBAL? , MKTGINFO?)>
<!-- closing info response -->
<!ELEMENT STMTENDRS - - (CURDEF , BANKACCTFROM , CLOSING*)>
<!-- credit card closing info response -->
<!ELEMENT CCSTMTENDRS - - (CURDEF , CCACCTFROM , CCCLOSING*)>
<!-- stop check response -->
<!ELEMENT STPCHKRS - - (CURDEF , BANKACCTFROM , STPCHKNUM+,
FEE, FEEMSG)>
<!-- intrabank transfer response -->
<!ELEMENT INTRARS - - (CURDEF , SRVRTID , XFERINFO , (DTXFERPRJ|DTPOSTED)? , RECSRVRTID?, XFERPRCSTS?)>
<!-- intrabank transfer modification response -->
<!ELEMENT INTRAMODRS - - (SRVRTID , XFERINFO , XFERPRCSTS?)>
<!-- intrabank transfer transfer cancellation response -->
<!ELEMENT INTRACANRS - - (SRVRTID)>
<!-- interbank transfer response -->
<!ELEMENT INTERRS - - (CURDEF , SRVRTID , XFERINFO,
(DTXFERPRJ|DTPOSTED)? , REFNUM? , RECSRVRTID?, XFERPRCSTS?)>
<!-- interbank transfer modification response -->
<!ELEMENT INTERMODRS - - (SRVRTID , XFERINFO, XFERPRCSTS?)>
<!-- interbank transfer cancellation request -->
<!ELEMENT INTERCANRS - - (SRVRTID)>
<!-- wire transfer response -->
<!ELEMENT WIRERS - - (CURDEF , SRVRTID , BANKACCTFROM , WIREBENEFICIARY ,
WIREDESTBANK? , TRNAMT , DTDUE? , PAYINSTRUCT? , (DTXFERPRJ|DTPOSTED)? , FEE? , CONFMSG?)>
<!-- wire transfer cancellation request -->
<!ELEMENT WIRECANRS - - (SRVRTID)>
<!-- recurring intra transfer response -->
<!ELEMENT RECINTRARS - - (RECSRVRTID , RECURRINST , INTRARS)>
<!-- recurring intra transfer modification request -->
<!ELEMENT RECINTRAMODRS - - (RECSRVRTID , RECURRINST , INTRARS , MODPENDING)>
<!-- recurring intra transfer cancellation response -->
<!ELEMENT RECINTRACANRS - - (RECSRVRTID , CANPENDING)>
<!-- recurring inter transfer response -->
<!ELEMENT RECINTERRS - - (RECSRVRTID , RECURRINST , INTERRS)>
<!-- recurring inter transfer modification request -->
<!ELEMENT RECINTERMODRS - - (RECSRVRTID , RECURRINST , INTERRS , MODPENDING)>
<!-- recurring inter transfer cancellation response -->
<!ELEMENT RECINTERCANRS - - (RECSRVRTID , CANPENDING)>
<!-- bank mail response -->
<!ELEMENT BANKMAILRS - - ((BANKACCTFROM | CCACCTFROM) , MAIL)>
<!-- returned check mail response -->
<!ELEMENT CHKMAILRS - - (BANKACCTFROM , MAIL , CHECKNUM , TRNAMT? , DTUSER? , FEE?)>
<!-- returned deposit mail response -->
<!ELEMENT DEPMAILRS - - (BANKACCTFROM , MAIL , TRNAMT , DTUSER? , FEE?)>
<!-- stop check synchronization request -->
<!ELEMENT STPCHKSYNCRS - - (%SYNCRSMACRO , BANKACCTFROM, STPCHKTRNRS*)>
<!-- intrabank transfer synchronization request -->
<!ELEMENT INTRASYNCRS - - (%SYNCRSMACRO , BANKACCTFROM, INTRATRNRS*)>
<!-- interbank transfer synchronization request -->
<!ELEMENT INTERSYNCRS - - (%SYNCRSMACRO , BANKACCTFROM, INTERTRNRS*)>
<!-- wire transfer synchronization request -->
<!ELEMENT WIRESYNCRS - - (%SYNCRSMACRO , BANKACCTFROM, WIRETRNRS*)>
<!--
recurring intra transfer synchronization request,
for transactions <RECINTRARS>,<RECINTRARS>, and/or <RECINTRACANRS>
-->
<!ELEMENT RECINTRASYNCRS - - (%SYNCRSMACRO , BANKACCTFROM, RECINTRATRNRS*)>
<!--
recurring inter transfer synchronization request,
for transactions <RECINTERRS>,<RECINTERRS>, and/or <RECINTERCANRS>
-->
<!ELEMENT RECINTERSYNCRS - - (%SYNCRSMACRO , BANKACCTFROM, RECINTERTRNRS*)>
<!-- wire transfer synchronization request -->
<!ELEMENT BANKMAILSYNCRS - - (%SYNCRSMACRO , (BANKACCTFROM | CCACCTFROM), BANKMAILTRNRS*)>
<!-- ============================================================================= -->
<!-- Aggregates -->
<!-- ============================================================================= -->
<!-- BANKACCTINFO CCACCTINFO -->
<!ELEMENT BANKACCTINFO - - (BANKACCTFROM ,
SUPTXDL, XFERSRC, XFERDEST, SVCSTATUS)>
<!ELEMENT CCACCTINFO - - (CCACCTFROM ,
SUPTXDL, XFERSRC, XFERDEST, SVCSTATUS)>
<!ELEMENT SUPTXDL - o %BOOLTYPE>
<!ELEMENT XFERSRC - o %BOOLTYPE>
<!ELEMENT XFERDEST - o %BOOLTYPE>
<!--
statement transaction data
-->
<!ELEMENT BANKTRANLIST - - (DTSTART , DTEND , STMTTRN*)>
<!--
Ledger balance
-->
<!ELEMENT LEDGERBAL - - (BALAMT , DTASOF)>
<!--
Available balance
-->
<!ELEMENT AVAILBAL - - (BALAMT , DTASOF)>
<!--
credit card statement information
-->
<!ELEMENT CCCLOSING - - (FITID , DTOPEN? , DTCLOSE , DTNEXT? ,
BALOPEN? , BALCLOSE ,
DTPMTDUE? , MINPMTDUE? ,
FINCHG? , PAYANDCREDIT? , PURANDADV? , DEBADJ? , CREDITLIMIT? ,
DTPOSTSTART , DTPOSTEND , MKTGINFO? ,
(CURRENCY | ORIGCURRENCY)? )>
<!--
non-Credit Card account types
-->
<!ELEMENT CLOSING - - (FITID , DTOPEN? , DTCLOSE , DTNEXT? ,
BALOPEN? , BALCLOSE , BALMIN? ,
DEPANDCREDIT? , CHKANDDEB? , TOTALFEES? , TOTALINT? ,
DTPOSTSTART , DTPOSTEND , MKTGINFO? ,
(CURRENCY | ORIGCURRENCY)? )>
<!-- Opening statement date -->
<!ELEMENT DTOPEN - o %DTTMTYPE>
<!-- Closing statement date -->
<!ELEMENT DTCLOSE - o %DTTMTYPE>
<!-- Closing date of next statement -->
<!ELEMENT DTNEXT - o %DTTMTYPE>
<!-- Opening statement balance -->
<!ELEMENT BALOPEN - o %AMTTYPE>
<!-- Closing statement balance -->
<!ELEMENT BALCLOSE - o %AMTTYPE>
<!-- Payment due date -->
<!ELEMENT DTPMTDUE - o %DTTMTYPE>
<!-- Minimum amount due -->
<!ELEMENT MINPMTDUE - o %AMTTYPE>
<!-- Finance charges -->
<!ELEMENT FINCHG - o %AMTTYPE>
<!-- Total of payments and credits -->
<!ELEMENT PAYANDCREDIT - o %AMTTYPE>
<!-- Total of purchases and cash advance -->
<!ELEMENT PURANDADV - o %AMTTYPE>
<!-- Debit adjustments -->
<!ELEMENT DEBADJ - o %AMTTYPE>
<!-- Current credit limit -->
<!ELEMENT CREDITLIMIT - o %AMTTYPE>
<!-- Minimum balance in statement period -->
<!ELEMENT BALMIN - o %AMTTYPE>
<!-- Total of deposits and credits -->
<!ELEMENT DEPANDCREDIT - o %AMTTYPE>
<!-- Total of checks and debits -->
<!ELEMENT CHKANDDEB - o %AMTTYPE>
<!-- Total fees -->
<!ELEMENT TOTALFEES - o %AMTTYPE>
<!-- Total interest -->
<!ELEMENT TOTALINT - o %AMTTYPE>
<!-- Start date for posted transactions -->
<!ELEMENT DTPOSTSTART - o %DTTMTYPE>
<!-- End date for posted transactions -->
<!ELEMENT DTPOSTEND - o %DTTMTYPE>
<!-- statement transaction aggregate -->
<!ELEMENT STMTTRN - - (TRNTYPE , DTPOSTED , DTUSER? , DTAVAIL? , TRNAMT , FITID ,
(CORRECTFITID , CORRECTACTION)? ,
SRVRTID? , CHECKNUM? , REFNUM? ,
SIC? , PAYEEID? , (NAME | PAYEE)?, (BANKACCTTO | CCACCTTO)?, MEMO? ,
(CURRENCY | ORIGCURRENCY)?)>
<!-- Status of request - see section 5.5.1.4.1 for possible values -->
<!ELEMENT TRNTYPE - o %STRTYPE> <!--TODO: attribute candidate -->
<!-- Date transaction was posted to account -->
<!ELEMENT DTPOSTED - o %DTTMTYPE>
<!-- Date user initiated transaction, if known -->
<!ELEMENT DTUSER - o %DTTMTYPE>
<!-- Date funds are available -->
<!ELEMENT DTAVAIL - o %DTTMTYPE>
<!-- Standard Industrial Code -->
<!ELEMENT SIC - o %INTTYPE>
<!-- Check range aggregate. See section 5.6.1.2.1 -->
<!ELEMENT CHKRANGE - - (CHKNUMSTART , CHKNUMEND?)>
<!-- Check description aggregate. See section 5.6.1.2.2 -->
<!ELEMENT CHKDESC - - (NAME , CHECKNUM? , DTUSER? , TRNAMT?)>
<!-- Start check number -->
<!ELEMENT CHKNUMSTART - o %IDTYPE>
<!-- Ending check number to cancel -->
<!ELEMENT CHKNUMEND - o %IDTYPE>
<!-- Reference number -->
<!ELEMENT REFNUM - o %STRTYPE>
<!-- stopped check item -->
<!ELEMENT STPCHKNUM - - (CHECKNUM , NAME? , DTUSER? , TRNAMT? ,
CHKSTATUS , CHKERROR? , (CURRENCY | ORIGCURRENCY)?)>
<!-- Status code for individual stop check request0 = OK1 = rejected100 = check not found101 = check already posted -->
<!ELEMENT CHKSTATUS - o %INTTYPE> <!-- TODO: attribute? -->
<!-- Further textual error explanation -->
<!ELEMENT CHKERROR - o %STRTYPE>
<!-- Transfer information aggregate -->
<!ELEMENT XFERINFO - - ((BANKACCTFROM | CCACCTFROM) , (BANKACCTTO | CCACCTTO) , TRNAMT , MS.TRNCUR?, DTDUE?)>
<!-- Transfer processing status -->
<!ELEMENT XFERPRCSTS - - (XFERPRCCODE , DTXFERPRC)>
<!-- Special tag for Transaction level currency support -->
<!ELEMENT MS.TRNCUR - o %STRTYPE>
<!-- Transfers processing date; enum for processing date interpretation -->
<!ELEMENT XFERPRCCODE - o %STRTYPE>
<!-- Date transfer is expected to be processed -->
<!ELEMENT DTXFERPRC - o %DTTMTYPE>
<!-- Date transaction is projected for posting to account -->
<!ELEMENT DTXFERPRJ - o %DTTMTYPE>
<!-- Beneficiary of a wire transfer -- >
<!ELEMENT WIREBENEFICIARY - - (NAME , BANKACCTTO , MEMO?)>
<!-- Beneficiary's bank for a wire transfer -- >
<!ELEMENT WIREDESTBANK - - (EXTBANKDESC)>
<!-- Extended description of a bank for a wire transfer -- >
<!ELEMENT EXTBANKDESC - - (NAME , BANKID , (ADDR1,(ADDR2,ADDR3?)?) , CITY , STATE , POSTALCODE , COUNTRY? , PHONE?)>
<!-- Payment instructions for a wire transfer -->
<!ELEMENT PAYINSTRUCT - o %STRTYPE>
<!-- Fee assessed for the transfer -->
<!ELEMENT FEE - o %AMTTYPE>
<!-- Description of fee -->
<!ELEMENT FEEMSG - o %STRTYPE>
<!-- Transfer confirmation message -->
<!ELEMENT CONFMSG - o %STRTYPE>
<!--
$Revision: 1.8 $
$Date: 21 Apr 1997 15:57:56 $
Open Financial Exchange DTD - Payment module
Copyright 1997 CheckFree Corp., Intuit Inc., Microsoft Corp. All rights reserved
-->
<!-- Message Set Wrappers and Profile -->
<!ELEMENT BILLPAYMSGSRQV1 - - ((PAYEETRNRQ | PAYEESYNCRQ)*,
( PMTTRNRQ | RECPMTTRNRQ | PMTINQTRNRQ | PMTMAILTRNRQ |
PMTSYNCRQ | RECPMTSYNCRQ | PMTMAILSYNCRQ)*)>
<!ELEMENT BILLPAYMSGSRSV1 - - ((PAYEETRNRS | PAYEESYNCRS)*,
( PMTTRNRS | RECPMTTRNRS | PMTINQTRNRS | PMTMAILTRNRS |
PMTSYNCRS | RECPMTSYNCRS | PMTMAILSYNCRS)*)>
<!-- -->
<!ELEMENT BILLPAYMSGSET - - (BILLPAYMSGSETV1)>
<!ELEMENT BILLPAYMSGSETV1 - - (MSGSETCORE,
DAYSWITH, DFLTDAYSTOPAY,
XFERDAYSWITH, XFERDFLTDAYSTOPAY,
PROCDAYSOFF*, PROCENDTM,
MODELWND, POSTPROCWND, STSVIAMODS,
PMTBYADDR, PMTBYXFER, PMTBYPAYEEID,
CANADDPAYEE, HASEXTDPMT,
CANMODPMTS, CANMODMDLS, DIFFFIRSTPMT,
DIFFLASTPMT)>
<!ELEMENT DAYSWITH - o %INTTYPE> <!-- number of days before the processing date that funds are withdrawn -->
<!ELEMENT DFLTDAYSTOPAY - o %INTTYPE> <!-- the default number of days to pay -->
<!ELEMENT XFERDAYSWITH - o %INTTYPE> <!-- number of days before the processing date that funds are withdrawn for xfers-->
<!ELEMENT XFERDFLTDAYSTOPAY - o %INTTYPE> <!-- the default number of days to pay for transfers-->
<!ELEMENT POSTPROCWND - o %INTTYPE> <!-- the number of days after a transaction is processed that it is acessible
for status inquiries -->
<!ELEMENT STSVIAMODS - o %BOOLTYPE> <!-- server supports communication of server-initiated payment status changes
via the PMTMODRS -->
<!ELEMENT PMTBYADDR - o %BOOLTYPE> <!-- the payment provider supports payments to payees identified by billing
address, i.e. the PAYEE aggregate -->
<!ELEMENT PMTBYXFER - o %BOOLTYPE> <!-- can pay by transfers -->
<!ELEMENT PMTBYPAYEEID - o %BOOLTYPE> <!-- can pay by user supplied payee IDs -->
<!ELEMENT CANADDPAYEE - o %BOOLTYPE> <!-- user can add payees if no, the user is restricted to payees added to the
users payee list by the payment system -->
<!ELEMENT HASEXTDPMT - o %BOOLTYPE> <!-- supports the EXTDPMT business payment aggregate -->
<!ELEMENT CANMODPMTS - o %BOOLTYPE> <!-- permit modifications to payments, i.e. PMTMODRQ -->
<!ELEMENT DIFFFIRSTPMT - o %BOOLTYPE> <!-- support for specifying a different amount for the first payment
generated by a model -->
<!ELEMENT DIFFLASTPMT - o %BOOLTYPE> <!-- support for specifying a different amount for the last payment generated
by a model -->
<!-- Transactions -->
<!ELEMENT PMTTRNRQ - - (%TRNRQMACRO, (PMTRQ | PMTMODRQ | PMTCANCRQ))>
<!ELEMENT RECPMTTRNRQ - - (%TRNRQMACRO, (RECPMTRQ | RECPMTMODRQ | RECPMTCANCRQ))>
<!ELEMENT PAYEETRNRQ - - (%TRNRQMACRO, (PAYEERQ | PAYEEMODRQ | PAYEEDELRQ))>
<!ELEMENT PMTINQTRNRQ - - (%TRNRQMACRO, PMTINQRQ)>
<!ELEMENT PMTMAILTRNRQ - - (%TRNRQMACRO, PMTMAILRQ)>
<!ELEMENT PMTTRNRS - - (%TRNRSMACRO, (PMTRS | PMTMODRS | PMTCANCRS)?)>
<!ELEMENT RECPMTTRNRS - - (%TRNRSMACRO, (RECPMTRS | RECPMTMODRS | RECPMTCANCRS)?)>
<!ELEMENT PAYEETRNRS - - (%TRNRSMACRO, (PAYEERS | PAYEEMODRS | PAYEEDELRS)?)>
<!ELEMENT PMTINQTRNRS - - (%TRNRSMACRO, PMTINQRS?)>
<!ELEMENT PMTMAILTRNRS - - (%TRNRSMACRO, PMTMAILRS?)>
<!-- ============================================================================= -->
<!-- Requests -->
<!-- ============================================================================= -->
<!-- payment request -->
<!ELEMENT PMTRQ - - (PMTINFO)>
<!-- modification request -->
<!ELEMENT PMTMODRQ - - (SRVRTID, PMTINFO)>
<!-- modification request -->
<!ELEMENT PMTCANCRQ - - (SRVRTID)>
<!-- recurring payment request -->
<!ELEMENT RECPMTRQ - - (RECURRINST, PMTINFO, INITIALAMT?, FINALAMT?)>
<!-- modification request -->
<!ELEMENT RECPMTMODRQ - - (RECSRVRTID, RECURRINST, PMTINFO, INITIALAMT?, FINALAMT?, MODPENDING)>
<!-- cancellation request -->
<!ELEMENT RECPMTCANCRQ - - (RECSRVRTID, CANPENDING)>
<!-- payment status inquiry request -->
<!ELEMENT PMTINQRQ - - (SRVRTID)>
<!-- payee request : add a payee to the payee list -->
<!ELEMENT PAYEERQ - - ((PAYEEID | (PAYEE , BANKACCTTO?)), PAYACCT*)>
<!-- payee modification request -->
<!ELEMENT PAYEEMODRQ - - (PAYEELSTID, (PAYEE , BANKACCTTO?)?, PAYACCT*)>
<!-- payee deletion request -->
<!ELEMENT PAYEEDELRQ - - (PAYEELSTID)>
<!-- ============================================================================= -->
<!-- Responses -->
<!-- ============================================================================= -->
<!-- payment response -->
<!ELEMENT PMTRS - - (SRVRTID, PAYEELSTID, CURDEF, PMTINFO, EXTDPAYEE?,
CHECKNUM?, PMTPRCSTS, RECSRVRTID?)>
<!-- payment modification response -->
<!ELEMENT PMTMODRS - - (SRVRTID, PMTINFO, PMTPRCSTS?)>
<!-- payment modification response -->
<!ELEMENT PMTCANCRS - - (SRVRTID)>
<!-- recurring payment response -->
<!ELEMENT RECPMTRS - - (RECSRVRTID, PAYEELSTID, CURDEF, RECURRINST, PMTINFO, INITIALAMT?, FINALAMT?, EXTDPAYEE?)>
<!-- modification response -->
<!ELEMENT RECPMTMODRS - - (RECSRVRTID, RECURRINST, PMTINFO, INITIALAMT?, FINALAMT?, MODPENDING)>
<!-- recurring payment modification response -->
<!ELEMENT RECPMTCANCRS - - (RECSRVRTID, CANPENDING)>
<!-- payment status inquiry response -->
<!ELEMENT PMTINQRS - - (SRVRTID, PMTPRCSTS, CHECKNUM?)>
<!-- payee response : add a payee to the payee list -->
<!ELEMENT PAYEERS - - (PAYEELSTID, (PAYEE , BANKACCTTO?)?, EXTDPAYEE?, PAYACCT*)>
<!-- payee modification response -->
<!ELEMENT PAYEEMODRS - - (PAYEELSTID, (PAYEE , BANKACCTTO?)?, PAYACCT*, EXTDPAYEE?)>
<!-- payee deletion response -->
<!ELEMENT PAYEEDELRS - - (PAYEELSTID)>
<!-- ============================================================================= -->
<!-- Aggregates -->
<!-- ============================================================================= -->
<!-- BPACCTINFO -->
<!ELEMENT BPACCTINFO - - (BANKACCTFROM, SVCSTATUS)>
<!-- Payment information aggregate, see section 6.2.1.1 -->
<!ELEMENT PMTINFO - - (BANKACCTFROM, TRNAMT, MS.TRNCUR?,
(PAYEEID|PAYEE), PAYEELSTID?, BANKACCTTO?,
EXTDPMT*, PAYACCT,
DTDUE, MEMO?, BILLREFINFO?)>
<!-- Payment processing status -->
<!ELEMENT PMTPRCSTS - - (PMTPRCCODE, DTPMTPRC)>
<!-- Payment processing date; enum for processing date interpretation -->
<!ELEMENT PMTPRCCODE - o %STRTYPE>
<!-- Payment processing date; Interpretation depends on <PMTPRCCODE> -->
<!ELEMENT DTPMTPRC - o %DTTMTYPE>
<!-- billing reference info -->
<!ELEMENT BILLREFINFO - o %STRTYPE>
<!-- Extended Payment aggregate -->
<!-- Either extdpmtdsc or extdpmtinv, or both, but at least one required -->
<!ELEMENT EXTDPMT - - (EXTDPMTFOR?, EXTDPMTCHK?,
((EXTDPMTDSC, EXTDPMTINV?) |
(EXTDPMTINV)))>
<!ELEMENT EXTDPMTINV - - (INVOICE+)>
<!ELEMENT INVOICE - - (INVNO, INVTOTALAMT, INVPAIDAMT,
INVDATE, INVDESC, DISCOUNT?,
ADJUSTMENT?, LINEITEM*)>
<!ELEMENT DISCOUNT - - (DSCRATE, DSCAMT, DSCDATE?, DSCDESC)>
<!ELEMENT ADJUSTMENT - - (ADJNO?, ADJDESC, ADJAMT, ADJDATE?)>
<!ELEMENT LINEITEM - - (LITMAMT, LITMDESC)>
<!ELEMENT EXTDPMTFOR - o %STRTYPE>
<!ELEMENT EXTDPMTCHK - o %INTTYPE>
<!ELEMENT EXTDPMTDSC - - %STRTYPE>
<!ELEMENT INVNO - o %STRTYPE>
<!ELEMENT INVTOTALAMT - o %AMTTYPE>
<!ELEMENT INVPAIDAMT - o %AMTTYPE>
<!ELEMENT INVDATE - o %DTTMTYPE>
<!ELEMENT INVDESC - o %STRTYPE>
<!ELEMENT DSCRATE - o %RATETYPE>
<!ELEMENT DSCAMT - o %AMTTYPE>
<!ELEMENT DSCDATE - o %DTTMTYPE>
<!ELEMENT DSCDESC - o %STRTYPE>
<!ELEMENT ADJNO - o %STRTYPE>
<!ELEMENT ADJDESC - o %STRTYPE>
<!ELEMENT ADJAMT - o %AMTTYPE>
<!ELEMENT ADJDATE - o %DTTMTYPE>
<!ELEMENT LITMAMT - o %AMTTYPE>
<!ELEMENT LITMDESC - o %STRTYPE>
<!-- Initial Amount -->
<!ELEMENT INITIALAMT - o %AMTTYPE>
<!-- Final Amount -->
<!ELEMENT FINALAMT - o %AMTTYPE>
<!-- standard payee -->
<!ELEMENT EXTDPAYEE - - ( (PAYEEID, IDSCOPE, NAME)?, DAYSTOPAY)>
<!-- Server-assigned standard payee ID -->
<!ELEMENT PAYEEID - o %SRVRIDTYPE>
<!-- Payee ID scope enumeration ; currently one of {GLOBAL,USER} -->
<!ELEMENT IDSCOPE - o %STRTYPE>
<!-- Minimum number of days needed to process -->
<!ELEMENT DAYSTOPAY - o %INTTYPE>
<!-- Check number -->
<!ELEMENT CHECKNUM - o %IDTYPE>
<!-- Payee aggregate -->
<!ELEMENT PAYEE - - (NAME, (ADDR1,(ADDR2,ADDR3?)?), CITY, STATE, POSTALCODE, COUNTRY?, PHONE)>
<!-- Server-assigned payee list ID -->
<!ELEMENT PAYEELSTID - o %SRVRIDTYPE>
<!--
synchronization request messages
-->
<!-- payment synchronization request -->
<!ELEMENT PMTSYNCRQ - - (%SYNCRQMACRO, BANKACCTFROM, PMTTRNRQ*)>
<!-- recurring payment synchronization request -->
<!ELEMENT RECPMTSYNCRQ - - (%SYNCRQMACRO, BANKACCTFROM, RECPMTTRNRQ*)>
<!-- payee list synchronization request -->
<!ELEMENT PAYEESYNCRQ - - (%SYNCRQMACRO, PAYEETRNRQ*)>
<!-- bill pay mail sync request -->
<!ELEMENT PMTMAILSYNCRQ - - (%SYNCRQMACRO, INCIMAGES, USEHTML, PMTMAILTRNRQ*)>
<!--
synchronization response messages
-->
<!-- payment synchronization response -->
<!ELEMENT PMTSYNCRS - - (%SYNCRSMACRO, BANKACCTFROM, PMTTRNRS*)>
<!-- recurring payment synchronization response -->
<!ELEMENT RECPMTSYNCRS - - (%SYNCRSMACRO, BANKACCTFROM, RECPMTTRNRS*)>
<!-- payee list synchronization response -->
<!ELEMENT PAYEESYNCRS - - (%SYNCRSMACRO, PAYEETRNRS*)>
<!-- bill pay mail sync response -->
<!ELEMENT PMTMAILSYNCRS - - (%SYNCRSMACRO, PMTMAILTRNRS*)>
<!--
Payment mail messages
-->
<!-- payment inquiry mail message -->
<!ELEMENT PMTMAILRQ - - (MAIL,(SRVRTID,PMTINFO)?)>
<!ELEMENT PMTMAILRS - - (MAIL,(SRVRTID,PMTINFO)?)>
<!--
$Revision: 1.3 $
$Date: 16 Apr 1997 17:02:04 $
Open Financial Exchange DTD - activation module
Copyright 1997 CheckFree Corp., Intuit Inc., Microsoft Corp. All rights reserved
-->
<!-- Message Sets -->
<!ELEMENT SIGNUPMSGSRQV1 - - ((ENROLLTRNRQ | ACCTINFOTRNRQ |
CHGUSERINFOTRNRQ | CHGUSERINFOSYNCRQ |
ACCTTRNRQ | ACCTSYNCRQ)+ )>
<!ELEMENT SIGNUPMSGSRSV1 - - ((ENROLLTRNRS | ACCTINFOTRNRS |
CHGUSERINFOTRNRS | CHGUSERINFOSYNCRS |
ACCTTRNRS | ACCTSYNCRS)+ )>
<!-- Profile entry for message set -->
<!ELEMENT SIGNUPMSGSET - - (SIGNUPMSGSETV1)>
<!ELEMENT SIGNUPMSGSETV1 - - (MSGSETCORE ,
(CLIENTENROLL | WEBENROLL | OTHERENROLL),
CHGUSERINFO, AVAILACCTS, CLIENTACTREQ)>
<!ELEMENT CLIENTENROLL - - (ACCTREQUIRED)>
<!ELEMENT WEBENROLL - - (URL)>
<!ELEMENT OTHERENROLL - - (MESSAGE)>
<!ELEMENT ACCTREQUIRED - o %BOOLTYPE>
<!ELEMENT CHGUSERINFO - o %BOOLTYPE>
<!ELEMENT AVAILACCTS - o %BOOLTYPE>
<!ELEMENT CLIENTACTREQ - o %BOOLTYPE>
<!-- Transactions -->
<!ELEMENT ENROLLTRNRQ - - (%TRNRQMACRO , ENROLLRQ)>
<!ELEMENT ENROLLTRNRS - - (%TRNRSMACRO , ENROLLRS?)>
<!ELEMENT ACCTINFOTRNRQ - - (%TRNRQMACRO , ACCTINFORQ)>
<!ELEMENT ACCTTRNRQ - - (%TRNRQMACRO , ACCTRQ)>
<!ELEMENT ACCTINFOTRNRS - - (%TRNRSMACRO , ACCTINFORS?)>
<!ELEMENT ACCTTRNRS - - (%TRNRSMACRO , ACCTRS?)>
<!ELEMENT CHGUSERINFOTRNRQ - - (%TRNRQMACRO, CHGUSERINFORQ)>
<!ELEMENT CHGUSERINFOTRNRS - - (%TRNRSMACRO, CHGUSERINFORS?)>
<!-- ================== -->
<!-- Enrollment -->
<!-- ================== -->
<!ELEMENT ENROLLRQ - - (FIRSTNAME , MIDDLENAME ,
LASTNAME , (ADDR1,(ADDR2,ADDR3?)?) ,
CITY , STATE , POSTALCODE ,
COUNTRY , DAYPHONE , EVEPHONE ,
EMAIL , USERID? , TAXID ,
SECURITYNAME , DATEBIRTH ,
(%ACCTFROMMACRO)? )>
<!-- most above name / addr elements in ofxmain.dtd -->
<!ELEMENT TAXID - o %STRTYPE>
<!ELEMENT SECURITYNAME - o %STRTYPE>
<!ELEMENT DATEBIRTH - o %DTTMTYPE>
<!ELEMENT ENROLLRS - - (TEMPPASS? , USERID? , DTEXPIRE?)>
<!-- NOTE: could constrain DTEXPIRE -->
<!ELEMENT TEMPPASS - o %STRTYPE>
<!ELEMENT DTEXPIRE - o %DTTMTYPE>
<!-- Change User Info -->
<!ELEMENT CHGUSERINFORQ - - (FIRSTNAME?, MIDDLENAME?, LASTNAME?,
(ADDR1,(ADDR2,ADDR3?)?)?,
CITY?, STATE?, POSTALCODE?, COUNTRY?,
DAYPHONE?, EVEPHONE?, EMAIL?)>
<!ELEMENT CHGUSERINFORS - - (FIRSTNAME?, MIDDLENAME?, LASTNAME?,
(ADDR1,(ADDR2,ADDR3?)?)?,
CITY?, STATE?, POSTALCODE?, COUNTRY?,
DAYPHONE?, EVEPHONE?, EMAIL?,
DTINFOCHG)>
<!ELEMENT DTINFOCHG - o %DTTMTYPE>
<!ELEMENT CHGUSERINFOSYNCRQ - - (%SYNCRQMACRO , CHGUSERINFOTRNRQ*)>
<!ELEMENT CHGUSERINFOSYNCRS - - (%SYNCRSMACRO , CHGUSERINFOTRNRS*)>
<!-- Top level request and response -->
<!ELEMENT ACCTINFORQ - - (DTACCTUP)>
<!ELEMENT ACCTINFORS - - (DTACCTUP , ACCTINFO*)>
<!-- Account Info aggregate
Note: this refers to a macro in ofxmain that
list all of the account info aggregates
-->
<!ELEMENT ACCTINFO - - (DESC? , PHONE? ,
(%ACCTINFOMACRO)+ )>
<!-- Service status - should be included as part of
the ACCTINFOMACRO aggregates. Values
are AVAIL, PEND, ACTIVE -->
<!ELEMENT SVCSTATUS - o %STRTYPE>
<!-- -----------------
Service Activation
----------------- -->
<!ELEMENT ACCTRQ - - ((SVCADD | SVCCHG | SVCDEL) ,
SVC)>
<!ELEMENT ACCTRS - - ((SVCADD | SVCCHG | SVCDEL) ,
SVC, SVCSTATUS)>
<!ELEMENT SVCADD - - (%ACCTTOMACRO)>
<!ELEMENT SVCDEL - - (%ACCTFROMMACRO)>
<!ELEMENT SVCCHG - - (%ACCTFROMMACRO , %ACCTTOMACRO)>
<!ELEMENT SVC - o %STRTYPE>
<!-- Synchronization -->
<!ELEMENT ACCTSYNCRQ - - (%SYNCRQMACRO , ACCTTRNRQ*)>
<!ELEMENT ACCTSYNCRS - - (%SYNCRSMACRO , ACCTTRNRS*)>
<!--
$Revision: 1.2 $
$Date: 15 Apr 1997 16:08:42 $
Open Financial Exchange DTD - investments module
Copyright 1997 CheckFree Corp., Intuit Inc., Microsoft Corp. All rights reserved
-->
<!-- Investment Statement Messages -->
<!ELEMENT INVSTMTMSGSRQV1 - - ((INVSTMTTRNRQ |
INVMAILTRNRQ | INVMAILSYNCRQ)+) >
<!ELEMENT INVSTMTMSGSRSV1 - - ((INVSTMTTRNRS |
INVMAILTRNRS | INVMAILSYNCRS)+) >
<!-- Security List Messages -->
<!ELEMENT SECLISTMSGSRQV1 - - (SECLISTTRNRQ+) >
<!ELEMENT SECLISTMSGSRSV1 - - (SECLISTTRNRS* , SECLIST?) >
<!-- **** SECURITIES *** -->
<!-- Security List Transaction Request/Response -->
<!ELEMENT SECLISTTRNRQ - - (%TRNRQMACRO , SECLISTRQ) >
<!ELEMENT SECLISTTRNRS - - (%TRNRSMACRO , SECLISTRS?) >
<!-- Security List Request/Response -->
<!ELEMENT SECLISTRQ - - (SECRQ+)>
<!ELEMENT SECRQ - - (SECID | TICKER | FIID) >
<!ELEMENT SECLISTRS - - %STRTYPE >
<!-- Security Ticker Symbol -->
<!ELEMENT TICKER - O %STRTYPE >
<!-- Financial Institution ID for the Security -->
<!ELEMENT FIID - O %STRTYPE >
<!-- ** Security Identifier ** -->
<!ELEMENT SECID - - (UNIQUEID , UNIQUEIDTYPE) >
<!-- Unique ID for the Security -->
<!ELEMENT UNIQUEID - O %STRTYPE >
<!-- Standard used for Unique ID e.g. CUSIP -->
<!ELEMENT UNIQUEIDTYPE - O %STRTYPE >
<!-- *** Security Information *** -->
<!-- Security List -->
<!ELEMENT SECLIST - - ((MFINFO | STOCKINFO | OPTINFO | DEBTINFO |
OTHERINFO)*) >
<!-- ** Info all security types have in common ** -->
<!ELEMENT SECINFO - - (SECID , SECNAME , TICKER? , FIID? ,
RATING? , UNITPRICE? , DTASOF? ,
CURRENCY? , MEMO?) >
<!ELEMENT SECNAME - O %STRTYPE>
<!-- Rating for Security -->
<!ELEMENT RATING - O %STRTYPE >
<!-- Unitprice for Security -->
<!ELEMENT UNITPRICE - O %UNITPRICETYPE >
<!-- *** Debt Information *** -->
<!ELEMENT DEBTINFO - - (SECINFO , PARVALUE , DEBTTYPE , DEBTCLASS? ,
COUPONRT? , DTCOUPON? , COUPONFREQ? , CALLPRICE? ,
YIELDTOCALL? , DTCALL? , CALLTYPE? , YIELDTOMAT? ,
DTMAT? , ASSETCLASS? , FIASSETCLASS?) >
<!ELEMENT PARVALUE - O %AMTTYPE >
<!ELEMENT DEBTTYPE - O %STRTYPE >
<!ELEMENT DEBTCLASS - O %STRTYPE >
<!ELEMENT COUPONRT - O %AMTTYPE >
<!ELEMENT DTCOUPON - O %DTTMTYPE >
<!ELEMENT COUPONFREQ - O %STRTYPE >
<!ELEMENT CALLPRICE - O %UNITPRICETYPE >
<!ELEMENT YIELDTOCALL - O %AMTTYPE >
<!ELEMENT DTCALL - O %DTTMTYPE >
<!ELEMENT CALLTYPE - O %STRTYPE >
<!ELEMENT YIELDTOMAT - O %AMTTYPE >
<!ELEMENT DTMAT - O %DTTMTYPE >
<!-- Asset Class for Security -->
<!ELEMENT ASSETCLASS - O %STRTYPE >
<!-- FI's Asset Class for Security -->
<!ELEMENT FIASSETCLASS - O %STRTYPE >
<!-- *** Mutual Fund Information *** -->
<!ELEMENT MFINFO - - (SECINFO , MFTYPE? , YIELD? , DTYIELDASOF? ,
MFASSETCLASS? , FIMFASSETCLASS?) >
<!ELEMENT MFTYPE - O %STRTYPE >
<!ELEMENT YIELD - O %AMTTYPE >
<!ELEMENT DTYIELDASOF - O %DTTMTYPE >
<!-- Asset Class for Mutual Funds -->
<!ELEMENT MFASSETCLASS - - (PORTION+) >
<!-- Asset Class Portion -->
<!ELEMENT PORTION - - (ASSETCLASS , PERCENT) >
<!ELEMENT PERCENT - O %AMTTYPE >
<!-- FI's Asset Class for Mutual Funds -->
<!ELEMENT FIMFASSETCLASS - - (FIPORTION+) >
<!-- FI's Asset Class Portion -->
<!ELEMENT FIPORTION - - (FIASSETCLASS , PERCENT) >
<!-- *** Option Information *** -->
<!ELEMENT OPTINFO - - (SECINFO , OPTTYPE , STRIKEPRICE , DTEXPIRE ,
SHPERCTRCT , SECID? , ASSETCLASS? , FIASSETCLASS?) >
<!ELEMENT OPTTYPE - O %STRTYPE >
<!ELEMENT STRIKEPRICE - O %AMTTYPE >
<!-- Number of shares per contract -->
<!ELEMENT SHPERCTRCT - O %INTTYPE >
<!-- *** Other Security Type Information *** -->
<!ELEMENT OTHERINFO - - (SECINFO , TYPEDESC?, ASSETCLASS? , FIASSETCLASS?) >
<!ELEMENT TYPEDESC - O %STRTYPE >
<!-- *** Stock Information *** -->
<!ELEMENT STOCKINFO - - (SECINFO , STOCKTYPE? , YIELD? , DTYIELDASOF? ,
ASSETCLASS? , FIASSETCLASS?) >
<!ELEMENT STOCKTYPE - O %STRTYPE >
<!-- ***** Investment Accounts ****** -->
<!-- Investment Account From -->
<!ELEMENT INVACCTFROM - - (BROKERID , ACCTID) >
<!-- Investment Account To -->
<!ELEMENT INVACCTTO - - (BROKERID , ACCTID) >
<!ELEMENT BROKERID - O %STRTYPE >
<!-- ** Investment Account Information ** -->
<!ELEMENT INVACCTINFO - - (INVACCTFROM , USPRODUCTTYPE , CHECKING ,
SVCSTATUS, INVACCTTYPE? , OPTIONLEVEL?) >
<!ELEMENT USPRODUCTTYPE - O %STRTYPE >
<!ELEMENT CHECKING - O %BOOLTYPE >
<!ELEMENT INVACCTTYPE - O %STRTYPE >
<!ELEMENT OPTIONLEVEL - O %STRTYPE >
<!-- ****** INVESTMENT STATEMENT DOWNLOAD ****** -->
<!-- Investment Statement Transaction Request/Response -->
<!ELEMENT INVSTMTTRNRQ - - (%TRNRQMACRO , INVSTMTRQ) >
<!ELEMENT INVSTMTTRNRS - - (%TRNRSMACRO , INVSTMTRS?) >
<!-- *** Investment Statement Request *** -->
<!ELEMENT INVSTMTRQ - - (INVACCTFROM , INCTRAN , INCOO , INCPOS ,
INCBAL) >
<!-- ** Include Transactions ** -->
<!ELEMENT INCTRAN - - (DTSTART? , DTEND? , INCLUDE) >
<!-- ** Include Open Orders ** -->
<!ELEMENT INCOO - O %BOOLTYPE >
<!-- ** Include Positions ** -->
<!ELEMENT INCPOS - - (DTASOF? , INCLUDE) >
<!-- Include Balances -->
<!ELEMENT INCBAL - O %BOOLTYPE >
<!-- *** Investment Statement Response *** -->
<!ELEMENT INVSTMTRS - - (DTASOF , CURDEF , INVACCTFROM , INVTRANLIST? ,
INVPOSLIST? , INVBAL? , INVOOLIST? , MKTGINFO?) >
<!-- Marketing Mesage -->
<!ELEMENT MKTVAL - O %AMTTYPE >
<!-- ** Transaction List ** -->
<!ELEMENT INVTRANLIST - - (DTSTART , DTEND , (BUYDEBT | BUYMF | BUYOPT | BUYOTHER |
BUYSTOCK | CLOSUREOPT | INCOME | INVEXPENSE | JRNLFUND |
JRNLSEC | MARGININTEREST | REINVEST | RETOFCAP| SELLDEBT |
SELLMF | SELLOPT | SELLOTHER | SELLSTOCK |
SPLIT | TRANSFER)* , INVBANKTRAN*) >
<!-- ** Investment Banking Transaction ** -->
<!ELEMENT INVBANKTRAN - - (STMTTRN , SUBACCTFUND) >
<!-- ** Transaction fields common to many types of transactions ** -->
<!ELEMENT INVTRAN - - (FITID , SRVRTID? , DTTRADE , DTSETTLE? , MEMO?) >
<!-- Trade Date -->
<!ELEMENT DTTRADE - O %DTTMTYPE >
<!-- Settlement Date -->
<!ELEMENT DTSETTLE - O %DTTMTYPE >
<!-- ** Transaction fields common to BUY types of transactions ** -->
<!-- ** WITHHOLDING is for JPN only ** -->
<!ELEMENT INVBUY - - (INVTRAN , SECID , UNITS , UNITPRICE , MARKUP? , COMMISSION? , TAXES? , FEES? , LOAD? , WITHHOLDING?, TOTAL , CURRENCY? ,ORIGCURRENCY? , SUBACCTSEC , SUBACCTFUND) >
<!ELEMENT UNITS - O %AMTTYPE >
<!ELEMENT MARKUP - O %AMTTYPE >
<!ELEMENT COMMISSION - O %AMTTYPE >
<!ELEMENT TAXES - O %AMTTYPE >
<!ELEMENT FEES - O %AMTTYPE >
<!ELEMENT LOAD - O %AMTTYPE >
<!ELEMENT TOTAL - O %AMTTYPE >
<!-- Sub-account for the security -->
<!ELEMENT SUBACCTSEC - O %STRTYPE >
<!-- Sub-account for the funds involved in the trade: CASH, SHORT, MARGIN, OTHER -->
<!ELEMENT SUBACCTFUND - O %STRTYPE >
<!-- ** Transaction fields common to SELL types of transactions ** -->
<!ELEMENT INVSELL - - (INVTRAN , SECID , UNITS , UNITPRICE , MARKDOWN? ,
COMMISSION? , TAXES? , FEES? , LOAD? , WITHHOLDING? ,
TAXEXEMPT? , TOTAL , GAIN? , CURRENCY? , ORIGCURRENCY? ,
SUBACCTSEC , SUBACCTFUND) >
<!ELEMENT MARKDOWN - O %AMTTYPE >
<!ELEMENT WITHHOLDING - O %AMTTYPE >
<!ELEMENT GAIN - O %AMTTYPE >
<!-- ** Buy Debt Transaction ** -->
<!ELEMENT BUYDEBT - - (INVBUY , ACCRDINT?) >
<!ELEMENT ACCRDINT - O %AMTTYPE >
<!-- ** Buy Mutual Fund Transaction ** -->
<!ELEMENT BUYMF - - (INVBUY , BUYTYPE , RELFITID?) >
<!-- Buy Type: BUY or BUYTOCOVER -->
<!ELEMENT BUYTYPE - O %STRTYPE >
<!-- Related Transaction ID -->
<!ELEMENT RELFITID - O %UUIDTYPE >
<!-- ** Buy Option Transaction ** -->
<!ELEMENT BUYOPT - - (INVBUY , OPTBUYTYPE , SHPERCTRCT) >
<!-- Option Buy Type -->
<!ELEMENT OPTBUYTYPE - O %STRTYPE >
<!-- ** Buy Other Transaction ** -->
<!ELEMENT BUYOTHER - - (INVBUY) >
<!-- ** Buy Stock Transaction ** -->
<!ELEMENT BUYSTOCK - - (INVBUY , BUYTYPE) >
<!-- ** Closure of Option Transaction ** -->
<!ELEMENT CLOSUREOPT - - (INVTRAN , SECID , OPTACTION , UNITS , SHPERCTRCT ,
SUBACCTSEC , RELFITID? , GAIN?) >
<!-- Closure of option action: EXPIRE,EXERCISE,ASSIGN -->
<!ELEMENT OPTACTION - O %STRTYPE >
<!-- **Income Transaction ** -->
<!ELEMENT INCOME - - (INVTRAN , SECID , INCOMETYPE , TOTAL , SUBACCTSEC ,
SUBACCTFUND , TAXEXEMPT? , WITHHOLDING? ,CURRENCY? ,
ORIGCURRENCY? ) >
<!-- Type of Income -->
<!ELEMENT INCOMETYPE - O %STRTYPE >
<!ELEMENT TAXEXEMPT - O %BOOLTYPE >
<!-- ** Investment Related Expense Transaction ** -->
<!ELEMENT INVEXPENSE - - (INVTRAN , SECID , TOTAL , SUBACCTSEC ,
SUBACCTFUND , CURRENCY? , ORIGCURRENCY?) >
<!-- ** Journaling of Funds between sub-accounts Transaction ** -->
<!ELEMENT JRNLFUND - - (INVTRAN , SUBACCTTO , SUBACCTFROM , TOTAL) >
<!ELEMENT SUBACCTTO - O %STRTYPE >
<!ELEMENT SUBACCTFROM - O %STRTYPE >
<!-- ** Journaling of Security between sub-accounts Transaction ** -->
<!ELEMENT JRNLSEC - - (INVTRAN , SECID, SUBACCTTO , SUBACCTFROM , UNITS) >
<!-- ** Margin Interest Transaction ** -->
<!ELEMENT MARGININTEREST - - (INVTRAN , TOTAL , SUBACCTFUND , CURRENCY? , ORIGCURRENCY?) >
<!-- ** Reinvest Transaction ** -->
<!-- ** WITHHOLDING is for JPN only ** -->
<!ELEMENT REINVEST - - (INVTRAN , SECID , INCOMETYPE , TOTAL , SUBACCTSEC , UNITS , UNITPRICE , COMMISSION? , TAXES? , FEES? , LOAD? , WITHHOLDING?, TAXEXEMPT? , CURRENCY? , ORIGCURRENCY?) >
<!-- ** Return Of Capital Transaction ** -->
<!ELEMENT RETOFCAP - - (INVTRAN , SECID , TOTAL , SUBACCTSEC ,
SUBACCTFUND , CURRENCY? , ORIGCURRENCY?) >
<!-- ** Sell Debt Transaction ** -->
<!ELEMENT SELLDEBT - - (INVSELL , SELLREASON , ACCRDINT?) >
<!-- Reason Sell of Debt generated: CALL, MATURITY, SELL -->
<!ELEMENT SELLREASON - O %STRTYPE >
<!-- ** Sell Mutual Fund Transaction ** -->
<!ELEMENT SELLMF - - (INVSELL , SELLTYPE , AVGCOSTBASIS? , RELFITID?) >
<!-- Sell Type: SELL or SELLSHORT -->
<!ELEMENT SELLTYPE - O %STRTYPE >
<!-- Average cost basis -->
<!ELEMENT AVGCOSTBASIS - O %AMTTYPE >
<!-- ** Sell Option Transaction ** -->
<!ELEMENT SELLOPT - - (INVSELL , OPTSELLTYPE , SHPERCTRCT ,
RELFITID? , RELTYPE?, SECURED?) >
<!-- Option Sell Type: SELLTOCLOSE or SELLTOOPEN -->
<!ELEMENT OPTSELLTYPE - O %STRTYPE >
<!-- Related option transaction type: SPREAD, STRADDLE, NONE -->
<!ELEMENT RELTYPE - O %STRTYPE >
<!-- How the option is secured: NAKED or COVERED -->
<!ELEMENT SECURED - O %STRTYPE >
<!-- ** Sell Other Transaction ** -->
<!ELEMENT SELLOTHER - - (INVSELL) >
<!-- ** Sell Stock Transaction ** -->
<!ELEMENT SELLSTOCK - - (INVSELL , SELLTYPE) >
<!-- ** Split Transaction ** -->
<!ELEMENT SPLIT - - (INVTRAN , SECID , SUBACCTSEC ,
OLDUNITS , NEWUNITS , NUMERATOR , DENOMINATOR ,
CURRENCY? , ORIGCURRENCY? , FRACCASH? , SUBACCTFUND?) >
<!ELEMENT OLDUNITS - O %INTTYPE >
<!ELEMENT NEWUNITS - O %INTTYPE >
<!ELEMENT NUMERATOR - O %INTTYPE >
<!ELEMENT DENOMINATOR - O %INTTYPE >
<!-- Amount of cash recieved from fractional shares -->
<!ELEMENT FRACCASH - O %AMTTYPE >
<!-- ** Transfer Transaction ** -->
<!ELEMENT TRANSFER - - (INVTRAN, SECID , SUBACCTSEC , UNITS ,
TFERACTION , POSTYPE , INVACCTFROM?,
AVGCOSTBASIS?, UNITPRICE?, DTPURCHASE?) >
<!-- Transfer action:IN or OUT -->
<!ELEMENT TFERACTION - O %STRTYPE >
<!ELEMENT DTPURCHASE - o %DTTMTYPE>
<!-- ***** Open Orders List ***** -->
<!ELEMENT INVOOLIST - - ((OOBUYDEBT | OOBUYMF | OOBUYOPT | OOBUYOTHER |
OOBUYSTOCK | OOSELLDEBT | OOSELLMF | OOSELLOPT |
OOSELLOTHER | OOSELLSTOCK | OOSWITCHMF)*) >
<!-- ** Open Order fields common to all open orders ** -->
<!ELEMENT OO - - (FITID , SRVRTID? , SECID , DTPLACED , UNITS , SUBACCT ,
DURATION , RESTRICTION , MINUNITS? , LIMITPRICE? ,
STOPPRICE? , MEMO? , CURRENCY?) >
<!ELEMENT DTPLACED - O %DTTMTYPE >
<!ELEMENT SUBACCT - O %STRTYPE >
<!ELEMENT DURATION - O %STRTYPE >
<!ELEMENT RESTRICTION - O %STRTYPE >
<!ELEMENT MINUNITS - O %AMTTYPE >
<!ELEMENT LIMITPRICE - O %UNITPRICETYPE >
<!ELEMENT STOPPRICE - O %UNITPRICETYPE >
<!-- ** Buy Debt Open Order ** -->
<!ELEMENT OOBUYDEBT - - (OO , AUCTION , DTAUCTION?) >
<!ELEMENT AUCTION - O %BOOLTYPE >
<!ELEMENT DTAUCTION - O %DTTMTYPE >
<!-- ** Buy Mutual Fund Open Order ** -->
<!ELEMENT OOBUYMF - - (OO , BUYTYPE , UNITTYPE) >
<!-- Type of units: SHARES or CURRENCY -->
<!ELEMENT UNITTYPE - O %STRTYPE >
<!-- ** Buy Option Open Order ** -->
<!ELEMENT OOBUYOPT - - (OO , OPTBUYTYPE) >
<!-- ** Buy Other Open Order ** -->
<!ELEMENT OOBUYOTHER - - (OO , UNITTYPE) >
<!-- ** Buy Stock Open Order ** -->
<!ELEMENT OOBUYSTOCK - - (OO , BUYTYPE) >
<!-- ** Sell Debt Open Order ** -->
<!ELEMENT OOSELLDEBT - - (OO) >
<!-- ** Sell Mutual Fund Open Order ** -->
<!ELEMENT OOSELLMF - - (OO , SELLTYPE , UNITTYPE , SELLALL) >
<!ELEMENT SELLALL - O %BOOLTYPE >
<!-- ** Sell Option Open Order ** -->
<!ELEMENT OOSELLOPT - - (OO , OPTSELLTYPE) >
<!-- ** Sell Other Security Type Open Order ** -->
<!ELEMENT OOSELLOTHER - - (OO , UNITTYPE) >
<!-- ** Sell Stock Open Order ** -->
<!ELEMENT OOSELLSTOCK - - (OO , SELLTYPE) >
<!-- ** Switch Mutual Fund Open Order ** -->
<!ELEMENT OOSWITCHMF - - (OO , SECID , UNITTYPE , SWITCHALL) >
<!ELEMENT SWITCHALL - O %BOOLTYPE >
<!-- ***** Position List ***** -->
<!ELEMENT INVPOSLIST - - ((POSMF | POSSTOCK | POSDEBT| POSOPT |
POSOTHER)*) >
<!-- Position fields common to and types of positions -->
<!ELEMENT INVPOS - - (SECID , HELDINACCT , POSTYPE , UNITS , UNITPRICE ,
MKTVAL , DTPRICEASOF , CURRENCY? , MEMO?) >
<!-- Which sub-account the position is held in: CASH, MARGIN, SHORT, OTHER -->
<!ELEMENT HELDINACCT - O %STRTYPE >
<!-- Position Type: SHORT, LONG -->
<!ELEMENT POSTYPE - O %STRTYPE >
<!ELEMENT DTPRICEASOF - O %DTTMTYPE >
<!-- ** Debt Position ** -->
<!ELEMENT POSDEBT - - (INVPOS) >
<!-- ** Mutual Fund Position ** -->
<!ELEMENT POSMF - - (INVPOS , UNITSSTREET? , UNITSUSER? , REINVDIV? ,
REINVCG?) >
<!ELEMENT UNITSSTREET - O %INTTYPE >
<!ELEMENT UNITSUSER - O %INTTYPE >
<!ELEMENT REINVDIV - O %BOOLTYPE >
<!ELEMENT REINVCG - O %BOOLTYPE >
<!-- ** Option Position ** -->
<!ELEMENT POSOPT - - (INVPOS , SECURED?) >
<!-- ** Other Security Type Position ** -->
<!ELEMENT POSOTHER - - (INVPOS) >
<!-- ** Stock Position ** -->
<!ELEMENT POSSTOCK - - (INVPOS , UNITSSTREET? , UNITSUSER? , REINVDIV?) >
<!-- ** Balances ** -->
<!ELEMENT INVBAL - - (AVAILCASH , MARGINBALANCE , SHORTBALANCE ,
BUYPOWER? , BALLIST?) >
<!ELEMENT MARGINBALANCE - O %AMTTYPE >
<!ELEMENT SHORTBALANCE - O %AMTTYPE >
<!ELEMENT AVAILCASH - O %AMTTYPE >
<!ELEMENT BUYPOWER - O %AMTTYPE >
<!ELEMENT BALLIST - - (BAL*) >
<!-- **** Investment Statement Message Set *** -->
<!-- Investment Message Set -->
<!ELEMENT INVSTMTMSGSET - - (INVSTMTMSGSETV1) >
<!-- Investment Message Set: Version 1 -->
<!ELEMENT INVSTMTMSGSETV1 - - (MSGSETCORE , TRANDNLD , OODNLD , POSDNLD , BALDNLD, CANEMAIL) >
<!-- FI supports download of transactions -->
<!ELEMENT TRANDNLD - O %BOOLTYPE >
<!-- FI supports download of open orders -->
<!ELEMENT OODNLD - O %BOOLTYPE >
<!-- FI supports download of positions -->
<!ELEMENT POSDNLD - O %BOOLTYPE >
<!-- FI supports download of balances -->
<!ELEMENT BALDNLD - O %BOOLTYPE >
<!-- **** Security List Message Set *** -->
<!-- Security List message Set -->
<!ELEMENT SECLISTMSGSET - - (SECLISTMSGSETV1) >
<!-- Investment Message Set: Version 1 -->
<!ELEMENT SECLISTMSGSETV1 - - (MSGSETCORE , SECLISTRQDNLD) >
<!-- FI supports SECLISTRQ -->
<!ELEMENT SECLISTRQDNLD - O %BOOLTYPE >
<!-- INVESTMENT EMAIL -->
<!ELEMENT INVMAILTRNRQ - - (%TRNRQMACRO, INVMAILRQ)>
<!ELEMENT INVMAILTRNRS - - (%TRNRSMACRO, INVMAILRS?)>
<!ELEMENT INVMAILSYNCRQ - - (%SYNCRQMACRO, INCIMAGES, USEHTML, INVACCTFROM, INVMAILTRNRQ*)>
<!ELEMENT INVMAILSYNCRS - - (%SYNCRSMACRO, INVACCTFROM, INVMAILTRNRS*)>
<!ELEMENT INVMAILRQ - - (INVACCTFROM, MAIL)>
<!ELEMENT INVMAILRS - - (INVACCTFROM, MAIL)>
<!--
$Revision: 1.2 $
$Date: 15 Apr 1997 16:08:46 $
Open Financial Exchange DTD - mail module
Copyright 1997 CheckFree Corp., Intuit Inc., Microsoft Corp. All rights reserved
-->
<!-- Message sets -->
<!ELEMENT EMAILMSGSRQV1 - - ((MAILTRNRQ | MAILSYNCRQ | GETMIMETRNRQ)+ )>
<!ELEMENT EMAILMSGSRSV1 - - ((MAILTRNRS | MAILSYNCRS | GETMIMETRNRS)+ )>
<!-- Profile entry for message set -->
<!ELEMENT EMAILMSGSET - - (EMAILMSGSETV1)>
<!ELEMENT EMAILMSGSETV1 - - (MSGSETCORE , MAILSUP , GETMIMESUP)>
<!ELEMENT MAILSUP - o %BOOLTYPE>
<!ELEMENT GETMIMESUP - o %BOOLTYPE>
<!-- Email Transactions -->
<!ELEMENT MAILTRNRQ - - (%TRNRQMACRO , MAILRQ)>
<!ELEMENT MAILTRNRS - - (%TRNRSMACRO , MAILRS?)>
<!ELEMENT GETMIMETRNRQ - - (%TRNRQMACRO , GETMIMERQ)>
<!ELEMENT GETMIMETRNRS - - (%TRNRSMACRO , GETMIMERS?)>
<!-- Email Request -->
<!ELEMENT MAILRQ - - (MAIL)>
<!ELEMENT MAIL - - (USERID , DTCREATED , FROM , TO ,
SUBJECT , MSGBODY , INCIMAGES ,
USEHTML)>
<!ELEMENT DTCREATED - o %DTTMTYPE>
<!ELEMENT FROM - o %STRTYPE>
<!ELEMENT TO - o %STRTYPE>
<!ELEMENT SUBJECT - o %STRTYPE>
<!ELEMENT USEHTML - o %BOOLTYPE>
<!ELEMENT MSGBODY - - %STRTYPE>
<!-- Email Response -->
<!ELEMENT MAILRS - - (MAIL)>
<!-- Email sync -->
<!ELEMENT MAILSYNCRQ - - (%SYNCRQMACRO , INCIMAGES, USEHTML, MAILTRNRQ*)>
<!ELEMENT MAILSYNCRS - - (%SYNCRSMACRO , MAILTRNRS*)>
<!-- HTML GET -->
<!ELEMENT GETMIMERQ - - (URL)>
<!ELEMENT GETMIMERS - - (URL)>
<!--
$Revision: 1.2 $
$Date: 15 Apr 1997 16:08:46 $
Open Financial Exchange DTD - profile module
Copyright 1997 CheckFree Corp., Intuit Inc., Microsoft Corp. All rights reserved
-->
<!-- Profile message set -->
<!ELEMENT PROFMSGSRQV1 - - ((PROFTRNRQ)+ )>
<!ELEMENT PROFMSGSRSV1 - - ((PROFTRNRS)+ )>
<!-- Profile entry for message set -->
<!ELEMENT PROFMSGSET - - (PROFMSGSETV1)>
<!ELEMENT PROFMSGSETV1 - - (MSGSETCORE)>
<!-- No synchronization in this module -->
<!-- Transactions -->
<!ELEMENT PROFTRNRQ - - (%TRNRQMACRO , PROFRQ)>
<!ELEMENT PROFTRNRS - - (%TRNRSMACRO , PROFRS?)>
<!-- Messages -->
<!ELEMENT PROFRQ - - (CLIENTROUTING , DTPROFUP)>
<!ELEMENT CLIENTROUTING - o %STRTYPE>
<!ELEMENT PROFRS - - (MSGSETLIST , SIGNONINFOLIST , DTPROFUP,
FINAME, (ADDR1,(ADDR2,ADDR3?)?), CITY, STATE, POSTALCODE, COUNTRY,
CSPHONE?, TSPHONE?, FAXPHONE?, URL?, EMAIL?)>
<!ELEMENT FINAME - o %STRTYPE>
<!ELEMENT CSPHONE - o %STRTYPE>
<!ELEMENT TSPHONE - o %STRTYPE>
<!ELEMENT FAXPHONE - o %STRTYPE>
<!-- Message List -->
<!-- Defined in terms of macro in ofxmain -->
<!ELEMENT MSGSETLIST - - ( (%MSGSETMACRO)* )>
<!-- Message set core info - used by all XXXMSGSETVn -->
<!ELEMENT MSGSETCORE - - (VER , URL , OFXSEC ,
TRANSPSEC , SIGNONREALM ,
LANGUAGE+, SYNCMODE, RESPFILEER, SPNAME? )>
<!ELEMENT VER - o %INTTYPE>
<!ELEMENT OFXSEC - o %INTTYPE>
<!ELEMENT TRANSPSEC - o %BOOLTYPE>
<!ELEMENT SYNCMODE - o %STRTYPE>
<!ELEMENT RESPFILEER - o %BOOLTYPE>
<!ELEMENT SPNAME - o %STRTYPE>
<!-- Signon realm -->
<!ELEMENT SIGNONINFOLIST - - (SIGNONINFO*)>
<!ELEMENT SIGNONINFO - - (SIGNONREALM , MIN , MAX ,
CHARTYPE , CASESEN ,
SPECIAL , SPACES, PINCH, CHGPINFIRST)>
<!ELEMENT SIGNONREALM - o %STRTYPE>
<!ELEMENT MIN - o %INTTYPE>
<!ELEMENT MAX - o %INTTYPE>
<!ELEMENT CHARTYPE - o %STRTYPE>
<!ELEMENT CASESEN - o %BOOLTYPE>
<!ELEMENT SPECIAL - o %BOOLTYPE>
<!ELEMENT SPACES - o %BOOLTYPE>
<!ELEMENT PINCH - o %BOOLTYPE>
<!ELEMENT CHGPINFIRST - o %BOOLTYPE>
<!-- ============================================================================= -->
<!--
OpenExchange Element Structure
This file defines common and high-level elements.
New requests and responses need to be added to the TRNRQ/TRNRS elements here
-->
<!-- ============================================================================= -->
<!-- Top-level -->
<!-- Add the 'meta-token' for sync requests from each
service module here -->
<!ENTITY % OFXRQMSGSETS "SIGNONMSGSRQV1, SIGNUPMSGSRQV1?, BANKMSGSRQV1?, CREDITCARDMSGSRQV1?, INVSTMTMSGSRQV1?, INTERXFERMSGSRQV1?, WIREXFERMSGSRQV1?, BILLPAYMSGSRQV1?, EMAILMSGSRQV1?, SECLISTMSGSRQV1?, PROFMSGSRQV1? %EXTRARQMSGSETS">
<!ENTITY % OFXRSMSGSETS "SIGNONMSGSRSV1, SIGNUPMSGSRSV1?, BANKMSGSRSV1?, CREDITCARDMSGSRSV1?, INVSTMTMSGSRSV1?, INTERXFERMSGSRSV1?, WIREXFERMSGSRSV1?, BILLPAYMSGSRSV1?, EMAILMSGSRSV1?, SECLISTMSGSRSV1?, PROFMSGSRSV1? %EXTRARSMSGSETS">
<!ELEMENT OFX - - ((%OFXRQMSGSETS) | (%OFXRSMSGSETS))>
<!-- Generic Elements and Common Aggregates -->
<!ELEMENT DTCLIENT - o %DTTMTYPE>
<!ELEMENT USERID - o %IDTYPE>
<!ELEMENT USERPASS - o %STRTYPE>
<!ELEMENT USERKEY - o %STRTYPE>
<!ELEMENT GENUSERKEY - o %BOOLTYPE>
<!ELEMENT APPID - o %IDTYPE>
<!ELEMENT APPVER - o %INTTYPE>
<!ELEMENT DTSERVER - o %DTTMTYPE>
<!ELEMENT TSKEYEXPIRE - o %DTTMTYPE>
<!ELEMENT CLTCOOKIE - o %STRTYPE>
<!ELEMENT TAN - o %STRTYPE>
<!ELEMENT DESC - o %STRTYPE>
<!ELEMENT PHONE - o %STRTYPE>
<!-- general error reporting aggregate -->
<!ELEMENT STATUS - - (CODE , SEVERITY , MESSAGE?)>
<!ELEMENT CODE - o %INTTYPE>
<!ELEMENT SEVERITY - o %STRTYPE> <!-- TODO: enum? -->
<!ELEMENT MESSAGE - o %STRTYPE>
<!-- Balance record -->
<!ELEMENT BAL - - (NAME , DESC , BALTYPE , VALUE ,
DTASOF? , CURRENCY?)>
<!ELEMENT BALTYPE - o %STRTYPE> <!-- TODO: enum? -->
<!ELEMENT VALUE - o %AMTTYPE>
<!--
TRNUID - a UUID that uniquely identifies transactions
-->
<!ELEMENT TRNUID - o %UUIDTYPE>
<!-- Server ID -->
<!ELEMENT SRVRTID - o %SRVRIDTYPE>
<!-- Transaction ID issued by financial institution.This ID is used to detect duplicate downloads -->
<!ELEMENT FITID - o %IDTYPE>
<!-- starting date -->
<!ELEMENT DTSTART - o %DTTMTYPE>
<!-- ending date -->
<!ELEMENT DTEND - o %DTTMTYPE>
<!ELEMENT DTPROFUP - o %DTTMTYPE>
<!ELEMENT DTACCTUP - o %DTTMTYPE>
<!-- Sync-related -->
<!ELEMENT TOKENONLY - o %BOOLTYPE>
<!ELEMENT TOKEN - o %SRVRIDTYPE>
<!ELEMENT REFRESH - o %BOOLTYPE>
<!ELEMENT REJECTIFMISSING - o %BOOLTYPE>
<!ELEMENT LOSTSYNC - o %BOOLTYPE>
<!ELEMENT URL - o %URLTYPE>
<!ELEMENT INCIMAGES - o %BOOLTYPE>
<!-- Name & Address-related fields used in several messages -->
<!ELEMENT FIRSTNAME - o %STRTYPE>
<!ELEMENT MIDDLENAME - o %STRTYPE>
<!ELEMENT LASTNAME - o %STRTYPE>
<!-- Payees address lines (1 or more) -->
<!ELEMENT ADDR1 - o %STRTYPE>
<!ELEMENT ADDR2 - o %STRTYPE>
<!ELEMENT ADDR3 - o %STRTYPE>
<!-- Payees city -->
<!ELEMENT CITY - o %STRTYPE>
<!-- Payees state -->
<!ELEMENT STATE - o %STRTYPE>
<!-- Zip code -->
<!ELEMENT POSTALCODE - o %STRTYPE>
<!-- Payees country -->
<!ELEMENT COUNTRY - o %STRTYPE>
<!ELEMENT DAYPHONE - o %STRTYPE>
<!ELEMENT EVEPHONE - o %STRTYPE>
<!ELEMENT EMAIL - o %STRTYPE>
<!-- ============================================================================= -->
<!-- Common between banking, billpay and/or investments -->
<!-- ============================================================================= -->
<!-- Bank account -->
<!ELEMENT (BANKACCTFROM,BANKACCTTO) - - (BANKID , BRANCHID? , ACCTID ,
ACCTTYPE , ACCTKEY?)>
<!-- Credit card account -->
<!ELEMENT (CCACCTFROM,CCACCTTO) - - (ACCTID , ACCTKEY?)>
<!-- Routing & transit number -->
<!ELEMENT BANKID - o %IDTYPE>
<!-- Bank identifier for international banks -->
<!ELEMENT BRANCHID - o %IDTYPE>
<!-- Account number -->
<!ELEMENT ACCTID - o %IDTYPE>
<!-- Type of account. -->
<!ELEMENT ACCTTYPE - o %IDTYPE>
<!-- Checksum for international banks -->
<!ELEMENT ACCTKEY - o %IDTYPE>
<!-- User account number for a merchant -->
<!ELEMENT PAYACCT - o %IDTYPE>
<!--
If present, this is the FITID of a previously sent transaction that is corrected by this record.
This transaction replaces or deletes the transaction that it corrects.
-->
<!ELEMENT CORRECTFITID - o %IDTYPE>
<!--
Actions can be REPLACE or DELETE.
REPLACE replaces the transaction referenced by CORRECTFITID; DELETE deletes it.
-->
<!ELEMENT CORRECTACTION - o %STRTYPE> <!-- TODO: attribute? -->
<!-- Payee name or description -->
<!ELEMENT NAME - o %STRTYPE>
<!-- Extra information (not in <NAME>), A-255 -->
<!ELEMENT MEMO - o %STRTYPE>
<!-- Marketing information -->
<!ELEMENT MKTGINFO - o %STRTYPE>
<!-- Include flag -->
<!ELEMENT INCLUDE - o %BOOLTYPE; >
<!-- ============================================================================= -->
<!-- Common amounts -->
<!-- ============================================================================= -->
<!-- Balance amount -->
<!ELEMENT BALAMT - o %AMTTYPE>
<!-- Amount of transaction -->
<!ELEMENT TRNAMT - o %AMTTYPE>
<!-- ============================================================================= -->
<!-- Common dates -->
<!-- ============================================================================= -->
<!-- Date funds are available -->
<!ELEMENT DTDUE - o %DTTMTYPE>
<!-- Balance date -->
<!ELEMENT DTASOF - o %DTTMTYPE>
<!-- ============================================================================= -->
<!-- Recurring models and instances -->
<!-- ============================================================================= -->
<!-- If the response is generated by a recurring model, this ID references it -->
<!ELEMENT RECSRVRTID - o %SRVRIDTYPE>
<!-- Recurring Instructions aggregate -->
<!ELEMENT RECURRINST - - (NINSTS? , FREQ)>
<!-- Number of instructions. If this tag is omitted, the schedule is open-ended -->
<!ELEMENT NINSTS - o %INTTYPE>
<!-- Frequency -->
<!ELEMENT FREQ - o %STRTYPE> <!-- TODO: attribute?? -->
<!--
Modify pending flag, boolean
Note: if this flag is set, the server should modify pending as well as future transfers.
-->
<!ELEMENT MODPENDING - o %BOOLTYPE>
<!--
Cancel pending flag, boolean
Note: if this flag is set, the server should cancel pending as well as future transfers.
-->
<!ELEMENT CANPENDING - o %BOOLTYPE>
<!-- International -->
<!ELEMENT LANGUAGE - o %STRTYPE> <!-- TODO: enum? -->
<!ELEMENT (CURRENCY, ORIGCURRENCY) - - (CURRATE , CURSYM)>
<!ELEMENT CURSYM - o %STRTYPE>
<!ELEMENT CURRATE - o %RATETYPE>
<!ELEMENT CURDEF - o %STRTYPE>
<!-- ============================================================================= -->
<!-- Common Profile Stuff -->
<!-- ============================================================================= -->
<!-- Recurring transfers and payments -->
<!-- Supports recurring -->
<!ELEMENT CANRECUR - o %BOOLTYPE>
<!-- Can modify recurring models -->
<!ELEMENT CANMODMDLS - o %BOOLTYPE>
<!-- Number of days prior to processing that server makes a recurring transaction available to the client -->
<!ELEMENT MODELWND - o %INTTYPE>
<!-- Day where processing is unavailable (MONDAY, TUESDAY, etc) -->
<!ELEMENT PROCDAYSOFF - o %STRTYPE>
<!-- Cut off time for days's processing TODO: should just be time -->
<!ELEMENT PROCENDTM - o %DTTMTYPE>
]>