scan($csldata); $Scanner->getdata();"> scan($csldata); $Scanner->getdata();">

Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Compact Survey Language Dokumentation: csl-survey.de/doku.pdf Team: Kasimir Blust, Laura Seidler.

Ähnliche Präsentationen


Präsentation zum Thema: "Compact Survey Language Dokumentation: csl-survey.de/doku.pdf Team: Kasimir Blust, Laura Seidler."—  Präsentation transkript:

1 Compact Survey Language Dokumentation: csl-survey.de/doku.pdf Team: Kasimir Blust, Laura Seidler

2 Die Sprache  Syntax so simpel wie möglich  Code einfach zu implementieren  Schnell und einfach erweiterbar Umfrage ::= 'CSL:' '“' TEXT '“' '\n' Seite+ TEXT ::= {'a',..., 'z', 'A',..., 'Z', 'ä', 'ö', '!', '?'}+ Seite ::= '{' '“' TEXT '“' \n' Bereich+ '\n' Seitenende Seitenende ::= '“' TEXT '“' '}' Bereich ::= '>' '-'? (Bereichstyp ':' )? '“' TEXT '“' \n' Frage+ BereichsTyp::= 'text' | 'date' | 'datetime' | 'url' | 'textarea' | 'select' | 'radio' | 'checkbox' Frage ::= '-'? (Typ | ListTyp ) '\n' Typ ::= ( ('text' | 'date' | 'datetime' | 'url' | 'info') ':' )? '“' TEXT „“ ListenTyp ::= ( 'select' | 'radio' | 'checkbox' ) ':“' TEXT '“(' '“' TEXT '“' (',' '“' TEXT '“')* ')'

3 Der Scanner  Simpel und schnell  Basiert auf regulären Ausdrücken Beispiel: $this->patterns['main'] = "(?P CSL):(?P [a-zA-Z0-9äöüß\s-]*)";  Code einfach zu implementieren  Implementierung: require_once “csl/classes/CSLScanner.php“; $Scanner = new CSLScanner(); $Scanner->scan($csldata); $Scanner->getdata();

4 Der Parser  Parser besteht aus 4 Ebenen je nach Ebene mögliche Funktionen Beispiel: if($this->data['layer'] == 0) { if($l['ident'] == "CSL") {... // Umfragenanfang } else {... // Syntaktischer Fehler } }  Implementierung: require_once “csl/classes/CSLParser.php“; $Parser = new CSLParser(); $Parser->parse($Scanner->getdata()); $Parser->getdata(true);

5 Der Form Generator  Generiert ein HTML-Formular aus den vom Parser gelieferten Daten Barrierefreie HTML-Auszeichnung  Design über CSS default-Designs für User ohne CSS- Kenntnisse  Einfache Einbindung Aufruf im PHP-Code durch require_once "csl/classes/FormGenerator.p hp"; $FormGenerator = new FormGenerator(); $FormGenerator- >generateForm($Parser- >getdata()); Kopieren des ausgegebenen HTML-Codes

6 Statistiken  Möglichkeit, die in das Formular eingegeben Daten auswerten zu lassen  Darstellungsform abhängig vom Feld-Typ Gruppierung für Texteingaben (Balken-)Diagramme für Auswahlen Diagramme oder Gruppierung für Zahleneingaben  Aktualisierung mit jeder erneuten Dateneingabe  Implementierung: require_once "csl/classes/CSLStatistics.php"; $Statistic = new CSLStatistic(); $Statistic->CreateAnswer($_POST, true); //Ausgabe als Statistik echo $Statistic->toStatistic(); // Ausgabe als CSV $Statistic->DownloadCSV(); // Ausgabe als Datentabelle echo $Statistic->toTable();

7 Architektur von CSL Admin Client Ajax Json Container Scanner $scanner->scan($csldata); Zwei- dimensionales Array Parser $parser->parse($scanner->getdata()); Mehr- dimensionales Array FormGenerator $formgenerator->generateForm ($parser->getdata()); Datenbank User Client Ajax Json Container Statistik $Statistik->CreateAnswer($_POST); Mehrdimsensionales Array Statistik-Tabelle $Statistik->toStatistic(); Mehr- dimensionales Array Datentabelle $Statistik->toTable(); Mehrdimensionales Array CSV Datei $Statistik->DownloadCSV(); HTML Formular reiner CSL Code Json Container HTML Code CSL Umfrage

8 CSL auf der Medianight


Herunterladen ppt "Compact Survey Language Dokumentation: csl-survey.de/doku.pdf Team: Kasimir Blust, Laura Seidler."

Ähnliche Präsentationen


Google-Anzeigen