@ //note: the predefined function \samp{getMarkupKey()} returns the name of the markup //note: to expand, if getMarkupKey() == "classes presentation" { //note: the markup is worth "classes presentation", and so, we'll describe all classes foreach i in project.listOfClasses { @

@i.name@

@ //note: a protected area is embedded here, which has to be populated by hand into the //note: expanded file for describing the class, setProtectedArea(i.name + ":presentation"); if !isEmpty(i.listOfAttributes) { //note: attributes are presented into a table, @ @ foreach j in i.listOfAttributes { //note: the language into which types have to be expressed is given by \samp{this.language}, //note: and is worth "C++" or "JAVA" ; don't forget to convert the type to the HTML syntax, //note: because of \textbf{'<'} or \textbf{'>'} to convert respectively to \textbf{'\<'} //note: or \textbf{'\>'} for instance. Use the predefined function //note: \samp{composeHTMLLikeString()} to do this process. @ @ } @
Type Attribute name Description
@composeHTMLLikeString(getType (j.type))@ @j.name@ @ //note: a protected area is embedded here, which has to be populated by hand into the //note: expanded file for describing the attribute, setProtectedArea(i.name + "::" + j.name + ":description"); @
@ } if !isEmpty(i.listOfMethods) { @ @ } } }