GLOSS: some key features

As an application for generating XML, HTML and other marked-up documents, and as programming language, the GLOSS system incorporates some interesting ideas and has some noteworthy features, which are listed here for the technically-minded.

1 Modular programming

A well as being able to probram modes in MV files, the standard MV files are fully modular in themselves. An application typically starts by writing an MV that is a selection of standard modes. Amongst the standard modes are modes for dublin-core metadata for HTML, sectioning and numbering in HTML, presentation MathML and extensions, and modes for writing modes themselves. Modularity is achieved by a providing redefinable hooks to important public modes. There are some interesting theoretical issues conected with this style of programming.

2 No need to repeat complex text

A possible weakness of XML and HTML is that text often has to be repeated. For example, the rather common text

<a href="http://www.mysite.com/mypage.html">http://www.mysite.com/mypage.html</a>

involves repetition of a possibly rather long URL. Even the close-tags can be long enough to make significant delays and possible errors in direct authoring. One of the aims of GLOSS is to provide mechanisms to reduce or eliminate these delays or errors.

3 Use of HTML class attributes to present structured text

It might be argued that plain standards-compliant (X)HTML is a poor choice for academic work because it does not provide structured text with section-numbering etc. It is true that other formats are available that are more expressive in some areas (TEI, DOCBOOK...) However, the GLOSS-html modules that provide sectioning, theorems, proofs, and various other constructs do so in an elegant way (using HTML's class attribute) and are fully XHTML standards-compliant and can be transformed easily with CSS stylesheets.

I particularly like TEI, and would like to see TEI+MathML being used as a standard format. But there are some technical difficulties and the learning-curve is steeper, so I use XHTML at the moment. I would like to see a TEI option available at a later stage.

4 Use of a special XML vocabulary to define textual XML

Editing XML using the standard DOM is sometimes a problem as an XML dataset does not uniquely determine its textual representation. Many XML editors use a complex non-standard extension of the DOM to achieve their goals. GLOSS uses a special xmlrepresentation DTD, which allows the same aims to be achieved within the standards and with much more flexibility. This could in principle be a useful tool in other XML editors and processors.

This page is copyright. Web page design and creation by GLOSS.