« MBS Xojo Plugins, ver… | Home | Saxon in MBS Xojo XML… »

Saxon in MBS FileMaker Plugin

You can use the Saxon library in your projects with MBS Plugin to work on XML:

  • XSLT 3.0 for transformations
  • XQuery 3.1 for queries
  • XSD 1.1 for document validation
  • XPath 3.1 for navigation within documents

You can get a Pro or Enterprise Validation license from us.

Download and Documentation

See Saxon functions for MBS FileMaker Plugin.

Pre-release Downloads here. Example databases included.

Trial

You can try all features without a license.

The MBS Plugin may show the missing license dialog or report an error on random about missing license.

Saxon library itself returns result with missing license notices.

Saxon Professional Edition

If you purchase a MBS Plugin license with Saxon-PE, you can use the following features:

XSLT (Transformation Processing)

  • XSLT 3.0 Basic Processor
    Provides all mandatory features from the XSLT 3.0 specification (including try/ catch, iterate, accumulators, maps, named modes, content value templates, and extended patterns, as well as features retained from XSLT 2.0).
  • XSLT 3.0 Serialization
    Provides the serialization feature: specifically, the ability to convert the result trees produced as output of an XSLT transformation to lexical XML, or other formats including HTML, JSON, and plain text, under the control of serialization parameters defined in the stylesheet or via an external API.
  • XSLT 3.0 Compatibility
    Provides XSLT 1.0 compatibility mode as defined in the XSLT 3.0 specification. If a stylesheet specifies version="1.0", this causes certain constructs to behave in a way that retains the XSLT 1.0 behavior.
  • SLT 3.0 Dynamic Evaluation
    Provides use of the XSLT 3.0 instruction xsl:evaluate, which allows dynamic evaluation of XPath expressions.
  • XSLT 3.0 XPath 3.1 Feature
    Provides full use of XPath 3.1 features, including XPath 3.1 functions, and maps and arrays.
    Note: Saxon supports XPath 3.1 unconditionally in XSLT 3.0 stylesheets, it does not offer a processing mode in which XPath is restricted to version 3.0.
  • XSLT 3.0 Higher-Order Functions
    Provides higher-order functions: specifically, the ability to use functions as values, including dynamic function calls, inline functions, partial function application, and the standard higher-order functions defined in the XPath 3.1 function library.

XPath

  • XPath 3.1 Basic
    Provides all XPath 3.1 features which do not require schema-awareness or higher-order functions. This includes an implementation of maps and arrays, and support for JSON, as well as language constructs retained from earlier XPath versions.
  • XPath 3.1 Higher-Order
    Provides higher-order functions: specifically, the ability to use functions as values, including dynamic function calls, inline functions, partial function application, and a library of built-in higher-order functions.

XQuery

  • XQuery 3.1 Minimal Conformance
    Provides Minimal Conformance (including try/catch and "group-by", as well as language features retained from earlier XQuery versions) as defined in section 5 of the XQuery 3.1 specification.
  • XQuery 3.1 Modules
    Provides the Module feature, which allows a query to be made up of multiple modules.
  • XQuery 3.1 Serialization
    Provides the Serialization feature. This allows the output of a query to be serialized as lexical XML, or in other formats including HTML, JSON, and plain text, under the control of serialization parameters contained either in the query itself, or supplied externally.
  • XQuery 3.1 Higher-Order
    Provides the Higher-Order Function feature. This provides the ability to use functions as values, including dynamic function calls, inline functions, partial function application, and a library of built-in higher-order functions.

Import stylesheet packages

  • Import stylesheet packages
    Allows the importing of stylesheet packages in compiled form. Possible with all editions provided the package only uses features available in that edition. Note that this edition does not provide the ability to create compiled stylesheet packages. For more details see: Compiling a stylesheet.
  • Optimizer (Basic)
    The Basic optimizer provided with all Saxon editions provides a wide range of static and dynamic optimizations including full pipelining of list operations, lazy evaluation of variables, elimination of redundant sorting operations, etc.
  • Reading W3C schemas and DTDs
    The W3C web server routinely rejects requests for commonly-referenced files such as the DTD for XHTML, causing parsing failures. In response to this, Saxon now includes copies of these documents within the issued JAR/DLL file, and recognizes requests for these documents, satisfying the request using the local copy.

Extensibility

  • EXSLT extension functions
    A selection of EXSLT extension functions are provided (in the modules Common, Dates and Times, Math, Random, and Sets), as listed in the documentation. For more details see: EXSLT extensions.
  • EXPath extension functions
    A selection of EXPath extension functions are provided (in the modules Archive, Binary, and File), as listed in the documentation. For more details see: EXPath extensions.
  • Saxon extension functions (Basic)
    Extension functions, as listed in the documentation, in the Saxon namespace. The Basic level excludes extension functions that depend on streaming or schema-awareness.

Not included:

  • XSLT 3.0 Schema Awareness, XSLT 3.0 Streaming.

  • XQuery 3.1 Schema Aware, XQuery 3.1 Typed Data, XQuery 3.1 Static Typing, XQuery Update 1.0.

Saxon Enterprise Edition with Validation

If you purchase a MBS Plugin license with Saxon-EEV, you can use the features listed above as well as the following features:

XPath 3.1 Schema Aware

Provides schema-awareness: specifically, any use of source documents with type annotations, and any use of XPath expressions that contain the names of schema components such as element declarations and types, other than the built-in types.

XSD (XML Schema Validation)

  • XML Schema 1.0 Validation
  • Saxon includes a complete implementation of XML Schema 1.0. This provides the ability to process XSD 1.0 schema documents and use them to validate instance documents. Note that Saxon does not expose the full PSVI, as required by the conformance rules in the XSD 1.0 Recommendation. Also includes Saxon extension functions to provide access to a compiled schema.
    From Saxon 10, the Saxon schema processor accepts XSD 1.1 syntax unconditionally. XSD 1.0 schemas are processed according to the rules of the XSD 1.1 specification. This offers a very high level of backwards compatibility, except in a few areas where the XSD 1.0 rules were unclear and have been clarified in the XSD 1.1 recommendation.
  • XML Schema 1.1 Validation
  • Saxon includes a complete implementation of XML Schema 1.1. This provides the ability to process schema documents that use the new features of XSD 1.1, and use them to validate instance documents. More specifically, in the language of section 2.4 of the specification, it is a General-Purpose Web-Aware Validator. Also includes Saxon extension functions to provide access to a compiled schema.

Multi-threading (XPath)

Takes advantage of multi-core CPUs by providing automatic parallel execution of the collection() function.

Streaming (XPath and XQuery)

Provides saxon:stream(), an extension function to allow large documents to be processed without holding the whole document in memory.

Saxon extension functions (Advanced)

Extension functions, as listed in the documentation, in the Saxon namespace. The Advanced level includes those that depend on streaming or schema-awareness: saxon:schema(), saxon:stream(), and saxon:validate().

07 01 25 - 13:00