EinwohnerInnen-Statistik

Unicode-Tabelle aus XML-Daten

Zielgruppe sind StudentInnen und ambitionierte Informatik-Amateure

Man kann das Beispiel ohne Vorkenntnisse Live ausprobieren. Zum Verständnis der Programmierung sind jedoch Grundkenntnisse von HTML, SVG und XML empfehlenswert.



Bevölkerung von Österreich nach Bundesländern

Stand von 2015.   Quelle: Statistik Austria

Die Daten werden Live vom Server angefordert. Daraus wird von einem XSL-Programm an ihrem Arbeits-PC ein Säulen-Diagramm erzeugt und vom Browser angezeigt.

Bedeutung


Das XSL-Programm liest die XML-Daten, sortiert sie, berechnet die relativen Anteile in % und zeigt sie als Säulen-Diagramm an.

Wenn man den Mauszeiger über eine Säule oder unter den Text (Code) bewegt, dann werden zusätzliche Informationen angezeigt. Auch die Hinweise werden mit dem XSL-Programm erzeugt.

Für alle Daten wird das gleiche XSL-Programm verwendet. Es wird daher nur 1mal vom Server geladen.
Mit dem gleichen XSL-Programm könnte man Säulen-Diagramme aus allen ähnlichen Daten erzeugen.
Mit einem anderen XSL-Programm könnte man aus den gleichen Daten andere Produkte erzeugen, z.B. Tabellen oder Kreis- Diagramme.


Das Beispiel ist portabel:  Speichern sie eine oder mehrere der XML-Dateien und zusätzlich die XSL-Datei im gleichen Verzeichnis (Ordner) am eigenen PC. Öffnen sie eine der XML-Dateien mit dem Browser.

Die → Details der XML+XSL-Technologie sind nur für fortgeschrittene EntwicklerInnen interessant.
Für die Anwendung ist es wichtig zu wissen, dass man damit von einem Server stammende Daten besonders rasch, einfach und effizient anzeigen kann.


Pixel-Grafik ist eine Sammlung von binären (nicht für Menschen lesbaren) Daten. Damit wird die Farbe jedes einzelnen Bildpunkts (Pixels) beschrieben.

Die hier vorgestellte XML+XSL-Lösung erzeugt Objekt-Grafik. Allerdings wird nicht lesbarer SVG-Quelltext hergestellt, sondern es werden ohne Umweg Grafik-Objekte (Linien, Rechtecke, ...) hergestellt und vom Browser angezeigt.


Client

Ein beliebiges Browser-Programm an einem Arbeits-PC tritt als (HTTP)-Client auf. Ein Server arbeitet typisch mit mehreren Clients zusammen. Die Leistung der Clients wird bei Verwendung mit XML+XSL besser genützt: Je mehr Clients einen Server verwenden, umso größer wird die gesamte verfügbare Leistung aus Server + Clients.

Am Client werden die rohen XML-Daten in das jeweils gewünschte Produkt umgewandelt und angezeigt.
Dazu braucht man keine speziellen Programme oder Hilfs-Programme, denn alle gängigen Browser beherrschen die XML+XSL-Technologie seit vielen Jahren.

Programmierung


Erzeugung mit Tabellen-Kalkulation
Man kann XML-Daten mit jedem gängigen Tabellen-Kalkulations-Programm erzeugen. Das wird auf einer eigenen → Seite dieses Webs im Detail vorgestellt.
Diese Methode ist semi-professionell und zur Anwendung am eigenen Arbeits-PC durchaus brauchbar. Man trägt lediglich die gewünschten Daten in eine Tabelle ein und speichert den 'berechneten' XML-Text in einer Datei.

Man kann die XML-Codierung mit Standard-Funktionen selbst programmieren. Das ist allerdings mühsam, weil die Zeichen-(String)-Verarbeitung nicht zu den Stärken der Tabellen-Kalkulation zählt.
Einfacher ist die Verwendung eines Basic-Moduls, welches bequem anwendbare Hilfs-Funktionen zur Verfügung stellt.

