Das Vorgehen ist bei Typo3 im Prinzip ähnlich. Typo3 verwendet zur Seitendarstellung sogenannte "Designvorlagen" und "Templates". Auch wenn der erste Begriff gerne als deutsche Übersetzung des zweiten synonym verwendet wird, gibt es doch eine deutliche Trennung.
Die "Designvorlage" is im Prinzip eine statische HTML-Seite. Du kannst sie mit jedem beliebigen HTML-Editor (und selbstverständlich auch von Hand) erzeugen. Zusätlich kannst Du sogenannte "Marker" und "Subparts" einfügen. Es hat sich eingebürgert, diese ganz in Großbuchstaben zu schreiben. Begonnen und beendet werden sie mit jeweils drei "Lattenzaunzeichen" (oder auch Doppelkreuz oder Hash, auf englisch). Ein Marker sähe in der HTML-Quelldatei zum Beispiel so aus:
###MARKER###
und ein subpart so:
###SUBPART###
###SUBPART###
Ein Subpart ist qusi nur die Wiederholung eines Markers. Beide haben unterschiedliche Anwendungszwecke. Einen MArker kannst Du zum Beispiel nicht in HTML-Kommentare verpacken, er würde dann von Typo3 nicht erkannt. Ein Subpart markiert quasi einen größeren Bereich. Zum Beispiel kannst Du den Inhaltsbereich Deiner Designvorlage mit irgendeinem Fülltext füllen und davor und danach jeweils einen einen HTML-Kommentar mit einem Subpart setzen (das funktioniert nämlich:
HTML-Code:
<!-- Beginn des Inhalts ###INHALT### -->
Gallia est omnis divisa in partes tres, quarum unum incolunte Belgae... und viel weiterer Fülltext um einen Eindruck von der Darstellung zu bekommen...
<!-- ###INHALT### Ende des Inhaltes -->
Mit diesen Markern und Subparts kommt ene Spezialität von Typo3 ins Spiel: TypoScript. TypoScript ist keine Programmiersprache im eigentlichen Sinne (obwohl sie zum Beispiel auch Bedingungen kennt), sonder dient dazu, das Verhalten von Typo3 anzupassen. Alle Templates werden mit TypoScript erzeugt. Mit TypoScript legst Du zum Beispiel fest, was mit dem SubPart, der mit ###INHALT### in der Designvorlage markiert ist, geschehen soll.
XML brauchst Du in Typo3 erstmal nicht (man kann zwar Typo3-Seiten auch XML-konform ausgeben, aber das ist ein anderes Thema). Typo3 speichert seine Inhalte in einer relationalen Datenbank. Bisher war das ausschließlich MySQL, seit Version 4.0 werden auch andere RDBMS unterstützt, zum Beispiel Oracle - ich hab aber selber bisher nur MySQL verwendet (und werde sicherlich auch erstmal dabei bleiben ;-)). Aus den Designvorlagen, dem Template in Typoscript und den Inhalten in der Datenbank baut der Typo3-Server dann eine HTML-Ausgabeseite, die dann über den Webserver an den Betrachter geliefert wird. Die Programmiersprache, die Typo3 dazu verwendet, ist PHP. Mit PHP brauchst Du Dich (erstmal) selbst nicht auseinanderzusetzen, weil viele Funktionalitäten (zum Beispiel Gästebücher, Blogs, Wikis, Shops und viele (über 1000!) andere als sogenannte "Extensions" angeboten werden. Extensions kann man leicht herunterladen und installieren und mit ein wenig Konfiguration laufen sie auch in der Regel recht schnell. Du solltest Dich aber dennoch mit PHP vertraut machen, denn wenn eine Extension nicht genau das tut, was Du Dir vorstellst, mußt Du u.U. mal eine verändern oder sogar eine eigene schreiben.
Alos, der langen Rede kurzer Sinn: Typo3 arbeitet nicht in erster Linie mit XML. Soweit ich weiss, werden die Beschreibungen für Extensions in XML angelegt und auch einige Konfigurationen in XML gespeichert. Inhalte landen jedoch in der Datenbank.