{"id":36417117,"url":"https://github.com/op-ted/efx-toolkit-java","last_synced_at":"2026-01-11T17:00:18.612Z","repository":{"id":39802712,"uuid":"487648089","full_name":"OP-TED/efx-toolkit-java","owner":"OP-TED","description":"This is an EFX translator written in Java. It supports multiple target languages. It includes an EFX expression translator to XPath. It is used to in the generation of the Schematron rules in the eForms SDK.","archived":false,"fork":false,"pushed_at":"2025-10-10T10:20:56.000Z","size":8340,"stargazers_count":12,"open_issues_count":0,"forks_count":1,"subscribers_count":5,"default_branch":"develop","last_synced_at":"2025-10-10T12:03:08.985Z","etag":null,"topics":["antlr4","eforms","java","library","transpiler","xpath"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"eupl-1.2","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/OP-TED.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2022-05-01T21:37:33.000Z","updated_at":"2025-08-05T14:53:44.000Z","dependencies_parsed_at":"2024-08-05T09:40:15.710Z","dependency_job_id":"54e99b63-ea96-4f1e-904b-c4dc80cde489","html_url":"https://github.com/OP-TED/efx-toolkit-java","commit_stats":null,"previous_names":[],"tags_count":16,"template":false,"template_full_name":null,"purl":"pkg:github/OP-TED/efx-toolkit-java","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OP-TED%2Fefx-toolkit-java","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OP-TED%2Fefx-toolkit-java/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OP-TED%2Fefx-toolkit-java/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OP-TED%2Fefx-toolkit-java/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/OP-TED","download_url":"https://codeload.github.com/OP-TED/efx-toolkit-java/tar.gz/refs/heads/develop","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OP-TED%2Fefx-toolkit-java/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28314254,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-11T14:58:17.114Z","status":"ssl_error","status_checked_at":"2026-01-11T14:55:53.580Z","response_time":60,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["antlr4","eforms","java","library","transpiler","xpath"],"created_at":"2026-01-11T17:00:15.992Z","updated_at":"2026-01-11T17:00:18.586Z","avatar_url":"https://github.com/OP-TED.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"**[:memo: Latest Release Notes](CHANGELOG.md)** | **[:package: Latest Release Artifacts](https://central.sonatype.com/artifact/eu.europa.ted.eforms/efx-toolkit-java)**\n\n---\n\n# Java toolkit for the eForms Expression Language (EFX)\n\nThe **EFX Toolkit[^1] for Java developers** is a library that enables the transpilation of [EFX](https://docs.ted.europa.eu/eforms/latest/efx) expressions and templates to different target languages. It also provides an implementation for translating EFX expressions to XPath.\n\nThe documentation is available at: https://docs.ted.europa.eu/eforms/latest/efx-toolkit\n\n## Using the EFX toolkit[^1]\n\nThe EFX toolkit requires Java 11 or later.\n\nIt is available as a Maven package on Maven Central and can be used by adding the following to the project's `pom.xml`.\n\n```XML\n\u003cdependencies\u003e\n  ...\n  \u003cdependency\u003e\n    \u003cgroupId\u003eeu.europa.ted.eforms\u003c/groupId\u003e\n    \u003cartifactId\u003eefx-toolkit-java\u003c/artifactId\u003e\n    \u003cversion\u003e${efx-toolkit.version}\u003c/version\u003e\n  \u003c/dependency\u003e\n  ...\n\u003c/dependencies\u003e\n```\n\nReplace `${efx-toolkit.version}` with the latest version available, or define the corresponding property in your `pom.xml`.\n\nThe [documentation](https://docs.ted.europa.eu/eforms/latest/efx-toolkit) describes the capabilities of the library, and the interfaces you might need to implement.\n\n## Building\n\nYou can build this project as usual using Maven.\n\nThe build process uses the grammar files provided in the [eForms SDK](https://github.com/OP-TED/eForms-SDK/tree/develop/efx-grammar) to generate a parser, using [ANTLR4](https://www.antlr.org).\n\n## Testing\n\nUnit tests are available under `src/test/java/`. They show in particular a variety of EFX expressions and the corresponding XPath expression.\n\nAfter running the unit tests with `mvn test`, you can generate a coverage report with `mvn jacoco:report`.\nThe report is available under `target/site/jacoco/`, in HTML, CSV, and XML format.\n\n## Download\n\nYou can download the latest EFX Toolkit from Maven Central.\n\n[![Maven Central](https://img.shields.io/maven-central/v/eu.europa.ted.eforms/efx-toolkit-java?label=Download%20\u0026style=flat-square)](https://central.sonatype.com/artifact/eu.europa.ted.eforms/efx-toolkit-java)\n\n[^1]: _Copyright 2022 European Union_  \n_Licensed under the EUPL, Version 1.2 or – as soon they will be approved by the European Commission –\nsubsequent versions of the EUPL (the \"Licence\");_\n_You may not use this work except in compliance with the Licence. You may obtain [a copy of the Licence here](LICENSE)._  \n_Unless required by applicable law or agreed to in writing, software distributed under the Licence is distributed on an \"AS IS\" basis, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the Licence for the specific language governing permissions and limitations under the Licence._\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fop-ted%2Fefx-toolkit-java","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fop-ted%2Fefx-toolkit-java","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fop-ted%2Fefx-toolkit-java/lists"}