XSL-Programm
Zur Umwandlung der selbst erzeugten XML-Daten in ein Diagramm braucht man ein XSL-Programm: Mit diesem Link wird die ↗ XSL-Datei in einem eigenen Browser-Tab angezeigt. Entfernen sie die Zeilen-Nummern mit Mausklick und speichern sie den Text in einer einfachen Text-Datei mit dem vorgegebenen Namen chart_column_rel.xsl am eigenen Arbeits-PC.

Anwendung
Dazu braucht man die XSL-(Programm)-Datei und mindestens 1 XML-Datei im gleichen Verzeichnis (Ordner).
  Öffnen sie die XML-Datei mit einem beliebigen Browser:  Die Daten werden als Säulen-Diagramm angezeigt.

Erzeugung mit Programmiersprachen
Man kann jede moderne Programmiersprache verwenden, um XML-Daten zu erzeugen. Solche Programme eignen sich zur professionellen Anwendung auf einem Server oder zur Lieferung der Live-Daten von Mess-Instrumenten.
Zur Entwicklung genügen Grundkenntnisse, denn XML-Daten werden mit den gleichen Methoden hergestellt wie HTML-Quelltext.


XML-Daten (Österreich)

◀  Links werden als Beispiel die XML-Daten der EinwohnerInnen der österreichischen Bundesländer angezeigt.

Der Text ist lesbar und auch ohne Fachkenntnisse einigermaßen verständlich. Man erkennt 9 verschiedene <part>-Elemente, in denen je 3 Unter-(Child)-Elemente enthalten sind. Es ist nicht allzu schwierig, die Daten zu interpretieren, z.B.:
Das erste <part>-Element bezeichnet die Region Burgenland mit dem Code "B" und ca. 270000 EinwohnerInnen.

Alle → Umlaute werden XML-codiert.

Die Namen der Elemente (part, code, name, number) sind hier passend zum Thema frei gewählt. Für andere (häufig verwendete) Themen wurden die Namen standardisiert. Zur Verarbeitung solcher XML-Daten genügt daher ein Hinweis auf den verwendeten Standard.

XML-Daten sind leicht zu verwalten: Sie lassen sich in einer einfachen Text-Datei speichern, in ein (ZIP)-Archiv komprimieren, über das Netzwerk oder Internet versenden usw.

Nicht nur Menschen können XML-Daten 'lesen'. Auch für Programme ist es einfach, die wenigen XML-Regeln zu befolgen. Jede moderne Programmiersprache bietet dazu eigene Module, Klassen und Methoden.
XSL ist nur eine von viele möglichen Programmiersprachen zur Verarbeitung von XML-Daten - allerdings eine sehr effiziente.



Das Verständnis der XSL-Programmierung erfordert fortgeschrittene Kenntnisse. Daher werden keine Details des hier verwendeten XSL-Programms kommentiert. Bei einigen anderen Beispielen werden ausgewählte Details kommentiert, z.B. → HTML-Tabellen und SVG-Diagramme, → Unicode-Tabelle, → VGA-Farben

Ein XSL-Programm hat weniger Aufgaben als vergleichbare Server-Programme in Java oder PHP. Es führt nur die Umwandlung der XML-Daten in das gewünschte Produkt durch und braucht sich um Erzeugung und Transport der Daten nicht zu kümmern.

Kleine Änderungen an einem bestehenden XSL-Programm können auch EntwicklerInnen ohne XSL-Fachkenntnisse einfach ausführen.

Derzeit sind professionelle Kenntnissse der XSL-Entwicklung weniger verbreitet als z.B. von HTML oder PHP. Wenn man nicht über derartige Resourcen verfügt, dann kann man die Programmierung beauftragen:  Für jedes gewünschte Produkt braucht man nur 1 XSL-Programm, welches man auf alle in Frage kommenden Daten anwenden kann.