# Metasprache



## geforceeee (8. November 2008)

Hallo zusammen,
ich habe eine kurze Frage an euch. Was versteht man unter einer Metasprache. Bitte sagt mir nicht, dass ich in Wikipedia schauen soll. Das habe ich schon gemacht, aber ich würde gerne von euch noch ne Definition hören, damit ich mir das besser vorstellen kann. Außerdem klingt es dann einfacher!!

Außerdem würde ich noch gerne wissen, was man unter einer Auszeichnungsprache versteht. Man kann beispielsweise HTML in verschiedenen Auszeichnungsprachen schreiben (oder so ähnlich )

Vielen Dank
lg, geforceeee


----------



## Akkuschrauber (8. November 2008)

nun, des is nen bissel schwer zu erklären.... also so weit ich weiß:

html gibt es ja in verschiedenen versionen (html4.01 trans, xhtml1.0 strict, xml1.0...). der meta tag am anfang zeigt dem browser welche art nun verwendet wird.
je nachdem kann also eine unterschiedlich syntax verwendet werden, oder wie bei xml ein ganz anderes grundprinzip.

des bei wikipedia is allgemein über metasprachen (was dir in html allerdings nich viel bringt.)

mehr weiß ich auch nich.


----------



## Adrenalize (8. November 2008)

Ich versuche mal, mich zu erinnern, ist aber schon etwas her dass ich das mal für eine Prüfung gelernt habe mit HTML und XML und diesen Spracheigenheiten:

Man darf da Sprache nicht im alltäglichen Sinn sehen, sondern im technischen. Nehmen wir SGML, das ist eine Metasprache. Sie definiert quasi Inhalte (nicht Layout) für eine andere Sprache, in der du dann Objekte etc. definierst. Du legst z.b. ein Dokument fest, sagst "Ich habe ein Objekt Überschrift, ein Objekt Textblock, ein Objekt URI..."
Dann schreibst du mit dieser Definition ein Dokument, und jedes Programm, welches deine Dokumentendefinition in SGML kennt, kann deinen Text entsprechend interpretieren, weiß also, dass da eine Überschrift, ein Textblock usw. ist, weil jedes gültige dokument in deiner Sprache diese dinge haben muss.
Was das jeweilige Programm dann damit macht, ist seine Sache.

Natürlich mag keiner das allgemeine SGML, also entwickelte man daraus speziellere (Auszeichnungs-)Sprachen wie HTML und XML. ein wichtiger Unterschied ist hier, dass HTML nicht erweiterbar ist, man kann also keine eigenen Tags dazuerfinden. Bei XML geht das, man braucht dann aber eine Schemadefinition mit DTD oder XML-Schema (Schemasprachen).
Die allgemeine XML-Spezifikation vom W3C ist wieder eine Metasprache, aber die schränkt man mit Namespaces und Schemas ein, so dass man eindeutige Tags erhält, dann ist es Markup.

Salopp würde ich mal sagen, eine Metasprache ist eine Sprache, die man nicht zum Sprechen nutzt, sondern alleine dazu, eine für die jeweilige aufgabe geeignete Unterpsprache festzulegen (Also Objekte, Aufbau usw.) in der man dann wirklich spricht.
Im Deutschen haben z.b. Subjekt, Prädikat, Objekt, das wären Metadaten zu der Sprache.


----------



## geforceeee (9. November 2008)

Hey, 
vielen Dank für eure Antworten. So hab ich mir das vorgestellt. Danke!!! Aber mir ist noch nicht klar, was beispielsweise der Unterschied zwischen XML und SGML ist. Es handelt sich doch bei beiden um eine Metasprache. Kann man vielleicht auch sagen, dass es sich bei der Metasprache um eine untergeordnete Sprache handelt. Beispiel: Ich programmiere in C++ und weiß, dass alles was ich da in meinen Compiler eintippe in Maschinensprache übersezt wird. Also die Sprache wird in eine untergeordente Sprache übersezt.

