Die Eingabe- oder Rückgabewerte in CRUL-Payloads können einfache oder strukturierte Werte sein. Ein einfacher Wert ist eine Zeichenkette; eine Liste oder ein Dictionary ist jeweils ein strukturierter Wert (siehe Parameter und ihre Werte).
Eine Zeichenkette wird in Payloads zwischen dem Start- und dem Ende-Tag eines Elements angegeben. Die Werte einer Liste werden jeweils zwischen dem listitem-Start-Tag und dem listitem-Ende-Tag eingetragen, wenn der Wert eine Zeichenkette ist. Ist der Listenwert wieder eine Liste oder ein Dictionary, so wird zwischen dem Start- und dem Ende-Tag eine weitere Liste oder ein Dictionary angegeben.
Ein Dictionary-Eintrag enthält dagegen immer Unterelemente. Das bedeutet, dass zwischen dem dictitem-Start- und dem dictitem-Ende-Tag keine Zeichenkette enthalten sein kann, sondern Unterelemente angegeben werden müssen, wobei diese wiederum eine Zeichenkette enthalten können. Listen und Dictionaries können beliebig oft ineinander verschachtelt werden.
Zeichenkette (#PCDATA) |
|---|
Bedeutung: Der Eingabe- oder Rückgabewert ist eine Zeichenkette, also ein string, eine Zahl (number), ein Datum mit oder ohne Uhrzeit (datetime), ein logischer Wert (bool) oder eine leere Zeichenkette (void). |
|
Definition: <!ENTITY % cm.atom "#PCDATA"> <!ELEMENT elementName (&cm.atom;)> wird in der Referenz ersetzt durch: <!ELEMENT elementName (#PCDATA)> Beispiel: <attribute-create> <name>Auswahl</name> <type>enum</type> </attribute-create> |
Liste (listitem) |
|---|
Bedeutung: Eine Liste ist eine geordnete Menge beliebig vieler Elemente. Jedes Element wird durch ein listitem-Element dargestellt. Die Ordnung der Listenelemente ergibt sich aus ihrer Reihenfolge. Der Wert eines listitem-Elements kann wiederum eine Liste oder ein Dictionary sein. |
|
Definition: <!ENTITY % cm.atom "#PCDATA"> <!ENTITY % cm.dictitem "dictitem"> <!ENTITY % cm.listitem "listitem"> <!ELEMENT listitem (%cm.atom; | %cm.listitem; | %cm.dictitem;)*> <!ELEMENT dictitem (key, value)> <!ELEMENT key (%cm.atom;)> <!ELEMENT value (%cm.atom; | %cm.listitem; | %cm.dictitem;)*> wird in der Referenz ersetzt durch: <!ELEMENT listitem (#PCDATA | listitem | dictitem)*> <!ELEMENT dictitem (key, value)> <!ELEMENT key (#PCDATA)> <!ELEMENT value (#PCDATA | listitem | dictitem)*> Beispiel: <attribute-addEnumValues> <listitem>books</listitem> <listitem>music</listitem> </attribute-addEnumValues> |
Dictionary (dictitem) |
|---|
Bedeutung: Ein Dictionary ist eine nicht geordnete Menge beliebig vieler Zuordnungen von Werten zu Namen (Bezeichnern). Jede Zuordnung wird durch ein dictitem-Element (engl. "dictionary item") repräsentiert, das wiederum aus einem Namen (key) und einem Wert (value) besteht. Der Wert eines dictitem-Elements kann eine Liste oder auch ein Dictionary sein. |
|
Definition: <!ENTITY % cm.atom "#PCDATA"> <!ENTITY % cm.dictitem "dictitem"> <!ENTITY % cm.listitem "listitem"> <!ELEMENT dictitem (key, value)> <!ELEMENT key (%cm.atom;)> <!ELEMENT value (%cm.atom; | %cm.listitem; | %cm.dictitem;)*> wird in der Referenz ersetzt durch: <!ELEMENT dictitem (key, value)> <!ELEMENT key (#PCDATA)> <!ELEMENT value (#PCDATA | listitem | dictitem)*> Beispiel: <dictitem>
<key>type</key>
<value>enum</value>
</dictitem>
<dictitem>
<key>values</key>
<value>
<listitem>SWEET</listitem>
<listitem>SALTY</listitem>
</value>
</dictitem>
|