Fachkonzept - Sprache
Aspekte von Sprache
Adriana mag Katzen.
Dieser Satz benutzt die Wörter Adriana
, mag
und Katze
, die
zum Wortschatz der deutschen Sprache gehören.
Der Satz ist grammatikalisch (syntaktisch) korrekt - im Gegensatz zum folgenden Satz: Adriana Katze mag.
Der Satz hat zudem eine bestimmte Bedeutung (Semantik) - im Gegensatz zum folgenden Satz:
Adriana läuft Katzen.
Diese kurzen Ausführungen verdeutlichen bereits, dass Wortschatz, Syntax und Semantik zentrale Aspekte einer Sprache sind.
Die Lexik einer Sprache beschreibt den Wortschatz einer Sprache, d.h. die Gesamtheit der Wörter der Sprache, die als Grundbausteine zur Verfügung stehen.
Die Syntax einer Sprache beschreibt den Satzbau einer Sprache, d.h. wie aus Wörtern Sätze gebildet werden können. Üblicherweise wird sie durch eine Grammatik festgelegt.
Die Semantik einer Sprache beschreibt die Beziehung zwischen Sprachelementen und ihrer Bedeutung.
Ein bzgl. einer DTD/XSD gültiges XML Dokument kann von einem Interpreter nicht verarbeitbar sein, wenn die Daten nicht sinnvoll sind. Im Schach-Beispiel könnten etwa zwei Spielfiguren an der gleichen Position sitzen, was die DTD erlaubt.
Von einem Interpreterprogramm verarbeitete Daten können dennoch für den Benutzer keinen Sinn ergeben. So könnte etwa ein Schach-Spielzustand angezeigt werden, der in einem realen Spiel nie erreicht werden kann.
Sprachfestlegung mit XML
Wir betrachten als Beispiel die Sprache DiagramML.
<?xml version="1.0" encoding="iso-8859-1"?>
<diagramm>
<stabdiagramm>
<breite>4</breite>
<einheit>4</einheit>
<abstand>16</abstand>
<farbe>blau</farbe>
<wert>-3.6</wert>
<wert>-0.5</wert>
<wert>4.2</wert>
<wert>8.7</wert>
<wert>10.4</wert>
<wert>16.3</wert>
<wert>20.3</wert>
<wert>16.7</wert>
<wert>12.4</wert>
<wert>8.1</wert>
<wert>4.8</wert>
<wert>-3.7</wert>
</stabdiagramm>
</diagramm>
Die Sprache DiagramML nutzt XML-Elemente als Bausteine. Die folgende Dokumenttypdefinition legt genau fest, welche XML-Elemente man benutzen darf und wie man sie kombinieren kann.
<!ELEMENT diagramm (stabdiagramm)>
<!ELEMENT stabdiagramm (breite, einheit, abstand, farbe, wert*)>
<!ELEMENT breite (#PCDATA)>
<!ELEMENT einheit (#PCDATA)>
<!ELEMENT abstand (#PCDATA)>
<!ELEMENT farbe (#PCDATA)>
<!ELEMENT wert (#PCDATA)>
Die Sprache DiagramML besteht aus allen XML-Dokumenten, die gültig bzgl. der angegebenen Dokumenttypdefinition sind. Die Dokumenttypdefinition legt bei dieser Sprache sowohl den Wortschatz (XML-Elemente), als auch die Grammatik, nach der man Wörter zu korrekten Sätzen (gültigen XML-Dokumenten) kombinieren kann, fest. Die Dokumenttypdefinition legt somit Lexik und Syntax der betreffenden Sprache fest.
Was die einzelnen Elemente der Sprache DiagramML bedeuten (Semantik), wird durch eine Dokumenttypdefinition nicht festgelegt.
Die Bezeichner von XML-Elementen sind meist so gewählt, dass man die gewünschte Bedeutung leicht erschließen
kann. Dennoch kann es hier zu Unklarheiten kommen. So ist im DiagramML-Beispiel nicht ganz klar,
was das Element abstand
beschreibt. Handelt es sich hier um den Abstand zweier Stäbe
(von Mitte des einen Stabs bis zur Mitte des anderen Stabs), oder ist hier der Abstand zwischen zwei Stäben (vom rechten Rand des einen
Stabs bis zum linken Rand des anderen Stabs) gemeint?
Klarkeit erhält man erst, wenn man die Semantik der DiagramML-Elemente genau festlegt.
Ein möglicher Weg besteht hier darin, einen Interpreter für DiagramML-Dokumente zu entwickeln. Ein Interpreter für DiagramML-Dokumente ist dabei ein Programm, das aus einem DiagramML-Dokument eine bildliche Darstellung des Stabdiagramms in den beabsichtigten Weise erzeugt. Ein solcher Interpreter legt über die Verarbeitung des DiagramML-Dokuments implizit die Bedeutung aller DiagramML-Elemente fest. Jeder, der sich unsicher über die Bedeutung von DiagramML-Elementen ist, kann anhand des Verhaltens eines "Vergleichsinterpreters" die Bedeutung erschließen.
Zusammenfassung
XML erlaubt es, neue Sprachen für bestimmte Gegenstandsbereiche zu entwickeln.
Eine XML-Dokumenttypdefinition legt die Lexik und Syntax einer Sprache fest. Die Sprache zu einer XML-Dokumenttypdefinition besteht aus allen XML-Dokumenten, die gültig bzgl. der Dokumenttypdefinition sind.
Eine XML-Dokumenttypdefinition legt nicht die Semantik der Sprache fest. Diese muss zusätzlich festgelegt werden, z.B. durch einen Sprachinterpreter.
Quellen
- [1]: Unterschied von Syntax und Semantik - Urheber: TM - Lizenz: Inf-Schule.de