Version: 0.1
Date: 4 march, 2000
This documents the GNUstep Documentation markup language and tools
The GSDoc markup language is an XML language designed specifically for writing documentation for the GNUstep project. In practice, that means that it is designed for writing about software, and in particular, for writing about Objective-C classes.
This is also an example, as well as a test case, of the new GNUstep documentation markup language (GSDoc).
There are several reasons for producing the new markup language -
So, with only one markup language available that supported Objective-C, and with XML software becoming available, the decision was to take GDML and update it to be an XML language, in the hope that this would -
The GSDoc markup language is defined by an SGML DTD, that specifies the tags that may be used in marking up a GSDoc document, and how and where those tags may be placed. Please see the DTD for a precise specification.
The gsdoc DTD defines an XML language - that is, a markup language that conforms to a specific subset of SGML features defined as XML. The advantage of XML is that it provides most of the useful features of SGML while being much more light-weight (easy to use) beacause you can forget about the rest of SGML. As XML looks set to become increasingly popular, we can hope that documentation written with an XML language will be easily imported into XML software tools as they become available, so we will not (in the GNUstep project) need to devote a lot of time and effort to maintaining documentation tools.
A GSDoc document consists of a head and a body wrapped inside the overall document framework that looks like this -
example<?xml version="1.0"?> <!DOCTYPE gsdoc PUBLIC "-//GNUstep//DTD gsdoc 0.6.5//EN" "http://www.gnustep.org/gsdoc-0_6_5.xml"> <gsdoc base="MyDoc" prev="First.html" next="Last.html" up="Overview.html"> <head> ... your document head here </head> <body> ... your document body here </body> </gsdoc>
The above example shows a GSDoc document framework. The first line specifies the XML version that the document conforms to. The second line specifies the version of GSDoc that the document conforms to. The third and final lines frame the main part of the document and supply all the (optional) attributes of the gsdoc element -
The gsdoc tool is written in Objective-C and uses the GNUstep base library and the Gnome XML parser library.
This tool is intended to convert GSDoc documents to other formats though, at present, only HTML output is supported.
Use of the tool is trivial - just provide it with a list of gsdoc file names, and it will produce a load of html output files.