Alle nieuwsberichten en layout aanwijzingen zijn in een bestand verzameld. Dit formaat lijkt op HTML (JB: en XML).
Alle tekst tussen de commando's <news> en </news> wordt weergegeven, waarbij meervoudige spaties tussen woorden en newlines verwijderd worden. Alle commando's zijn geldig tussen <tag> en </tag>. Met <tag/> is een commando geldig tot het volgende commando met de zelfde naam en er wordt niets afgesloten. Dit is vooral voor <position> nuttig. <position/> kan ook buiten een <news>-blok gebruikt worden. Hiermee wordt de startpositie van het volgende <news>-blok vastgelegd.
Om de tiep snelheid te kunnen verhogen, is het voldoende om alleen de eerste letter van een commando of een parameter te gebruiken (bv. <f n="Arial">).
Tot aan (JB: behalve?) <news> en <ticker> kunnen alle commando's meerdere keren gebruikt (JB: genest?) worden.
Commando's voor het nieuwsbericht:<font name="Arial" size=12 color=#000000> : Veranderd het lettertype <bold> : Vet <italic> : Cursief <position x=100 y=200> : Positie voor de volgende tekst <effect class="test"> : Effect met diverse parameters <canvas image="achtergrond.gif" color=#000000> : Achtergrond afbeelding of kleur <link target="http://xyz"> : Link voor het nieuws
Het gehele bestand kan optioneel worden voorafgegaan door het commando <ticker> en met </ticker> beeindigd worden. Als parameter kan play="ordered" of play="random" gebruikt worden, dit om de volgorde van weergave van de niewsberichten vast te stellen.
Een bericht wordt met het commando <news> gedefinieerd. Wanneer dit commando gelezen wordt, dan worden alle huidige instellingen onthouden en aan het einde van dit <news>-blok weer hersteld. Daardoor kan bijvoorbeeld een <position>-commando op meerdere <news>-blokken van toepassing zijn. Wordt een <news/> gebruikt, dan geldt dit block tot het volgende <news/>, <news>, </ticker> of tot het einde van het bestand.
Overige commando's:<!-- Kommentaar -->Speciale tekens:
\> : > \< : < \ (Backslash gevolgt door een spatie) : expliciete spatie \\ : \
Intern worden meerdere toestanden van het de Ticker gebruikt:
fontName: String fontSize: int fontColor: Color bold: boolean italic: boolean effectClass: String effectParameter: Hashtable (parameter: String -> value: [Integer | String]) canvasImage: Image canvasColor: Color link: URL position: Point
Deze kunnen door de optionele commando's veranderd worden, waarbij met <tag/> de oude toestand niet onthouden wordt en na </tag> de optionele toestand (voor </news>) van <tag> hersteld wordt.
Tijdens het parsen van het bestand wordt een lijst gemaakt van nieuws-objecten, die afhankelijke van de play-parameter afgespeeld worden. In de pauze tussen de berichten worden voorbereidingen getroffen voor ander nieuws, bijvoorbeeld het laden van afbeeldingen.
Om de grootte van het applet te beperken, wordt geen Lex/Yacc voor het parsen gebruikt, maar een direktere opzet, die met 2 toestanden werkt, waarbij voor elk gelezen commando een bijbehorende actie wordt uitvoerd, bijvoorbeeld <news> bewaart een eventueel vorig nieuws-object en creeert een nieuw nieuws-object.
In de eerste beta versie zijn alle commando's opgenomen en twee effecten. Als eerste het ShowEffekt, dat de tekst direct toont en als als tweede het WordEffekt, dat een nieuwsbericht per woord laat verschijnen, de Canvas-Color verloopt naar Text-Color.
Het huidige klassendiagram:
NewsFile ::= <ticker [Parameters] > [CmdList] </ticker> | <ticker [Parameters] /> [CmdList] | [CmdList] CmdList ::= < [Cmd] [Parameters] > [CmdList] </ [Cmd] [Parameters] > | < [Cmd] [Parameters] /> [CmdList] | <!-- [CommentText] --> | leeg Cmd ::= news | n | font | f | bold | b | italic | i | position | p | effect | e | canvas | c | link Parameters ::= [Parameters] [Parameter] | leeg Parameter ::= [Identifier] = [Value] Identifier ::= volgende reguliere expressie: [a-zA-Z_]*[a-zA-Z0-9]* Value ::= String | Int | Hex String ::= tekst tussen aanhalingstekens , waar \" voor " staat Int ::= volgende reguliere expressie: [0-9]* Hex ::= volgende reguliere expressie: #[0-9a-fA-F]* CommentText ::= willekeurige String, waar niet het teken '>' in voorkomt