Introduction

First of all, ArgoPrint is a module for ArgoUML, which is an open source UML modelling tool. The goal of ArgoPrint is to provide a way of automatically generating documents based on data from the UML model created in ArgoUML. This list provides a summary of the basic ideas behind ArgoPrint:

Perhaps the best way to show what it does is through a small template example:

<html>
  <head><title>ArgoPrint demonstration</title></head>
  <body>
    <p>Project name: <ap:call what="getName(project)"/></p>
  </body>
</html>

What ArgoPrint does when processing the template is that all elements that do not have the prefix ap (short for ArgoPrint) will pass right through to the output. The ap elements on the other hand contain processing instructions that extract data from ArgoUML and/or perform common language constructs such as loops and conditions based on the extracted data (see this section in the architecture description). The ap elements will then be replaced and the extracted data will be inserted in their place. The resulting output when the above template is processed is an HTML document displaying the name of an ArgoUML project.

An important thing to note is that this allows for the creation of arbitrary XML output formats where the template contains all the static information and the rest is extracted from ArgoUML. When connecting ArgoPrint to other tools it will be an even more powerful tool for eliminating the need for manual updating and merging of data from various sources.