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> |