Wäre dann die Maschinensprache die Metasprache und die Auszeichnungssprache C++? Also die Auszeichnunsprache ist immer die übergeordnete Sprache, wie beispielsweise XHTML??

Ich dachte, dass XML die Metasprache von XHTML ist, aber das ist nach meine Angaben falsch. Ist XML auch wie XHTML eine Auszeichnungsprache, mit der man beispielsweise Webseiten gestalten kann? Oder wie ist das Verhältnis zwischen XML und XHTML? 

Hab ich das richtig verstanden oder nicht?

Vielen Dank nochmal
lg, geforceeee


----------



## Akkuschrauber (9. November 2008)

xml und xhtml sind zwei ganz andere paar schuhe. während man bei xml alle tags nach belieben definieren kann, ist xhtml eine symbiose aus html und xml, d.h. sowohl...als auch... . xhtml wurde ja nur ins leben gerufen, da man eingesehen hat dass man nicht alles von heute auf morgen umstellen kann. vorallem bei den browsern. man stelle sich vor das auf einmal millionen von websites in einer anderen sprache geschrieben werden müssten.....!! deshalb vereint xhtml die vorzüge von xml mit dem bewährten von html. wobei man auch sagen muss, dass @moment xhtml, sowie xml keine große zukunft haben sollen, da dass totgeglaubte html5 nun doch standart werden soll. .............


----------



## Adrenalize (9. November 2008)

geforceeee schrieb:


> Wäre dann die Maschinensprache die Metasprache und die Auszeichnungssprache C++? Also die Auszeichnunsprache ist immer die übergeordnete Sprache, wie beispielsweise XHTML??


Nein, da wirfst du Hochsprache und maschinennahe Sprache durcheinander. Das sind beides keine Metasprachen, weil man damit ja Objekte und Funktionen erstellt. Beide haben ihren festen Wortschatz, du kannst in C++ z.B. eine Funktion nur so definieren, wie es die Syntax der Sprache vorsieht. Man kann aber afaik in SGML Sprachen wie C++ oder Java beschreiben, wenn man sich die Arbeit machen will.



> Ich dachte, dass XML die Metasprache von XHTML ist, aber das ist nach meine Angaben falsch. Ist XML auch wie XHTML eine Auszeichnungsprache, mit der man beispielsweise Webseiten gestalten kann? Oder wie ist das Verhältnis zwischen XML und XHTML?


Mit XML und HTML ist es etwas verwirrend, weil beide aus SGML hervorgehen. HTML ist keine Metasprache mehr afaik, weil man keine neuen Objekte, also keine neuen Tags dazuerfinden kann. <popel>...</popel> ist in HTML nicht vorghesehen und daher nicht lesbar. In XML hingegen ist es kein Problem, solange deine DTD das Element <popel> definiert. 
XML ist daher eine Metasprache, aber restriktiver als SGML und einfacher zu parsen. Wenn du willst eine Teilmenge davon.
XHTML ist im Grunde eine Redefinition von HTML in XML. ein XHTML-Dokument ist in XML validierbar. Dennoch ist in XHTML die Menge an Elementen nicht erweiterbar, der <Popel> geht hier also afaik ebenfalls nicht.
Daher sollte es ebenfalls keine Metasprache sein, sondern nur eine Auszeichnungssprache.

Ich zitiere mal Wikipedia für die Abgrenzung:


			
				http://de.wikipedia.org/wiki/SGML schrieb:
			
		

> Die bekanntesten auf SGML basierenden Sprachentwicklungen sind HTML und XML. Sie werden oft als Ableitungen beziehungsweise als Dialekte von SGML beschrieben.* HTML ist jedoch eine Anwendung (engl. application) von SGML und XML eine bestimmte Untermenge von SGML.* In der Praxis hat XML heute den Platz von SGML eingenommen und wird in breitem Umfang verwendet.


----------



## geforceeee (10. November 2008)

