Hallo,
ich bin grad am lernen für die Abschlußprüfung und da wird öfters mal gefragt (Prüfung über Elektronisches Publizieren, XML, …) ob DTD und XML Schema kontextfrei sind.
Bei DTD steht zumindest in den Vorlesungsunterlagen, dass es kontextfrei ist. Ich bin mir aber nicht sicher ob meine Begründung richtig ist:
Für eine kontextfreie Grammatik gilt dass links immer ein Nichtterminal und rechts beliebiges (Terminal, Nichtterminal, beides, nichts) steht. Wenn man jetzt für XML die Elemente als Nichtterminale, und #PCDATA oder #CDATA als Terminal nimmt, und die DTD-Elementdefinitionen als Regeln der Grammatik interpretiert stehen als xxx immer Elementnamen (und somit Nichtterminale) auf der linken Seite (da yyy das angibt was xxx enthalten darf) und yyy kann dann eben ein Ausdruck über Elementnamen, #PCDATA etc. sein.
Ist das einigermaßen korrekt so? Oder gehts gar noch einfacher zu erklären?
Wie ist das aber dann bei XML Schema? Google findet da mal, dass es kontextfrei ist, und mal dass es eben nicht kontextfrei ist.
Und warum ist es dann (nicht) kontextfrei?
Vielen Dank,
Tobi