[October 27, 2001] "The Financial Services Markup Language (FSML) is the language developed to implement eChecks and other secure financial documents. Version 1.5 [July 14, 1999] is the latest release; Version 2.0 is under development [2001-10]. Financial Service Markup Language (FSML), like HTML, is a block structured data description language based on SGML. FSML uses tags to structure messages into blocks and data elements. The data elements defined are specific to the needs of creating an electronic payment message..."
Note: As of version 1.5, FSML is SGML, not XML; its design reflects an attempt at compactness through end-tag omission, using a relevant SGML declaration.
From the Brief:
FSML defines a method to structure documents into blocks of tagged content. Unlike HTML, which uses tags to inform processors about how to display content, FSML uses tags to inform processors about how to use the document content in financial applications. The FSML content blocks in an FSML document can be cryptographically sealed and signed in any combination needed by business applications. Document processors may also remove blocks without invalidating the signatures on the remaining blocks. They may combine signed documents and then sign blocks contained in the combined documents. Signatures are themselves structured as FSML blocks, as are the X.509 certificates needed by downstream processors to verify the signatures. Thus signatures and certificates become part of the FSML document, so they can be verified and counter-signed by later signers.
"Like HTML and other pioneering specifications such as OFX (Open Financial Exchange), FSML is based on the SGML (Standard General Markup Language). Even though FSML uses only simple SGML features, FSML does not conform to XML (Extensible Markup Language), a later and smaller version of SGML. The most obvious difference is that XML requires that every start tag have a balancing end tag, while FSML omits end tags from leaf elements for the sake of brevity... FSML tags and contents are implemented using 7-bit ASCII text. Rules for limiting line lengths, inserting and removing line ends, and processing spaces at the beginning and ends of lines are defined. As a result, the plain text FSML document is compatible with transmission via most email systems. However, SGML character entities can be used to express the full Unicode character set for items such as names."
"eChecks are based on: (1) the Financial Services Markup Language (FSML); (2) strong digital signatures using any available algorithm; (3) secure hardware tokens such as smartcards; (4) digital certificates; (5) banking and business practices."
eCheck Overview: "An eCheck is the electronic version or representation of a paper check. eCheck, a new payment instrument combining the security, speed and processing efficiencies of all-electronic transactions with the familiar and well-developed legal infrastructure and business processes associated with paper checks, is the first and only electronic payment mechanism chosen by the United States Treasury to make high-value payments over the public Internet. eChecks have important new features. They offer: (1) the ability to conduct bank transactions, yet are safe enough to use on the Internet (2) unlimited, but controlled, information carrying capability (3) reduces fraud losses for all parties (4) automatic verification of content and validity (5) traditional checking features such as stop payments and easy reconciliation (6) enhanced capabilities such as effective dating..."
References:
- eCheck.org Initiative
- FSML specifications list
- Financial Services Markup Language Version 1.5 Brief
- FSML version 1.5 DTD
- Financial Services Markup Language Version 1.5. Written by the members of the FSTC Electronic Check Project Team. Edited by Jeff Kravitz (IBM Research). 158 pages. [cache]
- FSML 2.0 Logging Change Proposal
- eCheck.org library
- Architectural Overview of the FSTC eCheck System. "This draft document [PDF] provides an overview of how the FSTC eCheck application works within an overall system context. It explains what an eCheck is, and the applications used to create, send, receive, endorse and deposit echecks. Also described are the bank clearing and settlement systems used to handle eCheck deposits, and subsequently credit and debit the appropriate accounts. This architectural overview is being released along with the FSML eCheck technical specification because it may provide useful context for understanding FSML and the role FSML plays in the eCheck application."