Hey,
vielen Dank für eure Antworten. Ich verstehe immer mehr 
Ich fasse nochmal zusammen und hoffe, dass ich keinen Fehler mache: XHTML ist aus HTML und XML enstanden, also eine Art zusammenfassung. In einer Metasprache können Objekte neu definiert werden wie beispielsweise <popel>. Wenn ich das in meinen XHTML Editor tippe, dann kommt ein Fehler, aber in einer Metasprache kann ich das vereinbaren!?.

Das Beispiel mit C++ vergesse ich möglichst schnell wieder....

Ach ja...ich dachte, dass das "Gegenteil" einer Metasprache die Auszeichnungssprache sei. Doch laut meinen Informationen, ist das "Gegenteil" die Objektssprache. Also ist dann HTML die Objektsprache uns SGML die Metasprache (wo dann quasi HTML definiert ist???). Was ist dann eine Auszeichnungsprache?

Was meinst du bitte mit folgendem SAtz: "XML ist daher eine Metasprache, aber restriktiver als SGML und einfacher zu parsen. Wenn du willst eine Teilmenge davon." Da kapier ich nicht so viel. Auf folgender Seite

http://homepages.fh-giessen.de/~hg8874/Datenaustausch_Neue%20Wege%20.htm

steht, dass XML eine Metasprache sei. Doch wie kann ich eine Metasprache (XML) mit einer Objektsprache (HTML) zu einer Sprache vereinen (XHTML)?? Die Sache mit XML hab ich noch nicht kapiert.
Und was ist DTD. Die Erklärung in wikipedia kapier ich irgendwie auch nicht. 

Bitte habt Gedult mit mir!!! 
Vielen Dank
lg, geforceeee


----------



## Adrenalize (10. November 2008)

geforceeee schrieb:


> Hey,
> vielen Dank für eure Antworten. Ich verstehe immer mehr
> Ich fasse nochmal zusammen und hoffe, dass ich keinen Fehler mache: XHTML ist aus HTML und XML enstanden, *also eine Art zusammenfassung*. In einer Metasprache können Objekte neu definiert werden wie beispielsweise <popel>. Wenn ich das in meinen XHTML Editor tippe, dann kommt ein Fehler, aber in einer Metasprache kann ich das vereinbaren!?.


XHTML ist afaik die Auszeichnungssprache HTML in der Metasprache XML definiert. Der Unterschied zwischen HTML und XHTML ist vor allem, dass es in XHTML keine Tags wie <br> gibt, die nicht schließen. Kommt daher, dass in XML jedes Element geöffnet und geschlossen wird, daher auch bei XHTML. In XHTML braucht man also <br></br>. Bei Tags, zwischen denen nichts steht, gibts aber eine Kurzform, das war dann glaubich <br/>, damit weiß der Parser, dass das Tag keinen Inhalt hat und gleich wieder geschlosse wird. ein <br> in einem XHTML-Dokument wäre ein Fehler.



> Ach ja...ich dachte, dass das "Gegenteil" einer Metasprache die Auszeichnungssprache sei. Doch laut meinen Informationen, ist das "Gegenteil" die Objektssprache. Also ist dann HTML die Objektsprache uns SGML die Metasprache (wo dann quasi HTML definiert ist???). Was ist dann eine Auszeichnungsprache?


Gegenteil? Hm, was ist das Gegenteil von Englisch? 
Ja, in der Metapsrache kann ich Elemente definieren. Wenn in HTML über ein XML-Schema redefiniere, um XHTML zu erhalten, erstelle ich Elemente wie <a>..</a>, <ul>..</ul> usw. Also Listen-Element, Links usw.
In der Objektsprache erzeuge ich dann Objekte mit diesen Elementen. Also <a href...>mein erster Link</a> usw.
Ich kann keine neuen Elemente mit der Objektsprache dazuerfinden, aber beliebig viele Objekte (oder Instanzen) aus den vordefinierten Elementen erzeugen.
In Java und C++ ist es ähnlich, da sind Elemente wie class und method vorgegeben, und ich kann beliebig viele Klassen und in jeder beliebig viele Methoden erzeugen. Ein völlig neues Element wie "Popel" kann der Compiler aber nicht verarbeiten und bringt einen Fehler.
Ergo sind das keine Metasprachen, denn ihre Zahl an Elementen ist begrenzt und vorgegeben. Du kannst den Wortschatz dieser Sprachen nicht selbst erweitern.


