Skip to content

XmlGoaml is a .NET project designed for processing XML data with advanced validation against XSD schemas, specifically targeting reports related to financial intelligence and suspicious activity reporting, aligned with the goAML standards.

License

Notifications You must be signed in to change notification settings

core-laboratories/XmlGoaml

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

XmlGoaml

XmlGoaml is a .NET project designed for processing XML data with advanced validation against XSD schemas, specifically targeting reports related to financial intelligence and suspicious activity reporting, aligned with the goAML standards.

goAML

The goAML application is a fully integrated software solution developed specifically for use by Financial Intelligence Units (FIU's) and is one of UNODC's strategic responses to financial crime, including money-laundering and terrorist financing. Financial Intelligence Units play a leading role in any anti-money laundering regime as they are generally responsible for receiving, processing and analyzing reports made by financial institutions or other entities according to the requirements of domestic anti-money laundering laws and regulations. Such reports and other information gathered by FIU's often provide the basis for investigations into money laundering, terrorist financing and other serious offences. goAML is specifically designed to meet the data collection, management, analytical, document management, workflow and statistical needs of any Finance Intelligence Unit. The goAML application was developed by the Information Technology Service (ITS) of UNODC in partnership with the UNODC Global Programme Against Money Laundering, Proceeds of Crime and the Financing of Terrorism (GPML).

Features

  • XML Generation: Generate XML files from your parameters.
  • XML Validation: Validate XML against a provided XSD schema. (You need to connect XSD schema.)

XSD schema

There are various versions of goAML XSD schema. You should include proper one which will suit your requirements.

To connect schema:

var xmlDownloader = new XmlDownloader(@"path\to\your\schema.xsd");

Getting Started

Prerequisites

  • .NET 7.0 SDK

Building the Project

Clone the repository and build the project using the following commands:

git clone https://github.com/core-laboratories/XmlGoaml.git
cd XmlGoaml
dotnet build XmlGoamlSolution.sln

Running the Tests

Note: Due to limitations with the provided XSD schema, the validation tests are excluded. The XML schema may include unsupported elements such as assert that are not compatible with the .NET XSD validation library. Consequently, these validation tests are not automated and require manual inspection or a different validation approach.

Run the tests using the following command:

dotnet test XmlGoamlSolution.sln

Usage

using XmlGoaml;
var xmlDownloader = new XmlDownloader(@"path\to\your\schema.xsd");

Application Overview

The XmlGoaml application is designed to facilitate the creation, conversion, and validation of XML reports in compliance with the United Nations Office on Drugs and Crime's (UNODC) goAML standards. These standards are used globally for suspicious activity reporting by financial institutions to financial intelligence units.

For more information on goAML, you can visit the following resources:

License

This project is licensed under the CORE License - see the LICENSE file for details.

About

XmlGoaml is a .NET project designed for processing XML data with advanced validation against XSD schemas, specifically targeting reports related to financial intelligence and suspicious activity reporting, aligned with the goAML standards.

Topics

Resources

License

Stars

Watchers

Forks

Languages