USoft Blend scripting framework
USoft Blend is a scripting framework that is proprietary to the USoft platform and has a broad range of practical applications.
The USoft Blend scripting framework is an XSLT 1.0 application enriched with extension functions programmed in C#.
For this reason, USoft Blend incorporates all the expression types and data types valid in XPath 1.0, the expression language embedded in XSLT 1.0, as well as the system of implicit data type conversion implemented in XSLT and XPath.
Also, USoft Blend combines operating system file paths, XML fragments, XPath expressions, and SQL statements to provide a complete and highly expressive tool. You can use USoft Blend to pack, exchange, install, deliver and maintain small and large USoft solutions: from snippets to complete business applications.
Generally, this technology is an alternative for conventional command-line scripts (such as Windows PowerShell scripts) for administering the upkeep and deployment of USoft applications and the installation of test repositories and tutorial repositories.
It is especially useful for operations that require USoft proprietary functions and other routines that USoft specialises in, such as repository data management features:
•Importing, exporting and comparing appdata or metadata via a Rules Engine.
•Creating an instant USoft repository from scratch. (This involves the USoft Create-Tables function.)
•Deploying a version of a USoft application on a target machine.
•Initialising test data.
USoft Blend may be called from the command line, but equally from a USoft runtime context, for example, from the SQL Command tool of a USoft application.
USoft Blend is the technology of choice for executing deployment operations in the USoft Delivery Manager tool. Delivery Manager offers code samples of how to script USoft Blend for deployment of deliverables released with Delivery Manager.
USoft Blend adds to the USoft platform:
•A script processor that interprets standard directives in USoft Blend scripts that execute proprietary USoft functions (running create-tables, publishing a Service Framework server or Web Designer publication...). These directives may be mixed with more general utility directives such as creating a folder on the file system or running an OS command.
•XSLT 2.0-like features such as dynamic XPath expressions, string manipulations, regular expressions and mathematical functions.
•Convenience functions such as diffs on node sets, file IO functions (path, directory, file, copy, move, zip), date formatting functions, device info functions, Text2XML converters, registry manipulation functions, and a stopwatch.
•The possibility to store string values and XML fragments in variables during script processing. Variable values may be queued, stacked, listed, and contained in dictionaries.
•The possibility for scripts to interact with the user in dialogs and on the console.
USoft Blend is technically a USoft-proprietary extension of XSLT 1.0. It consists of an XSLT stylesheet with extension elements and a set of extension functions programmed in .NET. The stylesheet processes XML elements in a USoft Blend script as directives (instructions) by calling, through an XSLT template that matches a given directive, one or more of the programmed functions.