> Was meinst du bitte mit folgendem SAtz: "XML ist daher eine Metasprache, aber restriktiver als SGML und einfacher zu parsen. Wenn du willst eine Teilmenge davon." Da kapier ich nicht so viel.


SGML ist quasi die Mutter aller Metasprachen, war aber für bestimmte Zwecke zu kompliziert. XML ist eine eingeschränkte form von XML, quasi eine Teilmenge davon, nicht ganz so umfangreich und man muss mehr Regeln beachten, dafür einfacher anzuwenden. XML ist der Quasistandard momentan. Wenn du einen Webservice hast, der mit Infos gefüttert werden muss, wirst mit einem XML-dokument definieren, was der Webservice als Input braucht. Wenn der client, der den Webservice nutzt, dann seine Daten nach diesem Vorgegeben XML-Schema strukturiert (auszeichnet), kann der Webservice sie verarbeiten. Dadurch ist es quasi egal, was du lokal für einen Output hast. Bei dir läuft ein Programm, das was berechnet, das Ergebnis soll der Webservice nehmen und verarbeiten, danach nimmst du dessen Ergebnis und arbeitest weiter. Dann musst du nur dafür sorgen, dass dein Ergebnis so in XML strukturiert wird, dass der Webservice es versteht, bevor du es wegschickst. Und wenn das Ergebnis vom Webservice kommt, muss dein lokales Programm wissen, wie es aufgebaut ist (also wie die XML-Antwort vom Webservice aussieht), dann kannst du es einlesen und damit weiterarbeiten.

Das wird so im Internet praktiziert. Ein Beispiel für einen Webservice wäre z.B. eine Datenbankanfrage an einen entfernten Server. Dein Rechner wurschtelt was rum, bekommt eine Kunden-ID und soll nun in der Zentrale nach dessen Adresse fahnden. Also XML zum Webservice schicken, der leitet die Anfrage an die dortige Datenbank weiter, die sucht die Adresse raus, der Webservice verpackt das Resultat in ein XML und schickt es dir. du liest es aus, was ja einfach geht, weil du weisst, dass der Webservice das in ein tag <adress></adress> packt. Dann machst du lokal weiter mit der Adresse, fügst sie in einen Briefkopf ein z.B.
Mit "Du" meine ich deinen Rechner, der Witz an der sache ist ja die Automatisierung. 

Das klappt mit HTML nicht, weils dort kein Tag <adress> gibt. Mit XML kein Problem.  



> Auf folgender Seite
> steht, dass XML eine Metasprache sei. Doch wie kann ich eine Metasprache (XML) mit einer Objektsprache (HTML) zu einer Sprache vereinen (XHTML)?? Die Sache mit XML hab ich noch nicht kapiert.
> Und was ist DTD. Die Erklärung in wikipedia kapier ich irgendwie auch nicht.


Wie schon oben erklärt, vereint wird da nichts. XHTML ist im Grunde HTML,m aber XML-konform gemacht, damit jedes XML-fähige Programm diese Dokumente lesen kann. Denn ein XML-Parser kann wegen der fehlenden schließenden Tags kein HTML lesen und validieren.

DTD bedeutet Doctype Definition. Wie auch XML-Schema ist DTD dazu da, den Aufbau deines XML-Dokuments zu definieren. Bei XML steht ganz außen immer ein Tag, darin kommen dann weitere Tags. Welche Tags wo stehen dürfen und wie oft, regelt die DTD.

