.. _ref-typevalue:
Das Type-Value-Prinzip
======================
An vielen Stellen, wo im MAD-XML-Code Werte gesetzt werden müssen, geschieht dies nach dem Type-Value-Prinzip.
Der häufigste Anwendungsfall für Type-Value-Angaben ist das Setzen von Widget-Properties. Da eine Widget-Property von einem festgelegten Typ ist, kann
die ``type`` Angabe weggelassen werden. Ausnahmen sind in den Beschreibungen der Widget-Properties dokumentiert.
Elemente, die nach dem Type-Value-Prinzip funktionieren, sind:
* property
* define
* object
* set
Das Zuweisen von Werten kann auf dreierlei Art passieren:
- mit einem ``type``- und einem ``value``-Attribut
- mit einem ``lookup``-Attribut
- mit einem Child-Element, das einen Wert repräsentiert
**Zuweisung von Werten mit einem type- und einem value-Attribut**
::
**Zuweisung von Werten mit einem lookup-Attribut**
::
Der zu setzende Wert wird an anderer Stelle in der Presentation 'nachgeschlagen'.
Die Syntax für Lookups ist im Abschnitt :ref:`ref-vars` beschrieben.
Die folgende alternative Schreibweise nutzt das ``value``-Attribut für ein Lookup und ist gleichbedeutend:
::
**Zuweisung von Werten als XML-Childnode**
::
R 200,300
oder:
::
Im ersten Fall wird die Wertangabe der Property genauso behandelt wie im ``value``-Attribut. Es darf kein zusätzliches ``value``-Attribut auf dem Property-Element geben.
Im zweiten Fall wird als Wert einer Property ein Objekt vom Typ ``Shape`` zugewiesen.
Neben ``