Exercice : Ajouter quelques métadonnées

Pour enrichir le modèle de notice existante, vous allez ajouter une date obligatoire ainsi que la possibilité optionnelle d'ajouter des photos complémentaires .

Question

En modifiant le fichier starM.model, modéliser un formulaire permettant la saisie d'une notice de la forme suivante :

Les sources sont accessibles dans /hellouniverse/model/starM.model

Création, import des sources et compilation

Indice

Il faut ajouter les métadonnées :

  • Date

  • Photos complémentaires

Solution

1
<?xml version="1.0"?>
2
<sm:dataFormPrim name=";Info/astre" xmlns:sc="http://www.utc.fr/ics/scenari/v3/core" xmlns:sm="http://www.utc.fr/ics/scenari/v3/modeling">
3
	<sm:identification code="starMEx" itemExtension="xml" targetNamespace="scenari-platform.org:helloworld" targetPrefix="hw"/>
4
	<sm:structure>
5
		<sm:field code="title" family="property/title" name=";Nom" occurrence="one">
6
			<sm:string/>
7
		</sm:field>
8
		<sm:field code="date" name=";Date" occurrence="one">
9
			<sm:date/>
10
		</sm:field>
11
		<sm:field code="photo" family="property" name=";Photo" occurrence="oneOrMore">
12
			<sm:refItem>
13
				<sm:allowedModel sc:refUri="/binaries/model/image/image.model"/>
14
			</sm:refItem>
15
		</sm:field>
16
		<sm:field code="nat" family="property" name=";Nature" occurrence="one">
17
			<sm:enum>
18
				<sm:option key="star" name=";Etoile"/>
19
				<sm:option key="tel" name=";Planète tellurique"/>
20
				<sm:option key="cht" name=";Planète chtonienne"/>
21
			</sm:enum>
22
		</sm:field>
23
		<sm:group code="sat" family="property" name=";Satellite" occurrence="zeroOrMore">
24
			<sm:field code="name" family="property" name=";Nom" occurrence="one">
25
				<sm:string/>
26
			</sm:field>
27
			<sm:field code="dist" family="property" name=";Distance" occurrence="zeroOrOne">
28
				<sm:string/>
29
			</sm:field>
30
		</sm:group>
31
		<sm:field code="dia" family="property" name=";Diamètre" occurrence="zeroOrOne">
32
			<sm:string/>
33
		</sm:field>
34
		<sm:field code="mass" family="property" name=";Masse" occurrence="zeroOrOne">
35
			<sm:string/>
36
		</sm:field>
37
		<sm:field code="rot" family="property" name=";Période de rotation" occurrence="zeroOrOne">
38
			<sm:string/>
39
		</sm:field>
40
		<sm:field code="sid" family="property" name=";Période sidérale" occurrence="zeroOrOne">
41
			<sm:string/>
42
		</sm:field>
43
	</sm:structure>
44
	<sm:storage>
45
		<sm:fullTitleBuilder>
46
			<sm:fieldValue/>
47
		</sm:fullTitleBuilder>
48
	</sm:storage>
49
</sm:dataFormPrim>
50

Vous pouvez copier/coller le XML ci-dessus directement sur votre item dataFormPrim de SCENARIBuilder