RsML Namespace

RnE’s Structured Markup Language

Published on 21 January 2025 by Jing Huang.

This page describes the namespace for RsML, an XML schema for writing technical or non-technical documents. At the present time RsML can be transformed into clean and semantically rich HTML5, while TeX output support is on the roadmap1.

1. RelaxNG Compact Schema

This is non-normative schema, and can be used for manuscript validating by jing.jar or Emacs nXML mode. It can be converted to the XML syntax using Trang.

2. XSLT 1.0 Style Sheet

This is the transformation sheet for RsML written in XSLT 1.0 with compatibility in mind. Thus most implementations for instance libxslt and most web browsers should be able to handle it.

The idea for the current implementation of program listings is borrowed from LdBeth which renders line numbers correctly in text-based web browsers like w3m. However it has poor performance when processing very large listings as recursive templates are inevitably used.

2.1. External Math Support

RsML supports inline and display equations. You can express any equations in TeX or Content MathML, and use BlahTeXML or the modified version of David Carlisle’s c2p.xsl to convert it to Presentational MathML.

The web.xsl style sheet processes math elements by simply stripping any XML namespaces and extracting their local-name(). This allows equations to be written in theoretically any form, and they will still work with an appropriate preprocesser.

3. Cascading Style Sheet

This CSS style sheet is suitable for online presentation and for producing print output. Note that this contains vendor specific CSS attributes. The web browser I used for testing is Safari.

4. Other Resources

RsML is continuously maintained and developed at GitHub. You can download the latest source there.

This page is written with RsML, with web.xsl style sheet applied by the browser you are currently using.