

FSCONS Gothenburg, 07-09 December 2007
Manuel Gay
, <manuel@makumba.org>
# Person - simple data for a person
name = char[50] ;Name
surname = char[50] ;Surname or last name
gender = int{"Male" = 10, "Female" = 20} ; Gender
brother = ptr Person ;the brother
cars = set Car ;Cars of this person
# Car - simple data for a car
name = char[50] ;Name of the car
colour = int{"Green" = 10, "Blue" = 20, "Red" = 30}
<mak:list from="Person p" where="p.age > 18">
<em><mak:value expr="p.name" /> <mak:value expr="p.surname" /></em><br/>
Cars:
<mak:list from="p.cars c" separator=", "><mak:value expr="c.name" /></mak:list><br/>
</mak:list>
<mak:newForm type="Person" action="listPersons.jsp">
Name: <mak:input field="name"/><br />
Surname: <mak:input field="surname"/><br />
Gender: <mak:input field="gender"/><br />
<br />
<input type="submit" value="Create" />
</mak:newForm>
<mak:form action="editPersonCars.jsp">
<mak:list from="Person p">
<em><mak:value expr="p.name"/> <mak:value expr="p.surname"/></em><br/>
<mak:list from="p.cars c">
<mak:editForm object="c">
Car ${mak:count()} name: <mak:input field="name" /><br/>
</mak:editForm>
</mak:list>
</mak:list><br/>
<input type="submit" value="Change">
</mak:form>
cars = set Car ;cars of this person numberOfRedCars() = count(c) from cars c where c.color = 'Red'used in the JSP:
<mak:list from="Person p"> <mak:value expr="p.name" /> - <mak:value expr="p.numberOfRedCars()" /> </mak:list>
canEdit(Person p)= p.age > 18 AND p.numberOfCars() > 0
