sindoc/srstex
Folders and files
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Repository files navigation
This project features a computer program that helps specify software
requirements in a high-level language and transform those specifications
into LaTeX markup that can be included in a host LaTeX document.
Usage
=====
1) Author software requirements in an XML document (1). A sample XML input
can be found at: 'example/reqs.xml'
This project defines a grammar for specifying software requirements in XML
-see 'schema/rng'. Using a RelaxNG-aware XML editor (e.g. Emacs nXML-mode)
can make XML authoring of requirements very easy.
2) Use (1) to generate a LaTeX file that only contains LaTeX bindings:
$ cd example # (*)
$ xsltproc ../xsl/bindings.xsl reqs.xml >reqs-bindings.tex
3) Use (1) to generate LaTeX markup that corresponds to the specified
requirements:
$ xsltproc ../xsl/srstex.xsl reqs.xml >reqs.tex
4) Include 'reqs-bindings.tex' in preamble of the host LaTeX document.
5) Include 'reqs.tex' where you want the list of your requirements
to appear in the host LaTeX document.
Index entries are automatically generated for the specified requirements
based on different criteria e.g. priority and development and resolution
statuses. Make sure to use the \makeindex command in the host document
in order for LaTeX to typeset the generated index entries.
(*) There's also a Makefile under the 'example' directory that captures
the above tasks. Simply type 'make' under the 'example' directory and
press Return.
Notes
-----
1) Requirement identifiers must be prefixed with the value of the
'req.idn.input.prefix' parameter defined in xsl/params.xsl.
The 'req.idn.input.prefix' parameter is set to 'r' by default.
An example of what requirement identifiers could look like:
<req xml:id="rLunchRocket"> ... </req>
Legal Notice
=============
http://www.gnu.org/licenses/gpl-3.0.html