Official sources, GitHub repository, community, and training offerings
This appendix collects the external resources that a FundsXML practitioner is most likely to need. It is organised by category rather than alphabetically, so that a reader looking for a specific kind of resource can find the right section quickly. URLs are current as of early 2026; if a link has moved by the time you read this, the organisation name and resource description should give you enough context to find the new location.
The FundsXML association is the non-profit body that stewards the standard. Its website is the authoritative source for governance information, membership details, working-group schedules, and announcements.
- FundsXML association website — https://www.fundsxml.org — The official home of the standard. Contains the current schema files, the release changelog, the membership list, the board composition, and the working-group calendar. The website also hosts the association's contact form for enquiries about membership, schema questions, and working-group participation.
- FundsXML GitHub repository — https://github.com/fundsxml — The public repository where the schema files, sample documents, and related tooling are maintained. The issue tracker on the repository is the primary channel for reporting schema bugs, requesting clarifications, and proposing new features. Readers who want to contribute should start here. → Chapter 14 for the contribution process.
- FundsXML schema releases — https://github.com/fundsxml/schema/releases — Tagged releases of the FundsXML schema, each with the XSD file, changelog, and release notes. The URL pattern
https://github.com/fundsxml/schema/releases/download/{version}/FundsXML.xsdgives direct access to any version (see §4.7.2). - FundsXML implementation guide — https://www.fundsxml.org/implementation-guide/ — Practical guidance for getting started with the standard, including the root-element declaration and schema referencing.
- FundsXML downloads — https://www.fundsxml.org/downloads/ — Schema files, sample documents, and supplementary materials available for direct download.
- FundsXML community — https://www.fundsxml.org/community/ — Community resources, discussion channels, and announcements.
- FundsXML4.xsd — Available from https://github.com/fundsxml/schema/releases and from the association website. The file is approximately 1.7 MB and defines the complete structure of a valid FundsXML 4.x document.
- xmldsig-core-schema.xsd — The W3C XML Digital Signature schema, imported by
FundsXML4.xsdfor the optionalds:Signatureelement. Available from https://www.w3.org/TR/xmldsig-core/ and typically bundled with the FundsXML schema distribution. - FundsXML Online Schema Documentation — https://fundsxml.github.io — An interactive, browser-based reference for the FundsXML 4.x schema. Every element is navigable by XPath: appending
?xpath=/FundsXML4/ControlDatato the URL, for example, opens the documentation for theControlDatanode directly. The documentation shows each element's type, cardinality, child elements, and annotations. This is the quickest way to look up a specific node without opening the XSD in an editor. Throughout this book, element names in the running text link directly to the corresponding page in this documentation. Table E.1 below lists the most important entry points. - FundsXML Release Changelog — Published alongside each release on https://github.com/fundsxml/schema/releases, the changelog enumerates every field added, removed, or changed. Essential reading when upgrading a pipeline from one version to the next.
- FundsXML Documentation — https://www.fundsxml.org/downloads/ — The association publishes supplementary documentation for the schema, including element-by-element descriptions, usage guidelines, and worked examples.
The five FinDatEx regulatory templates embedded in FundsXML are published and maintained by FinDatEx, not by the FundsXML association. Each template has its own specification document, field-by-field definition, and version history.
- FinDatEx website — https://findatex.eu — The official home of the European Working Group on Investment Data Exchange. Contains the current versions of all templates, the consultation documents for upcoming versions, and the working-group meeting calendar.
- EMT (European MiFID Template) — Current version: v4.3. The specification document defines approximately 150 fields covering target market, costs, risk classification, and distribution strategy. Published as an Excel workbook with field definitions and as a PDF specification.
- EPT (European PRIIPs Template) — Current version: v2.1. Defines the inputs needed for PRIIPs KID generation: performance scenarios, cost structures, risk indicators, and recommended holding periods.
- EET (European ESG Template) — Current version: v1.1.3. Carries SFDR-mandated sustainability disclosures: PAI indicators, Taxonomy alignment percentages, sustainable investment share, and exclusions policy.
- EFT (European Feedback Template) — Current version: v1.0. Facilitates the exchange of feeder-fund-specific information between feeder and master funds.
- TPT (Tripartite Template) — Current version: v7.0. Used for institutional Solvency II reporting of portfolio composition between asset managers, insurance clients, and their regulators.
FreeXmlToolkit is the open-source desktop application covered in Chapter 11. It provides an integrated environment for editing, validating, transforming, and signing FundsXML files.
- FreeXmlToolkit GitHub repository — https://github.com/karlkauc/FreeXmlToolkit — Source code, binary releases, issue tracker, and contribution guide. The application is written in Java and JavaFX and runs on Windows, macOS, and Linux.
- xmllint — https://gitlab.gnome.org/GNOME/libxml2 — The command-line XML validator from the libxml2 project. Available on virtually all Linux and macOS systems and installable on Windows via MSYS2 or WSL. Used throughout this book for schema validation. Invocation:
xmllint --schema FundsXML4.xsd file.xml --noout. - Saxon — https://www.saxonica.com — The reference XSLT 2.0 / 3.0 and XPath 2.0 / 3.1 processor, available in open-source (Saxon-HE) and commercial (Saxon-PE, Saxon-EE) editions. Useful for Schematron validation (which requires an XSLT processor) and for complex XPath queries.
- lxml (Python) — https://lxml.de — The Python binding for libxml2 and libxslt. Provides schema validation, XPath queries, XSLT transformation, and ISO Schematron support through the
lxml.isoschematronmodule. Used in the Chapter 10 and Chapter 12 code examples.
The four languages covered in Chapter 12 each have standard XML libraries suitable for FundsXML work:
- Java: JAXP — The Java API for XML Processing, included in the standard JDK. Provides DOM, SAX, StAX parsing, XPath evaluation, schema validation, and XSLT transformation.
- Python: lxml — See above. The
lxml.etreemodule is the recommended library for FundsXML work in Python. - C#: System.Xml.Linq (LINQ to XML) — The .NET standard library for XML processing. Provides XDocument/XElement for document construction and query, plus XmlSchemaSet for validation.
- JavaScript/Node.js: fast-xml-parser — https://www.npmjs.com/package/fast-xml-parser — A high-performance XML parser for Node.js. Used in the Chapter 12 example. Alternative:
xml2jsfor a more DOM-like API.
The regulatory frameworks that drive FundsXML's content — particularly the FinDatEx template content — are published by the European Commission and by ESMA. The primary references are:
- UCITS Directive — Directive 2009/65/EC of the European Parliament and of the Council. The foundational directive for European retail investment funds. Consolidated text available on EUR-Lex.
- AIFMD — Directive 2011/61/EU on alternative investment fund managers. The companion directive for non-UCITS funds. AIFMD II (adopted 2024) amends the original.
- MiFID II — Directive 2014/65/EU on markets in financial instruments. The directive that drives the EMT template's target-market and cost-disclosure requirements.
- PRIIPs Regulation — Regulation (EU) No 1286/2014 on key information documents for packaged retail investment products. The regulation that drives the EPT template's KID-generation inputs.
- SFDR — Regulation (EU) 2019/2088 on sustainability-related disclosures in the financial services sector. The regulation that drives the EET template's ESG disclosures.
- Taxonomy Regulation — Regulation (EU) 2020/852 on the establishment of a framework to facilitate sustainable investment. Defines the criteria for environmentally sustainable economic activities referenced by the EET.
- ESAP Regulation — Regulation (EU) 2023/2859 establishing a European Single Access Point. Scheduled to become operational in 2027; relevant for producers whose deliveries will flow into the centralised platform. → Chapter 14.
- EUR-Lex — https://eur-lex.europa.eu — The official portal for EU law. All regulations and directives referenced above are available in all EU languages, with consolidated texts that incorporate subsequent amendments.
- ISO 6166 (ISIN) — The international standard for securities identification numbers. ISINs are issued by national numbering agencies and are the primary instrument identifier in FundsXML.
- ISO 17442 (LEI) — The international standard for legal entity identifiers. LEIs are issued by local operating units under the oversight of GLEIF.
- GLEIF (Global LEI Foundation) — https://www.gleif.org — The foundation that oversees the global LEI system. Its website provides a free LEI lookup service, bulk data downloads, and documentation on LEI validation (including the check-digit algorithm).
- ISO 4217 (Currency Codes) — The international standard for three-letter currency codes used in FundsXML's
ISOCurrencyCodeType. - ISO 3166 (Country Codes) — The international standard for two-letter country codes used in FundsXML's
ISOCountryCodeType. - ISO 10962 (CFI) — The Classification of Financial Instruments standard. Six-character codes that classify instruments by category, group, and attribute.
- ISO 10383 (MIC) — The Market Identifier Code standard. Four-character codes identifying trading venues.
- FundsXML annual conference — The association organises an annual conference (typically in Vienna or a rotating European city) where practitioners, vendors, and regulators meet to discuss the state of the standard, share implementation experiences, and plan future development. The conference is open to members and, on a registration basis, to non-members.
- Working-group meetings — The association's working groups meet monthly by video conference and are the primary venue for hands-on schema development. Participation is open to members and, on invitation, to external experts. → Chapter 14 for how to join.
- FundsXML on LinkedIn — https://www.linkedin.com/company/fundsxml — The association maintains a LinkedIn presence where announcements, conference invitations, and community news are posted.
- FundsXML on YouTube — https://www.youtube.com/channel/UCzSMxta13eDlYQPEmH2_iww — Webinars, conference recordings, and tutorial videos.
- W3C XML specifications — https://www.w3.org/XML/ — The W3C website hosts the authoritative specifications for XML 1.0, XML Schema (XSD), XPath, XSLT, and XML Digital Signatures. Essential reading for practitioners who want to understand the technology layer beneath FundsXML. → Appendix B for a condensed reference.
- This book — FundsXML — The European Standard for Fund Data Exchange is itself intended as a community resource. Feedback, corrections, and suggestions for future editions are welcome: select any passage in the online edition at fundsxml.github.io/book and choose Report an issue, or open an issue directly at github.com/fundsxml/book/issues. Every report is reviewed by the maintainers before any change is made.
The following files accompany this book and are available for download from the book's repository. They are designed to be used together: the sample FundsXML file provides the input, and the XSLT stylesheets and programming-language scripts process it. Readers are encouraged to download all files, run the examples, and adapt them to their own FundsXML data.
| File | Description | Chapters |
|---|---|---|
europa_growth_fund.xml |
Complete, schema-valid FundsXML 4.2.2 document for the fictional Europa Growth Fund. Contains ControlData, fund static data (domicile, entities), three share classes with prices and NAVs, fifteen portfolio positions (equities, bonds, FX forward, cash), and asset master data for all referenced instruments. This is the single input file for all examples below. | 4–8, 12 |
FundsXML.xsd |
The FundsXML 4.2.2 schema definition file, for offline validation. Validate the sample file with: xmllint --noout --schema FundsXML.xsd europa_growth_fund.xml |
2, 10 |
All stylesheets are XSLT 1.0 and can be run with xsltproc (bundled with libxml2 on Linux and macOS), with Saxon, or with any XSLT-capable library (Python lxml, Java javax.xml.transform, .NET System.Xml.Xsl).
| File | Description | Chapter |
|---|---|---|
examples/xslt/shareclass_csv.xsl |
Extracts a multi-column CSV of share-class data (fund name, LEI, ISIN, share-class name, currency, NAV date). Run: xsltproc examples/xslt/shareclass_csv.xsl europa_growth_fund.xml |
§2.12.2 |
examples/xslt/factsheet_simple.xsl |
Produces a self-contained HTML fact sheet with fund metadata table (LEI, currency, NAV, dates) and a share-class listing. | §2.12.3 |
examples/xslt/dq_nav_check.xsl |
Data-quality check: verifies that portfolio position values sum to the fund's total net asset value, with rounding tolerance. | §2.12.4 |
examples/xslt/factsheet.xsl |
Produces a self-contained HTML fact sheet with a table showing LEI, currency, NAV, NAV date, and content date. | §12.3.7 |
examples/xslt/positions_csv.xsl |
Exports all portfolio positions as a CSV file, joining position data with asset master data via the UniqueID/IDREF mechanism. | §12.3.7 |
Each script reads or processes europa_growth_fund.xml. Run instructions and dependency notes are included as comments at the top of each file.
Python (requires lxml; install with pip install lxml)
| File | Description | Chapter |
|---|---|---|
examples/python/read_fund.py |
Reads a FundsXML file and prints the fund name, LEI, and total NAV. | §12.3.2 |
examples/python/import_fund.py |
Parses a FundsXML file and imports fund data and portfolio positions into PostgreSQL. Requires psycopg. |
§12.5.1 |
examples/python/export_fund.py |
Queries fund data from PostgreSQL and reconstructs a FundsXML fragment. Requires psycopg. |
§12.5.1 |
Java (JDK 17+; external libraries noted per file)
| File | Description | Chapter |
|---|---|---|
examples/java/ReadFund.java |
Reads a FundsXML file with JAXP and XPath (no external dependencies). | §12.3.3 |
examples/java/FundsXmlToMongo.java |
Imports a FundsXML file into MongoDB. Requires mongodb-driver-sync. |
§12.5.2 |
examples/java/MongoToFundsXml.java |
Exports fund data from MongoDB and builds a FundsXML fragment with JAXP DOM. Requires mongodb-driver-sync. |
§12.5.2 |
examples/java/FundsXmlToBaseX.java |
Imports a FundsXML file into a BaseX XML database. Requires org.basex:basex. |
§12.5.3 |
examples/java/BaseXQuery.java |
Queries and exports fund data from BaseX using embedded XQuery. Requires org.basex:basex. |
§12.5.3 |
C# (.NET 8+)
| File | Description | Chapter |
|---|---|---|
examples/csharp/ReadFund.cs |
Reads a FundsXML file with LINQ to XML (no external dependencies). | §12.3.4 |
JavaScript / Node.js (requires fast-xml-parser; install with npm install fast-xml-parser)
| File | Description | Chapter |
|---|---|---|
examples/javascript/read_fund.mjs |
Reads a FundsXML file with fast-xml-parser. | §12.3.5 |
The interactive schema documentation at https://fundsxml.github.io allows direct navigation to any element via an XPath parameter in the URL. The general pattern is:
https://fundsxml.github.io/index.html?xpath=/FundsXML4/…
Table E.1 lists the most frequently needed entry points. Each URL opens the documentation page for the corresponding node, showing its type definition, cardinality, child elements, and schema annotations.
Table E.1 — Key entry points into the FundsXML Online Schema Documentation
| Schema Area | XPath | URL | Treated in |
|---|---|---|---|
| Root element | /FundsXML4 |
fundsxml.github.io/…?xpath=/FundsXML4 | Chapter 3 |
| ControlData | /FundsXML4/ControlData |
fundsxml.github.io/…?xpath=/FundsXML4/ControlData | Chapter 4 |
| Funds container | /FundsXML4/Funds |
fundsxml.github.io/…?xpath=/FundsXML4/Funds | Chapter 5 |
| Fund element | /FundsXML4/Funds/Fund |
fundsxml.github.io/…?xpath=/FundsXML4/Funds/Fund | Chapter 5 |
| FundStaticData | /FundsXML4/Funds/Fund/FundStaticData |
fundsxml.github.io/…?xpath=/FundsXML4/Funds/Fund/FundStaticData | Chapter 5 |
| FundDynamicData | /FundsXML4/Funds/Fund/FundDynamicData |
fundsxml.github.io/…?xpath=/FundsXML4/Funds/Fund/FundDynamicData | Chapters 5, 6 |
| Share Classes | /FundsXML4/Funds/Fund/SingleFund/ShareClasses |
fundsxml.github.io/…?xpath=/FundsXML4/Funds/Fund/SingleFund/ShareClasses | Chapter 5 |
| Portfolio | /FundsXML4/Funds/Fund/FundDynamicData/Portfolios/Portfolio |
fundsxml.github.io/…?xpath=/FundsXML4/Funds/Fund/FundDynamicData/Portfolios/Portfolio | Chapter 6 |
| Positions | /FundsXML4/Funds/Fund/FundDynamicData/Portfolios/Portfolio/Positions |
fundsxml.github.io/…?xpath=/FundsXML4/Funds/Fund/FundDynamicData/Portfolios/Portfolio/Positions | Chapter 6 |
| AssetMasterData | /FundsXML4/AssetMasterData |
fundsxml.github.io/…?xpath=/FundsXML4/AssetMasterData | Chapter 6 |
| Transactions (Flows) | /FundsXML4/Funds/Fund/SingleFund/ShareClasses/ShareClass/Flows |
fundsxml.github.io/…?xpath=/FundsXML4/Funds/Fund/SingleFund/ShareClasses/ShareClass/Flows | Chapter 7 |
| RegulatoryReportings | /FundsXML4/RegulatoryReportings |
fundsxml.github.io/…?xpath=/FundsXML4/RegulatoryReportings | Chapter 8 |
| Documents | /FundsXML4/Documents |
fundsxml.github.io/…?xpath=/FundsXML4/Documents | Chapter 9 |
| CountrySpecificData | /FundsXML4/CountrySpecificData |
fundsxml.github.io/…?xpath=/FundsXML4/CountrySpecificData | Chapter 9 |
Readers are encouraged to bookmark the root URL and explore the schema tree interactively. The documentation is generated directly from the XSD and therefore always reflects the structure of the published schema version.