https://github.com/slachiewicz/fpml-toolkit2
https://github.com/slachiewicz/fpml-toolkit2
Last synced: 11 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/slachiewicz/fpml-toolkit2
- Owner: slachiewicz
- License: osl-3.0
- Created: 2021-11-14T02:59:27.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2023-12-04T08:07:14.000Z (over 2 years ago)
- Last Synced: 2025-07-14T00:09:41.176Z (11 months ago)
- Language: Java
- Size: 7.57 MB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: readme.htm
- License: license.txt
Awesome Lists containing this project
README
HandCoded Toolkit for Java - Release Notes
Toolkit for FpML Processing
Java Open Source Release 1.8.1
November, 2015
Copyright (C),2006-2015 HandCoded Software Ltd.
All rights reserved.
Introduction
This document accompanies Java 1.8.1 release of the 'HandCoded Toolkit for FpML Processing'
and describes the contents of the release area. The source code for this release
is not included but is available from the SVN repository on SourceForge.
License
This toolkit is distributed under the terms if the 'Open Source License "OSL"
Version 3.0'. A full copy of the license terms is included in the repository (click
here to access) and must be distributed
along with this file if you distribute this code to other parties.
Directory Structure
The ZIP file that contained this release expands into a number of files and sub-directories.
The following briefly describes the purpose of each.
- readme.html (The file you are reading)
- license.txt
A copy of the license terms under which the toolkit is distributed. - handcoded.jar
This file contains all compiled Java class files for the toolkit and its demonstration
applications. - Validate*.bat
Running these files will execute a simple batch validation of a selection of FpML
examples. Some of the example file distributed with FpML contain some mistakes and
will output error messages. - Classify*.bat
Running these files will execute a simple program that uses the classification tools
within the toolkit to identify the financial product within the example files. - files-core & files-fpml
Contains an XML catalog file (and its associated schema) used to resolve DTD system
identifiers/schema namespace URIs to physical file locations and the business rule
configuration file.
- schemas
Contains a subdirectory for each version of the FpML as well as the schema for digital
signatures. - data
A set of XML data files containing the scheme code values defined by FpML for each
release and a set of additional definitions for currency and country codes. - examples
A copy of the FpML example file for each schema release. Some may contain mistakes
as many have not been properly validated. - test-cases
A copy of the FpML validation test files for both valid and invalid case. It is
important to note some valid test cases still generate errors, just not the one
they are supposed to test.
- schemas
- lib
Contains a copy of the Xerces JAR images used by the example application. See the
associated readme.txt file for version information.
Example Applications
The toolkit is accompanied by some simple test scripts that demonstrates its functionality
and performance.
Validation
The validation scripts (e.g. Validate5-9.bat, etc.) use a simple application (implemented
as the class demo.com.handcoded.fpml.Validate) to process one or more XML files.
Running one of the example batch files will process a small selection of FpML examples
displaying the results to the screen.
At the end of the run the program calculates the average processing time for
each file and displays the number of rules tested against each file as shown below.
>> files-fpml\examples\fpml5-9\confirmation\products\securities\sec-ex001-trade-execution-future.xml
>> files-fpml\examples\fpml5-9\confirmation\products\securities\sec-ex002-trade-execution-exchange-traded-option.xml
>> files-fpml\examples\fpml5-9\confirmation\products\variance-swaps\eqvs-ex01-variance-swap-index.xml
>> files-fpml\examples\fpml5-9\confirmation\products\variance-swaps\eqvs-ex02-variance-swap-single-stock.xml
>> files-fpml\examples\fpml5-9\confirmation\products\variance-swaps\eqvs-ex03-conditional-variance-swap.xml
>> files-fpml\examples\fpml5-9\confirmation\products\variance-swaps\eqvs-ex04-dispersion-variance-swap.xml
>> files-fpml\examples\fpml5-9\confirmation\products\variance-swaps\eqvs-ex05-dispersion-variance-swap-transaction-supplement.xml
>> files-fpml\examples\fpml5-9\confirmation\products\variance-swaps\eqvs-ex06-variance-option-transaction-supplement.xml
>> files-fpml\examples\fpml5-9\confirmation\products\volatility-swaps\eqvls-ex01-volatility-swap-index-matrix.xml
scheme-31 /requestConfirmation/trade/documentation/masterAgreement/masterAgreementType An unrecognized scheme URI has been used as a qualifier [http://dtcc.com/coding-scheme/master-agreement-type]
>> files-fpml\examples\fpml5-9\confirmation\products\volatility-swaps\eqvls-ex02-volatility-swap-index-mca.xml
== Processed 454 files in 1812 milliseconds
== 250.55187637969095 files/sec checking 480 rules
The application responds to a number of command line options and can be configured
to test the FpML defined rules (e.g. excludes HandCoded rules including scheme value
checking) or to use a more streamlined XML parsing technique that only supports
schema based instances from FpML 4.0 or later. The default configuration is to process
both DTD and schema based instances which is less efficient.
Futures releases will add further demonstration applications.
Support
If you find a problem using toolkit then please use the forum and bug reporting
facilities on the SourceForge
project site to record the issue.
Change History
Changes in 1.1:
- Support for FpML 4.3 LCWD and 4.4 WD
- Toolkit supports full ISO date/time/dateTime types with time zone offsets.
Changes in 1.2:
- Support for FpML 4.4 and 5.0 WD
- File based configuration for business rules.
- The NodeIndex class has been enhanced to understand schema type information and
inheritance by extension/restriction to make it easier to file matching elements. - Additional business rule sets for FX, Business Process, Pricing/Risk and references
- Additional scheme support (including canonical scheme URI changes)
Changes in 1.3:
- Support for FpML 4.5 and 4.6
- Numerous little fixes
Changes in 1.4:
- Support for FpML 4.7 and 5.0 LCWD
- File handling updated to allow schemas to be within a JAR file for web applications.
Changes in 1.5:
- Support for FpML 4.8, 4.9 and 5.1
- Release meta data has been moved from Java code into an XML data file
- The Java and C# rule sets have been partially resynchronised.
Changes in 1.5.2:
- Support for FpML 5.2 and 5.3
- Classification has been removed from the open source version of the toolkit.
Changes in 1.6:
- Resynchronisation with the C# code base.
- Lots of improvements to the rules and test files.
Changes in 1.6.2:
- Support for FpML 5.4
- A configuration file has been added to define the default schema set for applications.
Changes in 1.7:
- FpML 5.4 materials updated
- The scheme rule set has been extended to cover more code values.
- The rule sets for Java and C# have been synchronised.
- The download ZIP is now password protected. The password is available after registration.
Changes in 1.7.1:
- FpML 5.4 materials updated and 5.5 added
Changes in 1.7.2:
- FpML 5.5 materials updated and a few minor rule fixes.
Changes in 1.7.3:
- All of the FpML 5.1 thru 5.6 materials have been refreshed with the latest
public files. - Some internal changes have been made to allow 4.9 to 5.x document conversion to be
added in a future release.
Changes in 1.8:
- The materials for FpML 5.6 have been refreshed and versions 5.7 and 5.8 have
been added. - Some new methods have been added to the class library to support other
HandCoded developments and a number of typos have been fixed. - A new experimental trunk area has been added to the repository to allow the code
to be exported as Maven style Java project. SVN externals are used to
build the Maven directory structure without duplicating the code base. - XInclude is enabled while loading schema meta-data so each schema can
have its data in a separate file.
Changes in 1.8.1:
- The materials for FpML 5.9 have been added.