Welcome to Rexsel Rexsel is a simplified (compact, non-XML), easy to read version of XSLT (currently only 1.0 and 1.1). It is similar to the relationship between Relax-NG and its compact form. It has been extensively used throughout the Paloose, Hop Vine Music sites, as well as this site, generating all the necessary XSLT transform files that are used by the Paloose engine. The translation to XSLT 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. I had been exploring a means to display XSLT in compact form (without the burden of the XML) within a Web page. It then occurred to me that if I can do this, then why not take a pretty-printed version and translate it into the original XSLT — and thus the origins of Rexsel. While the underlying structure is similar to XSLT, it is hoped that the result will help users produce more concise, readable stylesheets, independent of XML. For example the following Rexsel code stylesheet {
version "1.0"
proc helloWorld {
element "div" {
attribute "class" "simpleBox"
text "Hello World!"
}
}
} will generate the XSLT <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<xsl:template name="helloWorld">
<xsl:element name="div">
<xsl:attribute name="class">
<xsl:text>simpleBox</xsl:text>
</xsl:attribute>
<xsl:text>Hello World!</xsl:text>
</xsl:element>
</xsl:template>
</xsl:stylesheet>
Although Rexsel was developed on a Mac using Xcode and Swift, the compiler (RexselKernel 6) is “OS neutral”, currently running on Linux and MacOS. The compiler is written as a Swift Package, and there is a command line application (CRexsel) currently here which is also also a Swift Package, that uses the RexselKernel package. Rexsel was developed on a Mac using Xcode with 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 extensively tested on a MacOS system and a Parallels based Ubuntu and Fedora Linux, both running on MacOS 15.3 Sequoia (and later) 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, RexselEditor, that uses the same RexselKernel package, providing a source code editor and real-time compile function. It adds a variety of checks on the final XSLT code that most ‘straight’ editors do not implement. | Valid parameter detection in call. Update to Compiler (XPathValidator). New version of RexselEditor (1.7.0). New version of RexselEditor (1.2.0). New version of RexselEditor (1.2.2). |