Sie definiert z.b., dass für unseren Webservice das XML-Dokument mit <request>...</request> beginne und enden muss. Im request-Tag drin steht z.B. die Art des requests, sagen wir <query=adress/>. Er soll also die Adressdatenbank abfragen. Im DTD sind jetzt alle zulässigen Optionen definiert, also dass query=adress, aber auch query=name oder query=url zulässig ist. query=lieblingsgetränk definieren wir nicht, eine solche Anfrage ergibt eine Fehlermeldung als Antwort. Wir haben ja keine Getränkedatenbank hier, ihr Deppen. 
Für die Antwort dasselbe Spiel <adress> als Tag, darin stehen die tags <name>, <street>, <city> usw. die DTD definiert auch die Reihenfolge, damit sowas wie <adress><city><name>...nicht geht, denn der Name-tag darf nicht innerhalb des City-Tags stehen. Davor dürfte er auch nicht stehen, damit dein Programm beim Einsetzen der Adresse nicht die Stadt ins Namenfeld schreibt und den Namen ins Stadtfeld. Wir wollen die Post ja nicht stressen. 

siehe auch Wikipedia:


> Konkret heißt das, dass in einer DTD die Reihenfolge, die Verschachtelung der Elemente und die Art des Inhalts von Attributen festgelegt wird – kurz gesagt: die Struktur des Dokuments.



In der Praxis wird DTD afaik nicht so häufig benutzt, sondern eher XML-Schema. Macht daselbe, aber XML-Schema ist selber XML, während die DTD-Syntax selbst nicht in XML ist sondern eine eigene Sprache nutzt. 

Bei XML-Schema findest du unter XML Schema ? Wikipedia auch Beispiele, wie sowas aussehen kann.
Wenn ich also ein Schema nehme, dass genau die Struktur der XHTML-Tags definiert, und damit ein XML-Dokument erstelle, ist dieses erstellte dokument dann XHTML. Jeder Browser kann es dann verarbeiten, und auch jedes andere Programm, dass dieses Schema für XHTML kennt.

Mit dem Schema und XML kannst du also eine ganz eigene Dokumentensprache für deine Programme definieren, die dann einlesen und weiterverarbeiten kannst. Maschinenlesbare Dokumente.

Abschließend noch was zu Textauszeichnung bzw. Markup:
Damit sind die Tags gemeint, die die Daten umschließen. sie zeichnen den Text bzw. die Daten zwischen den Text aus. Wenn da <h1> steht, weiß man, dass das eine Überschrift sein soll.
XML und HTML sind Markupsprachen, Java oder C++ sind keine. Markupsprachen dienen vor allem der Textverarbeitung, bei der Programmierung würde das wenig Sinn machen.
Objektsprache ist dabei der Oberbegriff, also alle Sprachen, in denen man Objekte erzeugen kann gemäß einem vorgegebenen Schema. Auszeichnungssprachen gehören da dazu.

Ich weiß ja nicht, wofür du die Infos brauchst, aber wenn du dich mit XML beschäftigen willst, es gibt da kleine Taschenbücher zum Nachschlagen, in denen die wichtigsten Sachen erklärt werden, auch Schemas usw.
XML kurz und gut: Simon St. Laurent, Michael Fitzgerald: Amazon.de: Bücher
Amazon.de: XML: Extensible Markup Language von Anfang an: Helmut Erlenkötter: Bücher

Ich hatte vor einer Prüfung dazu das Buch mit dem Pfau. die sind auch recht dünn, kann man in 2-3 Tagen durchlesen.


----------



## k-b (10. November 2008)

Jetzt bezieht euch dich nicht so stur nur auf XML und den Kram, eine Metasprache ist etwas viel allemeineres. Das Konzept der Metasprache wird heute in vielen theoretischen Wissenschaften gebraucht. In diesem Sinn ist Metasprache ein wissenschaftliches Sprachsystem, das sich nicht auf den Objektbereich einer Wissenschaft, sondern auf die Sprache der Wissenschaft bezieht.


