Webgenz
 

Home
Überblick
Einstieg
Anwendungs-
dokumentation
Begriffe
Details
Projekt-Dateien
Template-Dateien
Content-Dateien
Programmstart per Befehlszeile
Tipps & Tricks
FAQs
Download
Bestellung
Forum
(English)
Suche
(English)
Kontakt
Links
(English)
Wie arbeitet Webgenz? Nachfolgend die einzelnen Schritte bei der Generierung eines Projekts:
  1. Webgenz liest zunächst die Projektdefinitionsdatei ein. Jede darin befindliche Zeile wird wie folgt verarbeitet:
     
  2. Webgenz liest die in der jeweiligen Zeile spezifizierte Template-Datei und die zugehörige(n) Content-Datei(en) ein.
     
  3. Webgenz prozessiert die Template-Dateien Zeile für Zeile. Sobald in der Template-Datei ein Makro-Tag gefunden wird, sucht Webgenz nach dem zugehörigen Makrowert (Makroinhalt).
     
  4. Dazu analysiert Webgenz die Content-Datei(en). Angefangen mit der ersten in der betreffenden Zeile definierten Datei über eventuell vorhandene weitere (vererbte) Content-Dateien sucht Webgenz solange, bis es den Wert für das Makro-Tag gefunden hat.
     
  5. Webgenz ersetzt das Makro-Tag in der Template-Datei mit dem Makrowert (Hinweis: Der gefundene Makrowert kann seinerseits wieder Makro-Tags enthalten; diese Verschachtelung von Makro-Tags funktioniert).
     
  6. Wenn für ein Makro-Tag kein Makrowert ermittelt werden kann (oder wenn der ermittelte Makrowert leer ist), wird die gesamte Zeile, die das Makro-Tag enthält, aus der Template-Datei gelöscht. Dieses Verhalten ist gewöhnlich erwünscht, kann jedoch bei Bedarf durch eine Option im "Project Properties"-Menü deaktiviert werden.
     
  7. Da Makro-Tags verschachtelt werden können, prozessiert Webgenz die Template-Datei iterativ so lange, bis keine Makro-Tags mehr übrig sind. Im "Project Properties"-Menü können Sie die maximale Anzahl von Iterationen vorgeben, die Webgenz bei der Prozessierung einer Template-Datei durchlaufen soll. Auf jeden Fall wird Webgenz die Template-Datei nicht unnötig oft prozessieren. Wenn keine weiteren Makro-Tags gefunden werden, beendet Webgenz die Prozessierung automatisch.

Hinweise:

  • Im beschriebenen Schritt 4 ist es möglich, den Startpunkt für die Suche nach einem Makrowert zu bestimmen. So kann Webgenz z.B. angewiesen werden, mit der Suche nach einem Makrowert in einer vererbten Content-Datei zu beginnen. Um dies zu erreichen, wird im entsprechenden Makro-Tag ein besonderes Format verwendet:
      [@^MY_TAG]
      
    Das "^" im Makro-Tag weist Webgenz an, mit der Suche nach dem Makrowert eine Hierarchiestufe höher (bezogen auf die Stufe, auf der das Makro-Tag verwendet wird) zu beginnen. Diese Eigenschaft von Webgenz ermöglicht die "Unterordnung" von Makros.
     
  • Wenn Webgenz einen Makrowert findet, ändert es unter Umständen diesen Wert ab, bevor es das Makro-Tag durch den Wert ersetzt. Dies geschieht, um die Formatierung des HTML-Dokuments zu erhalten, das durch Webgenz generiert wird. Hier ein Beispiel:

    Betrachten Sie folgende Template-Datei...

      <HTML>
      <HEAD>
      <TITLE>Titel</TITLE>
      </HEAD>
      <BODY>
      <TABLE>
        <TR>
          <TD>
            [@INHALT]
          </TD>
        </TR>
      </TABLE>
      </BODY>
      </HTML>
      

    ... und folgende Content-Datei:

      [@INHALT]:
      Dieser Inhalts-Block ist
      mehrere Zeilen lang. Dies ist
      bloß ein Beispiel.
      [@]
      

    Wenn Webgenz nun einfach den Makrowert an die Stelle des Makro-Tags positionieren würde, würde dies zu folgendem Ergebnis führen:

      <HTML>
      <HEAD>
      <TITLE>Titel</TITLE>
      </HEAD>
      <BODY>
      <TABLE>
        <TR>
          <TD>
      Dieser Inhalts-Block ist
      mehrere Zeilen lang. Dies ist
      bloß ein Beispiel.
          </TD>
        </TR>
      </TABLE>
      </BODY>
      </HTML>
      

    Da die Formatierung dieser Ausgabe unerwünscht ist, ändert Webgenz den Makrowert insofern, als es die vor und hinter dem Makro-Tag in der Template-Datei stehenden Zeichen (in der Regel einfache Leerzeichen) zu jeder Zeile des Makrowertes hinzufügt. Im Beispiel oben sieht die Ausgabe dann wie folgt aus:

      <HTML>
      <HEAD>
      <TITLE>Titel</TITLE>
      </HEAD>
      <BODY>
      <TABLE>
        <TR>
          <TD>
            Dieser Inhalts-Block ist
            mehrere Zeilen lang. Dies ist
            bloß ein Beispiel.
          </TD>
        </TR>
      </TABLE>
      </BODY>
      </HTML>
      

    Diese Formatierung ist weitaus sinnvoller, da sie der Intention des Erstellers der Template-Datei entspricht. Nichtsdestotrotz kann diese Funktionalität zu Verwirrung führen. Angenommen, die Template-Datei in dem obigen Beispiel würde wie folgt aussehen:

      <HTML>
      <HEAD>
      <TITLE>Titel</TITLE>
      </HEAD>
      <BODY>
      <TABLE>
        <TR>
          <TD>[@INHALT]</TD>
        </TR>
      </TABLE>
      </BODY>
      </HTML>
      

    In diesem Fall würde Webgenz die folgende Ausgabe generieren:

      <HTML>
      <HEAD>
      <TITLE>My Title</TITLE>
      </HEAD>
      <BODY>
      <TABLE>
        <TR>
          <TD>Dieser Inhalts-Block ist</TD>
          <TD>mehrere Zeilen lang. Dies ist</TD>
          <TD>bloß ein Beispiel.</TD>
        </TR>
      </TABLE>
      </BODY>
      </HTML>
      

    Dies ist offensichtlich alles andere als erwünscht. Es ist jedoch ein Nebeneffekt der Tatsache, dass Webgenz prinzipiell die Formatierung und Einrückung in der Template-Datei beibehält, so dass das erzeugte Dokument genau dieselbe Formatierung hat, die es bei manueller Erstellung hätte. Wenn Sie also einmal auf Ihnen unverständlichen Webgenz-Output stoßen, sorgen Sie einfach dafür, dass das betreffende Makro-Tag in der Template-Datei alleine in einer Zeile steht.

Copyright 1997-2003. All rights reserved. Webgenz is a trademark.
This page was translated into German by Webgenz user Ulrich Fahrnschon.
Webgenz in English

Click Here!