@modified:2001.03.20@11.12 yyyymmdd by Burkart Request for comment TiML - TI Markup Language Status of this document: Proposed standard 1. Grundsätzliches ------------------ 1. Text wird ganz normal als Text gesendet [bla bla bla] 2. Für Sonderzeichen besteht keine Notwendigkeit, der Server muß eventuelle Umlaute etc. an den Zeichensatz des TI anpassen 3. Ein Escape-Zeichen (ASCII #0) zeigt einen Steuercode an [bla ^Steuercode] 4. An das Escape-Zeichen schließt sich der Steuercode an [bla ^x] ( 5. Spezieller Steuercode für das Escape-Zeichen (falls es als Text ausgegeben werden soll) [bla ^^ bla bla]) 6. Je nach Steuercode evtl. noch weitere Informationen direkt im Anschluß [bla ^x123] 7. Es gibt Block- und Elementsteuercodes 8. Ein Elementsteuercode resultiert in einem Element (z.B. Eingabefeld, Bild) oder auch in einer Kontrollanweisung (z.B. Cursor nach 3/5, neuer Absatz) 9. Ein Blocksteuercode bezieht sich auf den folgenden Text und muß abgeschlossen werden (wie HTML: kursiv), hierzu wird ein Blockendsteuercode verwendet (Bit 7 = 1) [bla ^yBLA^Y bla] 10. Verschachtelte Blöcke sind grundsätzlich denkbar, jedoch schwer zu realisieren und daher vorerst nicht zu verwenden. 2. Elementsteuercodes --------------------- Eine Festlegung auf konkrete Bytewerte ist noch nicht erfolgt und für einen späteren Zeitpunkt angesetzt. Für folgende Elemente sind dann Elementsteuercodes festzulegen, wobei untergeordnete Punkte für mögliche Zusatzinformationen stehen (siehe 1.6.): "-" = 1 Byte Fortlaufende ID für ALLE Elemente + Eingabefeld (einzeilig) TiML-Code: E - ID (fortlaufende Nummer) - erlaubte Zeichen (z.B. nur Zahlen) erlaubt=Bit gelöscht Bit | Bedeutung -----+----------------- 0 | Ziffern 1 | Kleinbuchstaben 2 | Großbuchstaben 4-7 | Sonderzeichen (müssen alle Bits gesetzt werden) - Breite des Eingabefeldes - max. Zeichen - Länge Vorgabetext - Vorgabetext (fällt weg, falls Länge Vorgabetext=0) + Paßwort-Eingabefeld (einzeilig) TiML-Code: W - ID (fortlaufende Nummer) - Breite des Eingabefeldes - max. Zeichen - Länge Vorgabetext - Vorgabetext (fällt weg, falls Länge Vorgabetext=0) + Memo (mehrzeiliges Eingabefeld) TiML-Code: M - ID (fortlaufende Nummer) - erlaubte Zeichen (z.B. nur Zahlen): siehe Eingabefeld (einzeilig) - Breite des Memos - Zeilen (falls nicht unbegrenzt, dann 0) - maximale Länge in Bytes (lo) - maximale Länge in Bytes (hi) - Länge Vorgabetext - Vorgabetext (fällt weg, falls Länge Vorgabetext=0) + Bild TiML-Code: I - x-Größe - y-Größe - x-Position - y-Offset (schwer zu realisieren) - Länge des Alternativtextes - Alternativtext (fällt weg, falls Länge Alternativtext=0) + Zeichensatz TiML-Code: C - {normal font=0 | menu font=1} + Cursorposition TiML-Code: P - x-Offset - y-Offset + Nächste Übertragungsseite TiML-Code: N Zwingender Wechsel zur nächsten Seite (etwa, weil alle IDs vergeben sind, aber noch Elemente mit ID folgen) - ID + Vorherige Übertragungsseite TiML-Code: V Zwingender Wechsel zur vorherigen Seite (etwa, weil alle IDs vergeben sind, aber noch Elemente mit ID folgen) - ID + Einzeiliges Auswahlmenü (Combolistbox) TiML-Code: 1 - Default ID Wird gefolgt von mehreren Blocksteuercodes "Auswahlmenüpunkt" (siehe 3.) bla ^1[#130]^A[#130]pimpern^a^A[#131]ficken^a^A[#132]blasen^a + Mehrzeiliges Auswahlmenü TiML-Code: 2 - Länge des Titels - Titel (fällt weg, falls Titellänge=0) Wird gefolgt von mehreren Blocksteuercodes "Auswahlmenüpunkt" (siehe 3.) + Checkbox TiML-Code: B - ID - Default {checked 255 | unchecked 0} Antwort: Wenn ID nicht auftaucht unchecked + Mehrfachauswahl multi select TiML-Code: 3 - Länge des Titels - Titel (fällt weg, falls Titellänge=0) Wird gefolgt von mehreren Blocksteuercodes "Auswahlmenüpunkt" (siehe 3.) Antwort: Byteliste ausgewählter Sachen + Zeilenumbruch TiML-Code: X + Absatz / multipler Zeilenumbruch TiML-Code: Y - Anzahl der Zeilenumbrüche 3. Blocksteuercodes ------------------- Eine Festlegung auf konkrete Bytewerte ist noch nicht erfolgt und für einen späteren Zeitpunkt angesetzt. Für folgende Elemente sind dann Elementsteuercodes festzulegen, wobei untergeordnete Punkte für mögliche Zusatzinformationen stehen (siehe 1.6.): + Hyperlink TiML-Code: H - ID * Text (+ Text invertieren TiML-Code: G * Text) + Auswahlmenüpunkt TiML-Code: A - ID * Text 4. Datenübertragung ------------------- 1. Der Server überträgt eine TiML-Seite an den TI 2. Wird auf dem TI eine Aktion an einem ID-Element (Element mit Zusatzinformation ID) ausgeführt, sendet der TI die ID und gegebenenfalls weitere Daten (z.B. eingegebenen Text) an den Server. 3. Der Server sendet WENN NOTWENDIG eine entsprechende neue Seite, andernfalls arbeitet der Benutzer weiter mit der alten Seite.