Um für eine exportierte Datei ein Frameset und die erforderlichen Frame-Inhalte zu erzeugen, benötigen Sie eine Layoutdatei. In dieser Layoutdatei wird zunächst das Frameset und anschließend jedes Frame mit einer NPSOBJ-Anweisung nach folgendem Muster definiert:
<npsobj frame="frameName" defaulttarget="defaultTarget"> frameContent </npsobj>
Beim Export und bei der Vorschau bewirkt eine solche NPSOBJ-Anweisung, dass neben der
Ausgabedatei für die Datei eine weitere Ausgabedatei erzeugt wird, die den ausgewerteten Inhalt
des NPSOBJ-frame
-Tags enthält. Der Name dieser Frame-Inhaltsdatei setzt sich aus
dem Namen der exportierten Datei, einem Punkt, dem im NPSOBJ-Tag angegebenen Framenamen
frameName und der Dateinamenserweiterung zusammen. Beim Export des Dokuments
sample wird also neben der Hauptdatei sample.html
die Datei
sample.frameName.html
generiert.
In einer Layoutdatei zur Erzeugung von Framesets und Frames wird der Hauptinhalt der zu
exportierenden Datei in den Inhalt eines NPSOBJ-frame
-Tags aufgenommen, sodass er als
Frame-Inhaltsdatei vorliegt. Die erzeugte Hauptdatei dagegen enthält nur den Code, der die
NPSOBJ-frame
-Tags umgibt, also vor allem den Code, der das Frameset
definiert.
Das folgende Beispiel geht davon aus, dass sich im gleichen Ordner die Dateien
sampledoc
und die Layoutdatei frametemplate
befinden. In
frametemplate
werden ein zweiteiliges Frameset und die beiden dazu gehörenden
Frames definiert:
<html> <head> <title><npsobj insertvalue="var" name="title"/></title> </head> <frameset rows="100,*"> <npsobj frame="banner"> <html> <head> <title>Banner</title> </head> <body> <img src="/banners/sample.tif"> <!-- Put navigation code here --> </body> </html> </npsobj> <npsobj frame="content"> <html> <head> <title><npsobj insertvalue="var" name="title"/></title> </head> <body> <npsobj insertvalue="var" name="body"/> </body> </html> </npsobj> </frameset> </html>
Die Datei sampledoc
hat den Titel Sampledoc-Titel
und enthält den
folgenden Code:
<h1>Sampledoc</h1> <p>Ein Beispieldokument mit einem <a href="sample2.html"> internen Link</a> und einem <a href="http://www.example.com" target="_blank">externen Link</a>.</p>
Beim Export von sampledoc
mit Hilfe der Layoutdatei frametemplate
entstehen die drei Ausgabedateien sampledoc.html
, sampledoc.banner.html
und sampledoc.content.html
. Folgt man einem Link auf das Dokument
sampledoc
, so wird die Hauptdatei sampledoc.html
angezeigt.
Sampledoc.html
enthält im Wesentlichen die Frameset-Definition:
<html> <head> <title>Sampledoc-Titel</title> </head> <frameset rows="100,*"> <frame name="banner" src="sampledoc.banner.html"> <frame name="content" src="sampledoc.content.html"> </frameset> </html>
Die Datei sampledoc.banner.html
:
<html> <head> <title>Banner</title> </head> <body> <img src="/banners/sample.tif"> <!-- Put navigation code here --> </body> </html>
Die Datei sampledoc.content.html
:
<html> <head> <title>Sampledoc-Titel</title> </head> <body> <h1>Sampledoc</h1> <p>Ein Beispieldokument mit einem <a href="sample2.html" target="_top"> internen Link</a> und einem <a href="http://www.example.com" target="_blank">externen Link</a>.</p> </body> </html>
Bitte beachten Sie, dass Sie in einer NPSOBJ-frame
-Anweisung mit dem Tag-Attribut
defaulttarget
festlegen können, in welchem Frame ein verlinktes Dokument angezeigt
werden soll. Der voreingestellte Wert für defaulttarget
ist _top
, Sie
brauchen dieses Tag-Attribut also nicht anzugeben, wenn die Links in einem Frame auf Dokumente
verweisen, die ebenfalls als Frameset exportiert wurden. Andere Tag-Attribute, die Sie in
NPSOBJ-frame
-Tags verwenden, werden unverändert in das resultierende
frame
-Tag übernommen.
NPSOBJ-frame
-Tags dürfen nicht verschachtelt werden, d. h. sie dürfen
keine NPSOBJ-frame
-Tags enthalten.