Eine Ausgabeseite ist durch einen Datensatz dargestellt, der Seitenname, die Kennzeichnung als Library, den genutzten Dokument-Typ, ein internes, ansonsten nicht weiter beachtetes Kommentarfeld, das Statusfeld sowie den eigentlichen Code der Seite enthält. Der Seitencode entspricht einer Textdatei, die einerseits Html-Elemente enthalten muß, andererseits sämtliche der Ausgabeseiten / sd-Elemente enthalten kann. Die Grunddaten werden gemäß der folgenden Maske definiert.
Suchen | Neue Ausgabeseite | Speichern | Abbruch | Hilfe |
Übersicht (1/10) ≪ < 1 > ≫ - change-mail.html - change-pwd.html - login.html - new-anonym.html - new-nick.html - new-pwd.html - myQuery.html - myTemplates.lib.html - myTestPage.html - VertreterInput.html |
|
Der Seitenname muß immer mit der Endung '.html' erstellt werden. Der oben angezeigte Seitenname läßt sich direkt nutzen:
https://datenbank-name.server-daten.de/login.htmlFerner können Unterverzeichnisse verwendet werden. Hierzu genügt es, die Pfade direkt, ohne führenden Slash, zu verwenden. Eine Ausgabeseite mit dem Seitennamen
unterverzeichnis/angebot.htmlwird aufgerufen durch:
https://datenbank-name.server-daten.de/unterverzeichnis/angebot.htmlDie Speicherung mit dem Status <inactive> überspringt die Validierung des Codes und sperrt die Ausgabeseite für direkte Aufrufe. Dies kann verwendet werden, um die Bearbeitung einer noch unvollständigen und invaliden Ausgabeseite zu unterbrechen, ohne den Seitencode selbst sichern zu müssen. Ferner ist hiermit die Blockierung einer Ausgabeseite möglich, ohne die Berechtigungen löschen zu müssen.
Die Felder 'Print_Id' und 'Print_Mail' sowie der Button 'PDF generieren' beziehen sich auf die Möglichkeit, aus einer Ausgabeseite eine PDF-Darstellung zu erzeugen und diese per Mail zu versenden. Alles weitere zu diesem Erzeugen von PDF-Dokumenten findet sich unter PDF-Dokumente .
Seitenvorschau | Validieren | Speichern | Abbruch | Hilfe |
neue-seite.html Status
▲ https://datenbank-name.server-daten.de/neue-seite.html |
Wenn ein Nutzer dieses Fenster im Vollbildmodus nutzt, so kann er die Größe des Bearbeitungsfensters unter <Eigene Daten> - <Einstellungen> anpassen. Die Standardwerte für Höhe/Breite sind 30/80, diese Werte werden verwendet, falls keine Einträge gesetzt sind. Der Aufwärtspfeil am Ende der ersten Zeile führt ohne Speicherung zurück zum vorigen Menü. Der Link darunter stellt den tatsächlichen Aufrufpfad für die Seite dar. Ferner kann hier der Status einer Seite geändert werden, so daß sich auch eine fehlerhafte Seite mit dem Status 'inaktiv' speichern läßt. Dies ist nützlich, falls der Code Fehler enthält und die Speicherung deshalb zunächst zurückgewiesen wird. Der Wert stimmt mit dem Feld 'Status' der ersten Maske überein.
Die oben gezeigten Vorbelegungen entsprechen der Minimalform einer Ausgabeseite. Der Code beginnt mit der bei der Erstellung der Seite gewählten DTD, das folgende Html-Element benötigt zusätzliche Namespace-Deklarationen. Der eigentliche Code wird im body-Abschnitt eingefügt. Hier können beliebige Html- sowie alle Hauptelemente mit passenden Zwischen- und Unterelementen verwendet werden. Für den Einstieg ist diese Maske kaum verwendbar. Hier ist es besser, sich mittels des Buttons <Code generieren> zunächst Beispielcode zu generieren. Betrachtet man den erzeugten Code in der Codeansicht, so sollte die Hierarchie der sd-Elemente rasch deutlich werden. Ferner können in dieser Darstellung Html-Elemente zur Formatierung eingefügt und deren Wirkung beobachtet werden.
Das Html-title-Element sollte entweder mit dem Seitentitel vorhanden sein oder fehlen. Ein leeres title-Element sowie eine fehlende DTD kann dazu führen, daß - aufgrund der Xsl-Transformation - ein <title/>-Element eingefügt wird, welches vom InternetExplorer V 6.0 ungenau interpretiert wird. Als Ergebnis wird eine leere Seite ausgegeben, da das schließende title-Element zu fehlen scheint.
Der relevante Abschnitt ist der Teil sd-Elemente. Die dort zur Verfügung stehenden Alternativen erzeugen die verschiedenen Grundtypen von Seiten und ergänzen sie um Varianten. Positionierung schiebt einen div-Container ein, der für weitere Texte genutzt werden kann. Dieser wird mittels <Textposition zu sd-Elementen> relativ zum div-Container postiert, welcher die sd-Elemente enthält. Die drei folgenden Optionen beeinflussen die relative Anordnung der sd-Elemente zueinander. Farben fügt nur Links zu CSS-Dateien ein.
Die darüber verfügbaren Optionen 'Eingabe' und 'Ausgabe' erstellen Ausgabeseiten, welche nur eine der beiden Hauptelemente sd:input-table oder sd:rs enthält. Bei diesen beiden Typen können die anderen Optionen außer 'Subtyp' genutzt werden. Diese Masken sind bsp. bei reinen Eingabe- oder Ausgabeseiten ohne Suchfunktionalität nützlich.
Der wohl am häufigsten verwendete Seitentyp ist jener der gemischten Eingabe und Ausgabe. Dieser enthält sowohl ein Eingabeformular, welches zur Neuerstellung eines Datensatzes, zur Suche und zum Editieren verwendbar ist als auch ein Suchergebnis, welches Datensätze zum Editieren liefert. Ferner ermöglicht die Festlegung eines Subtyps unter Verwendung des sd:ignore -Elements das Ausblenden der Maske oder der Suche zu gewünschten Zeitpunkten. So wird ohne weitere Definitionen beim Aufruf einmal die Suche so ausgeführt, als sei direkt auf den Button geklickt worden, ferner werden Eingabemaske und Suchergebnis permanent eingeblendet. Die Erstausgabe der Suche wird vom Subtyp 'Start nur mit Eingabe' unterdrückt, dieser Typ bietet zunächst nur eine Eingabemaske an. 'Suche/Eingabe im Wechsel' und 'bei Suche Eingabe ausblenden' beginnen stattdessen nur mit dem Suchergebnis und blenden die Editiermaske alternativ oder gleichzeitig ein. Damit kann die Maske nur zum Editieren, nicht jedoch zum Suchen genutzt werden.
Die folgende Option <Tabellen/Views/Abfragen> listet die verfügbaren Objekte auf, welche für die Ausgabeseite verwendet werden können. Für Tabellen (T) werden die Standardsviews verwendet, welche die erste Spalte ausgeben. Das obige Beispiel enthält zusätzlich zu den drei Tabellen noch zwei weitere Views (V) sowie zwei Abfragen (Q = Queries).
Die Optionen 'Links zum Blättern' sowie 'Relationen mit Blättern/Suche' setzen die entsprechenden Werte für das sd:page-number-style - bzw. das sd:rel-format -Attribut und legen fest, wie die Nummerierung der Seiten erfolgt bzw. ob automatisch die Hilfswerkzeuge für das Blättern und Suchen durch Relationen erzeugt werden. Die letzte Option wirkt sich nur dann aus, falls die Tabelle Spalten enthält, die als Detailspalten von Relationen definiert sind.
Der Punkt 'Erstellungstyp' entscheidet darüber, ob Spalten individuell nachformatiert werden können oder ob stattdessen alle Spalten einheitlich ausgegeben werden, die Ausgabeseite jedoch sofort für Url - Überschreibungen genutzt werden kann. Im ersten Fall <explizit> wird unterhalb von sd:normal für jede Spalte der gewählten Tabelle ein Ausdruck zur Eingabe bzw. zur Ausgabe des Wertes erzeugt. Diese können anschließend in der Codeansicht nachbearbeitet werden, so daß bsp. zwei verschiedene Datumsspalten verschieden formatiert werden. Der zweite Fall <dynamisch> nutzt dagegen sd:input-cell-set bzw. sd:cell-set und erzeugt unterhalb dieser Elemente nur Code für die Bearbeitung bzw. Ausgabe einer Spalte. Diese Set-Elemente werden bei der Ausführung für jede Spalte einmal aufgerufen. Damit werden immer alle Spalten in der Reihenfolge ausgegeben, wie dies in der Datenbank festgelegt wurde. Bei Url-Überschreibungen stehen auch für die Spalten der neuen Tabelle passende Felder bereit, so daß dieselbe Ausgabeseite für alle Tabellen nutzbar ist, ohne daß Spalten fehlen.
Die Option <rs-Ausgabe> bietet die Möglichkeit, eine Tabelle oder Abfrage nicht als Html-Tabelle, sondern als Liste mit beliebig, noch zu definierenden Zwischentexten auszugeben. Wird hier die dynamische Version gewählt, so wird das sd:delimiter -Attribut mit , vorbelegt, so daß als Ergebnis eine kommagetrennte Liste ausgegeben wird. Die beiden letzten Optionen entscheiden, ob die Zeile mit den Spaltenüberschriften Sortierlinks erhalten und ob ein Link zum Editieren mit dem Wert der ersten Spalte oder einen zusätzlichen Text eingefügt wird.
<sd:library xmlns:sd="http://www.server-daten.de/" xmlns="http://www.w3.org/1999/xhtml"> </sd:library>Das Xml-Wurzelelement ist ein sd:library -Element, das genau einmal (analog zum Html-Element in Html-Seiten) auftritt und alle inneren Elemente umschließt. Es kann eine Liste von beliebig vielen sd:template -Elementen enthalten. Diese lassen sich von verschiedenen Ausgabeseiten her mit dem sd:call-template -Element aufrufen. Ihr Inhalt steht damit in verschiedenen Ausgabeseiten zur Verfügung. Dies erleichtert die seitenübergreifende Verwaltung von Html-Schnipseln (bsp. Buttonbeschriftungen), die über viele Ausgabeseiten hinweg gleichartig eingesetzt werden sollen.
Libraries sind ein fortgeschrittenes Werkzeug für erfahrene Benutzer. Falls nur einfache Ausgabeseiten erstellt werden, dürften Libraries unnötig sein. Sie dehnen jedoch das Datenbank-Prinzip der Redundanzfreiheit aus auf den Bereich der Erstellung von Ausgabeseiten. Für Libraries gibt es keine Möglichkeit, Code automatisch zu generieren.