Baumstruktur für ALLE Auszeichnungssprachen???
Silvia
- xml
0 Daniel Thoma0 Thomas J.S.0 at0 Thomas J.S.0 at0 Thomas J.S.0 at
Hi !
meine Frage wäre, ob jede existierende Auszeichnungssprache einen Baum mit Knoten, etc. darstellt, oder ob dies nur für zB XML (inkl. deren Derivate) und HTML zutrifft.
Es gibt ja prozedurale vs. deklarative sowie dokumentzentrierte vs. datenzentrierte Auszeichnungssprachen. Sind ALLE diese Sprachen nach dem Prinzip der Baumstruktur aufgebaut?????
BITTE BITTE helft mir (das ganze brauch ich für meine Dipl.Arbeit)
(Vielleicht gibts ja sogar einen Literaturnachweis dazu, oder eine Webadresse, wo definitiv gesagt wird, für welche Ausz.sprachen die Baumstruktur gilt.)
DANKE, DANKE, DANKE !!!
lg Silvia
Hallo Silvia,
Es gibt ja prozedurale vs. deklarative sowie dokumentzentrierte vs. datenzentrierte Auszeichnungssprachen. Sind ALLE diese Sprachen nach dem Prinzip der Baumstruktur aufgebaut?????
(Fast) alle Sprachen lassen sich durch Gramatiken beschreiben, die aus Wörtern (Terminale) und Satzteilen (nicht Terminale) sowie Regeln, die angeben welche Symbole (Terminale und nicht Terminale) durch welche anderen Symbole ersetzt werden können, um einen Satz zu erzeugen.
Praktisch alle formalen Sprachen lassen sich durch kontextfreie Gramatiken beschreiben. Bei diesen Gramatiken gibt es nur Regeln, die das ersetzen von nicht Terminalen erlauben.
Standardbeispiel Terme mit () = + *
<TERM> ::= <TERM> + <TERM> | <TERM> * <TERM> | (<TERM>) | <ZAHL>
<ZAHL> ::= <VORKOMMA> | <VORKOMMA> . <NACHKOMMA>
<VORKOMMA> ::= 0 | <ZIFFERN> | <ZIFFERN> <VORKOMMA>
<NACHKOMMA> ::= <ZIFFERN> | <ZIFFERN> <NACHKOMMA> | 0 <NACHKOMMA>
<ZIFFERN> ::= 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
Einen Term kann man nun Erzeugen, in dem man mit dem Startsymbol <TERM> anfängt und die Regeln nacheinander anwendet:
<TERM>
<TERM> * <TERM>
<TERM> * ( <TERM> )
<TERM> * ( <TERM> + <TERM> )
<ZAHL> * ( <TERM> + <TERM> )
usw.
bis man nur noch Terminale hat:
4.5 * (0 + 3.01)
Dadurch erhält man eine Baumstruktur mit dem Startsymbol als Anfangsknoten.
Damit ist Deine ursprüngliche Frage beantwortet:
Ja, das geht bei jeder dieser Sprachen, allerdings muss dieser Baum nicht immer eindeutig sein. (Diese Grammatik ist z.b. auch nicht eindeutig, man kann Terme erzeugen, deren Ableitungsbaum nicht eindeutig ist z.B. 4 + 5 * 3 da die Gramatik den Rang der Operatoren nicht berücksichtigt.)
Praktisch ist dieser Ableitungsbaum bei Sprachen in der Informatik aber immer Eindeutig oder wird durch zusätzliche Regeln eindeutig gemacht.
Noch ein Link den ich auf die schnelle gefunden habe:
http://www.informatik.uni-leipzig.de/ifi/lehre/Heyer9900/kap8/sld006.htm
Unter den Stichworten Chomiski Grammatik und Backus Nauer Form findest Du aber beliebig viele Skripts die sich mit dem Thema beschäftigen.
Grüße
Daniel
Hallo Daniel,
Damit ist Deine ursprüngliche Frage beantwortet:
Ja, das geht bei jeder dieser Sprachen,
Ich glaube nicht, dass Syntax-Bäume gemeint waren ;-)
Unter den Stichworten Chomiski Grammatik und Backus Nauer Form findest Du aber beliebig
viele Skripts die sich mit dem Thema beschäftigen.
Der Typ hiess Chomsky, Noam Chomsky ;-) Vergl:
http://de.wikipedia.org/wiki/Noam_Chomsky
Grüße,
CK
Hallo Christian,
Der Typ hiess Chomsky, Noam Chomsky ;-) Vergl:
Äh ja, eigentlich weiß ich das. Ich hatte ja gerade nach dem Namen Gegooglet um was zum Verlinken zu finden. Keine Ahnung, wo ich war, als ich die Zeile getippt habe ;-)
Grüße
Daniel
Hallo,
meine Frage wäre, ob jede existierende Auszeichnungssprache einen Baum mit Knoten, etc. darstellt, oder ob dies nur für zB XML (inkl. deren Derivate) und HTML zutrifft.
Definiere bitte erst "Auszeichnungssprache".
Es gibt ja prozedurale vs. deklarative sowie dokumentzentrierte vs. datenzentrierte Auszeichnungssprachen. Sind ALLE diese Sprachen nach dem Prinzip der Baumstruktur aufgebaut?????
Rein vom Prinzip her ja, denn es gibt immer ein oberstes Element das alle anderen Element enthält. So wie ein Dokument seine eigene Bestandteile enthält.
BITTE BITTE helft mir (das ganze brauch ich für meine Dipl.Arbeit)
(Vielleicht gibts ja sogar einen Literaturnachweis dazu, oder eine Webadresse, wo definitiv gesagt wird, für welche Ausz.sprachen die Baumstruktur gilt.)
Das kann man dir nicht sagen. Es gibt unzähliche Auszeichnungssprachen. Der Unterschied beginnt bei descriptiven bzw. bei prozedualen Sprachen.
Siehe auch http://de.wikipedia.org/wiki/Auszeichnungssprache
Grüße
Thomas
Hallo Thomas,
Es gibt ja prozedurale vs. deklarative sowie dokumentzentrierte vs. datenzentrierte
Auszeichnungssprachen. Sind ALLE diese Sprachen nach dem Prinzip der Baumstruktur
aufgebaut?????Rein vom Prinzip her ja, denn es gibt immer ein oberstes Element das alle anderen Element
enthält. So wie ein Dokument seine eigene Bestandteile enthält.
Nein, durchaus nicht. Beispiel: LaTeX.
Grüße,
CK
Hallo Christian,
Rein vom Prinzip her ja, denn es gibt immer ein oberstes Element das alle anderen Element
enthält. So wie ein Dokument seine eigene Bestandteile enthält.Nein, durchaus nicht. Beispiel: LaTeX.
Davon abgesehen, dass LaTeX lediglich ein Makropaket für TeX ist, ist es auch dort so, denn es gibt auch in LaTeX ein \begin{document} und ein \end{document} ;-)
Grüße
Thomas
Hallo Thomas,
Rein vom Prinzip her ja, denn es gibt immer ein oberstes Element das alle anderen Element
enthält. So wie ein Dokument seine eigene Bestandteile enthält.Nein, durchaus nicht. Beispiel: LaTeX.
Davon abgesehen, dass LaTeX lediglich ein Makropaket für TeX ist,
Jo.
ist es auch dort so, denn es gibt auch in LaTeX ein \begin{document} und
ein \end{document} ;-)
Jups, aber \begin{document} ist nicht die oberste Hierarchie-Ebene. Es gibt dort nämlich
keine. Überhalb von \begin{document} kann ich Pakete einbinden, Makros definieren, etc, pp.
Grüße,
CK
Hallo Christian,
ist es auch dort so, denn es gibt auch in LaTeX ein \begin{document} und
ein \end{document} ;-)Jups, aber \begin{document} ist nicht die oberste Hierarchie-Ebene. Es gibt dort nämlich
keine. Überhalb von \begin{document} kann ich Pakete einbinden, Makros definieren, etc, pp.
In einem XML-Prolog kannst du auch elles Mögliche einbinden: "Pakte" = externe Entities, "Makros" = PIs etc ;-)
Diese Dinge gehören auch in die Hierarchie, bloß eine Ebene höher.
Aber so lange wie darüber reden, Informationen entsprechend strukturiert zu erfassen, werden wir beim Baummodell bleiben.
Grüße
Thomas
Hallo Thomas,
ist es auch dort so, denn es gibt auch in LaTeX ein \begin{document} und
ein \end{document} ;-)Jups, aber \begin{document} ist nicht die oberste Hierarchie-Ebene. Es gibt dort nämlich
keine. Überhalb von \begin{document} kann ich Pakete einbinden, Makros definieren, etc, pp.In einem XML-Prolog kannst du auch elles Mögliche einbinden: "Pakte" = externe Entities,
"Makros" = PIs etc ;-)
Nene, du, man kann Kühe und Pferde schlecht miteinander vergleichen ;-) Die Pakete in LaTeX
sind doch schon ein bisschen was anderes.
Aber so lange wie darüber reden, Informationen entsprechend strukturiert zu erfassen, werden
wir beim Baummodell bleiben.
Nur das LaTeX nicht für strukturierte Informationserfassung gedacht ist. LaTeX ist ein reines
Satz-System.
Grüße,
CK
Hallo Christian,
Aber so lange wie darüber reden, Informationen entsprechend strukturiert zu erfassen, werden
wir beim Baummodell bleiben.Nur das LaTeX nicht für strukturierte Informationserfassung gedacht ist. LaTeX ist ein reines
Satz-System.
TeX ist ein Satz-System, LaTeX ist lediglich eine Sammlung von Makros. ;-)
Ich sage auch nicht, dass LaTeX die perfekte Auszeichnungsspreche ist, im Gegenteil. Aber es ist auch mit LaTeX möglich die Informationen baumartig zu erfassen.
Grüße
Thomas
Hallo CK,
Jups, aber \begin{document} ist nicht die oberste Hierarchie-Ebene. Es gibt
dort nämlich keine.
Man braucht ja auch nicht unbedingt eine. Vergleiche / unter Unix. Und
damit kann man dann wieder alles in einer Baumstruktur organisieren,
wenn man denn unbedingt will. ;-)
O
________________________________|________________________________
| | | |
documentclass usepackage ... umgebung
|____________ | |
| | german document
a4paper 11pt |
...
(Ja, diese Variante des Baums ist Schwachsinn.)
Tim
Hallo Tim,
Man braucht ja auch nicht unbedingt eine. Vergleiche / unter Unix.
Nicht alles, was hinkt, ist ein Vergleich ;-)
Und damit kann man dann wieder alles in einer Baumstruktur organisieren,
wenn man denn unbedingt will. ;-)
Mit Gewalt und Spucke kann man alles in einen derart gestalteten Baum drängen ;-) Die
natürliche Repräsentation wäre es aber trotzdem nicht.
Grüße,
CK
Hallo CK,
Mit Gewalt und Spucke kann man alles in einen derart gestalteten Baum
drängen ;-)
Und einen von mir bewunderten Denker zu zitieren: »Eigentlich ist alles
als Baum darstellbar.« (1)
Die natürliche Repräsentation wäre es aber trotzdem nicht.
Die natürliche Repräsentation wäre dann ... (Außer Text natürlich)?
Tim
Hallo Tim,
Die natürliche Repräsentation wäre es aber trotzdem nicht.
Die natürliche Repräsentation wäre dann ... (Außer Text natürlich)?
Eine Liste von Bäumen. Beispielsweise so (zuerst LaTeX, dann Darstellung):
\documentclass[11pt]{article}
\usepackage[T1]{fontenc}
\usepackage[latin9]{inputenc}
\usepackage{german}
\newcommand{\dgts}[1]{\ifnum #1<10 0\fi \number#1}
\begin{document}
\dgts{1}, \dgts{2}, \dgts{10}
\end{document}
Darstellbar:
---documentclass----->usepackage-------->usepackage------>usepackage------>
/ \ / \ / \ |
11pt article T1 fontenc latin9 inputenc german
---->newcommand---------------------->document
/ | \ |
dgts 1 | |
| |
ifnum------>\number dgts------>dgts-------->dgts
/ | | \ | | | |
#1 < 10 | #1 1 2 10
|
0
Ist IMHO wesentlich sinnvoller als ein Baum, wie du ihn gezeichnet hast. Die
Betrachtungsweise ist hier halt eher die eines Programms anstatt eines Dokuments.
Grüße,
CK
Hallo.
Sind ALLE diese Sprachen nach dem Prinzip der Baumstruktur aufgebaut?????
Das ist sicher eine Frage der Definition. Denn wenn ein Element ein anderes nur zum Teil umfasst, wird es schwierig, dies als Baum darzustellen. Ein Beispiel in Form invaliden HTML:
<h1>Text ist <strong>wichtig,</h1>
<p>denn</strong> er transport Information.</p>
In anderen Auszeichnungssprachen ist eine solche Schachtelung ja durchaus valide.
Wer zeichnet mir dem Baum? ;-)
MfG, at
Hallo,
Ein Beispiel in Form invaliden HTML:
<h1>Text ist <strong>wichtig,</h1>
<p>denn</strong> er transport Information.</p>
In anderen Auszeichnungssprachen ist eine solche Schachtelung ja durchaus valide.
In welche(n) andere(n) Sprachen ist diese Verschachtelung gültig?
Grüße
Thomas
Hallo.
In welche(n) andere(n) Sprachen ist diese Verschachtelung gültig?
Zum Beispiel in vielen Sprachen für ältere professionelle Satzsysteme, etwa Linotype CRTronic. Aber auch in den von Textverarbeitungsprogrammen verfassten Codes ist diese Schreibweise nicht unüblich.
MfG, at
Hallo,
In welche(n) andere(n) Sprachen ist diese Verschachtelung gültig?
Zum Beispiel in vielen Sprachen für ältere professionelle Satzsysteme, etwa Linotype CRTronic. Aber auch in den von Textverarbeitungsprogrammen verfassten Codes ist diese Schreibweise nicht unüblich.
Das ist für mich schwer nachzuvollziehen:
In HTML würde das so aussehen, wenn ich es falsch machen wollte:
<h1>Ueberschr<u><i>ift</h1>
<p>Text text text</i></u> text text text text</p>
In RTF sieht es so aus:
{\loch\f4\fs32\lang1031\i0\b Ueberschr{\ul\i ift}}
{\loch\f1\fs24\lang1031\i\b0{\ul\i Text text text}}{\loch\f1\fs24\lang1031 text text text text }
Da wird alles ordentlich beendet: {\ul\i ift}}
^^^^
{\ul\i Text text text}}
^^^^
Würde ich das als HTML-abspeichern, wird das dann so aussehen:
<h1>Ueberschr<u><i>ift</i></u></h1>
<p><u><i>Text text text</i></u> text text text text</p>
Deshalb kann ich mir nur schwer vorstellen dass es solche falsche Verschachtelungen von Programmen gibt.
Grüße
Thomas
Hallo.
Deshalb kann ich mir nur schwer vorstellen dass es solche falsche Verschachtelungen von Programmen gibt.
Ich möchte nicht ausschließen, dass einander überschneidende Verschachtelungen von den jeweiligen Verarbeitungssystemen intern in nach unserem Verständnis validen Code übersetzt werden, da die Ergebnisse nach dem Rendering nicht mehr in menschenlesbarer Form vorliegen, der ursprüngliche Code aber nicht ohne Veränderungen angezeigt wird.
Jedoch funktioniert das Einlesen von Code mit überkreuzten Verschachtelungen dort nicht nur definitiv, sondern wurde von den Herstellern dieser leider meist proprietären Formate auch in dieser aus heutiger Sicht wohl falschen Form propagiert.
Vielleicht führt dich die Suchmaschine deines Vertrauens ja zu einer Dokumentation oder Betriebsanleitung für ein altes Satzsystem, etwa von Linotype oder Berthold.
MfG, at