----------



## Adrenalize (10. November 2008)

k-b schrieb:


> Jetzt bezieht euch dich nicht so stur nur auf XML und den Kram, eine Metasprache ist etwas viel allemeineres. Das Konzept der Metasprache wird heute in vielen theoretischen Wissenschaften gebraucht. In diesem Sinn ist Metasprache ein wissenschaftliches Sprachsystem, das sich nicht auf den Objektbereich einer Wissenschaft, sondern auf die Sprache der Wissenschaft bezieht.


Ja, aber er hat seine Frage im Webdesign-Unterforum gestellt und schon im ersten Posting erwähnt, dass ihm die allgemine Definition bei Wikipedia nicht so wirklich weiterhilft, daher hab ich es halt konkretisiert, und da eh schon von XHTML die Rede war, bietet sich XML an als Beispiel.

Du kannst aber gerne andere bekannte Metasprachen als Beispiele bringen, wenn du welche kennst. Ich als Informatiker kenne halt SGML und XML, daher kann ich darüber was erzählen.


----------



## geforceeee (10. November 2008)

Hey,
vielen Dank für deine Antwort. Ich finds echt super, dass Du mir so hilft. Ich brauche das nur für mich, also mich interessiert es einfach. Ich hoffe, dass Du auch weiterhin Geduld haben wirst, damit ich irgendwann alles kapiert habe 

Also, du hast gesagt, dass XHTML in XMS definiert worden ist. 

1.) Kann man dann XHTML auch in anderen Sprachen definieren, worauf sich dann der Syntax ändern müsste? 

2.) Wenn ich in XML jetzt <popel> definieren würde, würde das dann auch in XHTML angenommen? 

3.)Du verwendest den Begriff parsen. Ist das sowas wie compilieren?

4.) Wenn ich in XHTML das schreibe kommt ein Fehler:
    <br>Hallo, eine neue Zeile</br>  
     Wenn ich jedoch das schreibe, kommt kein Fehler
     Hallo, eine neue Zeile<br />

     Liegt, dass daran, weil dieser Syntax in der Metasprache definiert worden ist? 

5.)Sorry, aber ich muss nochmal fragen. Ist XML jetzt die Metasprache von XHTML oder nicht? Oder ist es SGML? Oder ist XML jetzt auch eine markup language? Also Der Syntax Wird In Der Metasprache Vereinbert? Oder in diesem DTD?

Vielleicht wiederholen sich ein paar Fragen, aber bitte halte mich nicht für blöd! Du hilfst mir echt damit!

Vielen, vielen Dank
lg, geforceeee


----------



## k-b (10. November 2008)

Also geht es doch um Sprachen.


1. In XHTML kann man keine Sprachen definieren. Man beschreibt Websites.
2. in XML definiert man keine Tags sondern in DTD. XHTML ist ein fertiger Standard. Dafür kannst du nix mehr definieren.
3. parsen heißt nur "analysieren". Beim compilen wird etwas in etwas umgewandelt, wobei der sinn erhalten bleibt.
5. Das liegt daran, das XHTML so definiert worden ist, dass mehr XML-kompatibilität erhalten sein soll.
6. ja XML ist die Metasprache von XHTML. XML ist auch eine Markup Language. DTD ist quasi die "Grammatik" von einem XML-Dialekt (so wie XHTML einer ist).


----------



## Adrenalize (10. November 2008)

geforceeee schrieb:


> 1.) Kann man dann XHTML auch in anderen Sprachen definieren, worauf sich dann der Syntax ändern müsste?


soweit ich weiß solltest du (X)HTML in jeder Metasprache definieren können. XML bot sich halt an, da XML und HTML von den tags her sehr ähnlich sind und nur ein paar Sachen verhinderten, dass ein HTML-Dokument auch XML-konform ist. Daher wurde XHTML geschaffen. Es ist eine Form von XML, aber eine, die nur die vom W3C definierten HTML-Tags zulässt.



