Getting Started Documentation Glish Learn More Programming Contact Us
Version 1.9 Build 1556
News FAQ
Search Home


next up previous contents
Next: Supporting Tools and Documents Up: NOTE 243 - XML-based Documentation for AIPS++ Previous: Introduction: The Current State of AIPS++ Documentation

Subsections


An XML-based Framework

This proposed framework addresses the creation, maintenance, and delivery of the two types of documentation aimed at end users: expository documents and the Reference Manual. The author feels that the current framework for documenting C++ code in-line is pretty good. It's backed by a formal quality assurance process that is reasonably effective. Furthermore, the large amount of C++ code documentation already in place makes substantial changes to it hard to justify. Documentation for the end user is more important. In particular, this author feels that changes to how the Reference Manual is constructed will result in the greatest benefits for users.

This new framework is based on the following principles:

1.
Users must have access to documentation on-line.
2.
Users must be able to print out documentation in a high-quality form.
3.
It is not necessary that documentation built locally from source files as part of a standard AIPS++; installing pre-built documentation should be sufficient.
4.
Authors must be able to easily build and validate their documents for the different versions supported by the system.
5.
HTML is the best format for the on-line version as it offers the greatest flexibility to the user for presentation (e.g. font style and size, window size, foreground and background colors).
6.
It is easier to enable automated machine-processing of metadata and documentation using XML than LATEX.

The proposed framework is characterized by two key features:

XML will serve then as the base format for conversion into other formats. HTML is used for browser-based access. Plain text can be used for access within an interactive Glish session. Hardcopy can be provided in either PostScript or PDF format.

Use of DocBook

DocBook is perhaps best known as the most widely used SGML markup language available as open source and freely available. It is maintained by the DocBook Technical Committee of the Organization for the Advancement of Structured Information Standards (OASIS). DocBook began its life in 1991 as an SGML DTD; however, with Version 4.1, an XML version is now available and supported by the most common DocBook-compliant tools. The XML version includes MathML as an extension for marking up mathematical equations. The DocBook DTD is modular in design and has an explicit framework for extending it to add new elements or further control attribute values.

Advantages of using DocBook

DocBook is well supported

DocBook is widely used.

DocBook is a cross-platform format.

DocBook documents can be edited with any editor.

As with all SGML/XML formats, content and presentation are seperated.

This has two important ramifications. First, the presentation can be evolved without having to alter the source documents. Second, it is not necessary that all authors have the specific skills for manipulating presentation.

XML offers greater flexibility for controling presentation.

It's worth noting that in principle, LATEX separates content and presentation as well; however, in can be argued that this does not happen in effect. The expertise necessary to alter a style file and subsequently support it with LATEX2HTML discourages experimentation with presentation. In this author's opinion, manipulating XML style sheets is much easier than LATEX style files.

Potential Pitfalls

Very few actual experiments using DocBook for AIPS++ have been done to date, and many of the details concerning how we might use it have not been worked out, yet. Here are some ways that DocBook may not live up to its promise:

In-line Documentation for Glish

The Case for In-line Documenation

Given the proper supporting tools, in-line documentation of software can provide tremendous advantages:


Features of the In-line Documentation Framework for Glish

For the purposes of discussion, this note will refer to the framework for in-lining documentation into Glish code as GlishDoc. An implementation of this framework as described here may result in a software tool of the same name.

This section gives an incomplete description of how the proposed framework for in-lining documentation will work. An extended example of documented code is given in Appendix A.


next up previous contents
Next: Supporting Tools and Documents Up: NOTE 243 - XML-based Documentation for AIPS++ Previous: Introduction: The Current State of AIPS++ Documentation   Contents
Please send questions or comments about AIPS++ to aips2-request@nrao.edu.
Copyright © 1995-2000 Associated Universities Inc., Washington, D.C.

Return to AIPS++ Home Page
2006-10-15