The MBS Xojo XML Plugin
All plugins
Documentation
Download
Mailing list
Order XML Plugin license
Order Complete Set License
Plugin Content
Our XML classes to parse and create XML documents. Use of Saxon library for XSLT 2.0 and 3.0.
This plugin is included in our plugin archive:
Download the MBS Xojo Plugins |
||||||
macOS MBS-Xojo-Plugins250.dmg |
Windows MBS-Xojo-Plugins250.zip |
Linux MBS-Xojo-Plugins250.zip |
||||
All archives contain the same content. |
MBS XML Plugin.pdf | 1.3M |
You can order a license here: Order
This plugin part is included if you order a Complete set license.
Our MBS Xojo XML Plugin is an alternative XML interface for Xojo and classes for Saxon library.
Saxon Library
Preview - You can try it now, and licensing options will come in a few weeks.
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
See Saxon classes. You can get a Pro or Enterprise Validation license from us.
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. - XSLT 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.
- 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.
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.
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().
XML Library
- Better unicode handling.
- Automatic cloning to avoid crashes seen with Xojo's XML classes.
- Better performance for a lot of operations.
- Based on open source xerces library.
- Fully embraces exceptions.
- Fully embraces iterators in Xojo to use for each loops.
- Evaluate XPath queries.
- Supports loading and parsing XML data in background thread.
- Allows walking over XML trees efficient with XMLTreeWalkerMBS and XMLNodeIteratorMBS classes.
- Customize writing XML with XMLSerializerMBS class and filter nodes with XMLSerializerFilterMBS class.
- Customize reading XML with XMLParserMBS class and filter nodes with XMLParserFilterMBS class.
The documentation for MBS XML Plugin:
show all functions and classes in this plugin.
Examples for this plugin:
Blog Entries
- Saxon in MBS Xojo XML Plugin
- News from the MBS Xojo Plugins Version 23.5
- Embracing for each loops
- MonkeyBread Software Releases the MBS Xojo Plugins in version 23.5
- News from the MBS Xojo Plugins Version 23.4
- News from the MBS Xojo Plugins Version 23.3
- News from the MBS Xojo Plugins in Version 23.0
- News from the MBS Xojo Plugins Version 22.5
- MonkeyBread Software Releases the MBS Xojo Plugins in version 22.5
- Iterate over XML nodes
Xojo Developer Magazine
- 22.1, page 9: News
- 21.5, page 10: News
- 21.3, page 10: News
- 21.2, page 9: News
- 21.2, pages 65 to 69: XML for Beginners, Using XML with the MBS Plugin by Stefanie Juchmes
- 21.1, page 28: News from MBS Xojo Plugins, What's up with MonkeyBread Software by Stefanie Juchmes
- 20.6, pages 8 to 9: News
Content of XML Plugin.