> 2.) Wenn ich in XML jetzt <popel> definieren würde, würde das dann auch in XHTML angenommen?


Nein, siehe oben. XHTML kennt nur HTML-Tags als gültig, keine selbst erfundenen. Es ist ja in erster Linie für Browser gedacht, und die kennen und brauchen keine Popel. 



> 3.)Du verwendest den Begriff parsen. Ist das sowas wie compilieren?


Parser ? Wikipedia


> # HTML-Code ist beispielsweise für einen Computer zunächst einmal nichts anderes als ein Text, also eine Aneinanderreihung von Buchstaben und Zeichen. Der in einem Webbrowser enthaltene Parser analysiert das HTML und erstellt daraus eine Beschreibung der Webseite als Datenstruktur, welche die Grafik-Maschine des Browsers anschließend graphisch auf den Bildschirm überträgt.
> 
> # XML-Parser analysieren XML-Dokumente und stellen die darin enthaltenen Informationen (also Elemente, Attribute usw.) für die weitere Verarbeitung zur Verfügung.


Das sollte es aufklären. 



> 4.) Wenn ich in XHTML das schreibe kommt ein Fehler:
> <br>Hallo, eine neue Zeile</br>
> Wenn ich jedoch das schreibe, kommt kein Fehler
> Hallo, eine neue Zeile<br />
> ...


Ja, das XML-Schema für XHTML sieht vor, dass im br-Tag kein Inhalt stehen kann. Was vermutlich gehen würde wäre <br></br> ohne was dazwischen. Weil das aber doof zu tippen ist, nimmt man für gewöhnlich die abkürzende Form <br />. Diese Schreibweise ist dann XML-konform, da XML zu jedem Tag einen Abschluss braucht, also den /. In HTML brauchts das nicht, in XML schon und daher auch in XHTML, weil eine XHTML-Datei je lesbar sein soll für XML-fähige Programme.



> 5.)Sorry, aber ich muss nochmal fragen. Ist XML jetzt die Metasprache *von* XHTML oder nicht? Oder ist es SGML? Oder ist XML jetzt auch eine markup language? Also Der Syntax Wird In Der Metasprache Vereinbert? Oder in diesem DTD?


Ich denke das von passt nicht. Das ist kein Mutter-Tochter-ding, nicht jede Sprache hat ihre ganz spezielle Metasprache. XML ist eine Metasprache, und sie wurde im Falle von XHTML dazu benutzt, das Alphabet von HTML nachzubauen. Du kannst in XML auch die deutsche Sprache definieren oder jede andere. Ist halt je nach dem mehr oder weniger Arbeit. Da HTML und XML verwandt sind, bot es sich bei XHTML halt an, das so zu machen.

XML ist auch eine Markupsprache, da die Tags ja um die Inhalte herumstehen und diese in den Kontext setzen.
wenn ich dir gebe
<Kontoinhaber>Anton Maier</Kontoinhaber>
<Name>Anton Maier</Name>
ist das zweimal genau derselbe Inhalt, aber der Kontext nicht unbedingt. 

Beim letzten bin ich mir auch nicht ganz sicher, aber im Grunde wird bei XML Der Syntax in der DTD bzw. im Schema festgelegt. Das muss aber nicht für jede Metasprache gelten, kann sein dass es in SGML ganz anders ist, das weiß ich jetzt nicht. Aber die DTD bzw. das Schema gehört zu einem XML-Dokument dazu. Ohne das ist es unvollständig und nur mit dem richtigen Schema macht ein XML-Dokument auch Sinn.
Insofern würde ich sagen ja, bei XML wird der Syntax in der DTD oder im Schema vereinbart, diese sind aber Teil der Metasprache XML, insofern wird es also auch in der Metasprache vereinbart.

Google vielleicht mal danach und schau dir Beispiele für XML-Schemas und dazugehörige Dokumente an, dann wird es bestimmt verständlicher.


----------

