Skip to content

eForms SDK 2.0.0-alpha.3

Pre-release
Pre-release

Choose a tag to compare

@yfanti yfanti released this 04 Sep 14:53
· 1 commit to efx-2 since this release
a0f5c33

eForms SDK 2.0.0-alpha.3 Release Notes

SDK 2.0.0-alpha.3 is the third in a series of pre-releases of the upcoming eForms SDK 2.0.0, building on alpha.1 and alpha.2.

Caution: Pre-release

Please be aware that this is a pre-release version intended to give you a chance to preview and follow the development of the next major version of the SDK.

Objective

The goal of SDK 2 is to introduce a new version of EFX (the eForms Expression Language) that:

  • enhances the template definition vocabulary to allow more accurate and user-friendly notice visualisation that is easier to maintain and share,
  • improves the ability of the language to express business rules with completeness and simplicity, enabling porting of validation rules to engines other than Schematron and supporting live validation on different target platforms,
  • enhances the language in ways that improve its expressiveness and readability, making it easier to write, read, maintain and interpret.

Contents

SDK 2.0.0-alpha.3 adds one construct to the EFX-2 grammar. The metadata it carries is the same as that of SDK 1.16.0-beta.1.

EFX Grammar Changes

EFX Expressions

  • Selectors: an expression can now be written so that it identifies the XML elements a reference points to, rather than the values held in them. It is written &{reference}, or WITH context SELECT reference, alongside the existing ${expression} and WITH ... COMPUTE ... forms.

    Selectors are a distinct kind of EFX expression, useful when integrating an EFX processor with a processor native to the underlying data structure. In such a scenario we need pointers to the data (e.g. XPath, JSONPath) rather than the data values themselves — for example, allowing an EFX expression to determine which XML elements Saxon should select.

    The same construct has been added to EFX-1, so that both versions of the language can express it.

Download

You can download the latest version of the eForms SDK from GitHub.

GitHub release