Welcome to Rexsel
Note
This site is still under construction and some of the pages are still changable. The menu system is not finished. Please be patient!

Rexsel is a simplified (compact) version of XSLT. It does not use XML to write the code, rather a simplified, easy to read language. It has been successfully used on the Paloose site, and this site. In both cases generating all the necessary XSLT transform files. This is done when the site is built and uploaded to the server, rather than being performed on each browser request.

It was conceived after many years of writing XSLT templates for translating XML into various forms: XML, XHTML, Swift code, and even LaTeX. While the underlying structure is virtually identical to XSLT, it is hoped that the result will help users produce more concise, readable stylesheets independent of XML.

stylesheet { version "1.0" proc helloWorld { element "div" { attribute "class" "simpleBox" text "Hello World!" } } }

Rexsel was developed on a Mac using Xcode and Swift as the underlying language, however the actual compiler kernel is "OS neutral". The compiler (RexselKernel) is written as a Swift Package, currently here, and there is a command line application (CRexsel) currently here which is also also a Swift Package, that uses the RexselKernel package. Both can be built on any system that supports Swift. Currently it has been rxtensively tested on a MacOS system and a Parallels based Ubuntu and Fedora Linux, both running on MacOS 14.4.1 Sonora on a M2 Mac Mini.

The CRexsel application also provides an "uncompiler" function that takes existing XSLT files and translates them to a basic Rexsel format (ignoring XML comments). This should make migrating XSLT stylesheets into Rexsel much easier.

There is a MacOS only application, using the same RexselKernel package, that provides an editor and real-time compile function.

Added fallback element
Updated RexselKernel and CRexsel to XSLT1.1
Updated "language" attribute in sort within the RexselKernel.
Updated PDF documentation
Change to function keyword
Copyright 2024 Hugh Field-Richards. All Rights Reserved.