XFrames Working Draft
Deutsche Übersetzung
- Diese Version:
- http://archiv.jendryschik.de/TR/xframes/
- Übersetzer:
- Michael Jendryschik <michael@jendryschik.de>
Dies ist die deutsche Übersetzung des W3C Working Draft »XFrames« vom 06. August 2002. Dieses Dokument kann Übersetzungsfehler enthalten. Das englische Original finden Sie unter http://www.w3.org/TR/2002/WD-xframes-20020806/. Bitte senden Sie Fehler und Korrekturen zur deutschen Fassung an den Übersetzer. Kommentare des Übersetzers, die als solche gekennzeichnet sind, sind nicht Bestandteil des Ursprungsdokuments.
Vielen Dank an Alan J. Flavell und Thorsten Kleibaum für ihre Hilfe bei der Übersetzung.
Weitere W3C-Spezifikationen in deutscher Übersetzung und Kommentierung finden Sie bei der edition W3C.de.
XFrames
W3C Working Draft, 06. August 2002
- Diese Version:
- http://www.w3.org/TR/2002/WD-xframes-20020806
- Aktuelle Version:
- http://www.w3.org/TR/xframes
- Herausgeber:
- Steven Pemberton, CWI/W3C
Copyright © W3C® (MIT, INRIA, Keio), All Rights Reserved. W3C liability, trademark, document use and software licensing rules apply.
Kurzbeschreibung
XFrames, eine XML-Applikation mit dem Ziel, mehrere Dokumente zusammenzufügen, ersetzen HTML Frames.
Status dieses Dokuments
Dieser Abschnitt beschreibt den Status dieses Dokuments zu dem Zeitpunkt seiner Veröffentlichung. Andere Dokumente können dieses Dokument ersetzen. Der aktuelle Status dieser Dokumentserie wird beim W3C gepflegt.
Dies ist der erste öffentliche Working Draft dieser Spezifikation zur Überprüfung für Mitglieder des W3C und anderen interessierten Gruppen. Er wird sich garantiert ändern; jedem, der diesen Working Draft implementiert, sollte bewusst sein, dass wir uns in unserer Entscheidung, ob die Spezifikation geändert werden soll, nicht durch experimentelle Implementierungen einschränken lassen.
Dieses Dokument wurde durch die W3C HTML Working Group (nur Mitglieder) als ein Teil der W3C HTML Activity erstellt. Veröffentlichungen als Working Draft setzen keine Billigung durch die W3C-Mitgliedschaft oder Mitgliedern der HTML Working Group voraus.
Kommentare zu diesem Dokument können an die Mailingliste www-html-editor@w3.org (Archiv) gesendet werden. Öffentliche Diskussionen zu diesem Dokument können auf www-html@w3.org (Archiv) stattfinden.
Zum Zeitpunkt der Veröffentlichung glaubt die Working Group, dass keine Patentoffenlegungen für diese Spezifikation relevant sind. Die aktuelle Liste der Patentoffenlegungen, die für diese Spezifikation relevant sein könnten, sind auf der Patentoffenlegungs-Seite der Working Group zu finden.
Dieses Dokument kann jederzeit durch andere Dokumente aktualisiert, ersetzt oder für veraltet erklärt werden. Es ist nicht angemessen, W3C Working Drafts als Referenzmaterial zu verwenden oder sie anders als »in Arbeit« zu zitieren. Eine Liste der aktuellen W3C-Empfehlungen und andere technische Dokumente sind zu finden unter http://www.w3.org/TR.
Inhalt
- 1. Einleitung
- 2. XFrames
- 2.1. Das frame Element
- 2.2. Das head Element
- 2.3. Das title Element
- 2.4. Das style Element
- 2.5. Das row Element
- 2.6. Das column Element
- 2.7. Das frame Element
- 2.8. Gemeinsame Attribute
- 2.8 Beispiele
- 3. Ein Frameset füllen
- 3.1. Links und Targets
- 4. Größenbestimmung, Formgestaltung und Darstellung von Frames
- 5. Frames Dokumente zuweisen
- Anhänge
- A. DTD Implementierung
- B. Referenzen
- B.1. Normative Referenzen
- B.2. Andere Referenzen
- C. Danksagungen
1. Einleitung
Dieser Abschnitt ist informativ.
Frames wurden in HTML mit Version 4.0 [HTML4] eingeführt. Sie boten eine Methode, mehrere HTML-Dokumente zu einer einzigen, einer Applikation ähnlichen Schnittstelle zusammenzufügen.
Jedoch brachten Frames einige Probleme für die Benutzbarkeit von Webseiten mit sich, was vielen Veröffentlichungen zu diesem Thema Anlass dazu gab, Autoren von Webseiten zu raten, unter allen Umständen auf Frames zu verzichten. Einige dieser Probleme sind zum Beispiel:
- Der [Zurück]-Button lässt sich in vielen Fällen nicht intuitiv bedienen.
- Es ist nicht möglich, ein Bookmark zu einem Set von Dokumenten innerhalb eines Framesets zu setzen.
- Nach dem [Aktualisieren] erhält man oftmals ein anderes Ergebnis als man vorher hatte.
- [Seite hoch] und [Seite runter] sind oftmals schwierig durchzuführen.
- Man kann in einem Frameset gefangen sein.
- Suchergebnisse verweisen auf HTML-Seiten, nicht auf Framesets, so erhält man oftmals eine Seite ohne den Navigationskontext, der für die Seite vorgesehen ist, als Suchergebnis.
- Da Content Negotiation nicht möglich ist, ist ein
noframes
-Bereich für Benutzeragenten, die Frames nicht unterstützen, notwendig. Jedoch verfasst nahezu niemandnoframes
-Inhalte, wodurch das Suchen im Web zerstört wird, da Suchmaschinen Beispiele für Benutzeragenten sind, die keine Frames unterstützen. - Es gibt Sicherheitsprobleme durch die Tatsache, dass es für den Benutzer nicht sichtbar ist, wenn unterschiedliche Frames von unterschiedlichen Quellen stammen.
Dieses Dokument definiert eine separate XML-Applikation, keinen Teil von XHTML an sich, der ähnliche Funktionalität wie HTML Frames erlaubt, allerdings mit weniger Problemen in der Benutzbarkeit, hauptsächlich dadurch, dass der Inhalt des Framesets im URI sichtbar gemacht wird.
2. XFrames
Dieser Abschnitt ist normativ.
Diese Spezifikation definiert eine XML-Applikation genannt XFrames. XFrames verwendet den XML-Namensraum-Bezeichner [NAME]: http://www.w3.org/2002/06/xframes
Alle Beispiele in diesem Dokument sind informativ.
Der Rest dieses Abschnittes beschreibt die in XFrames vorkommenden Elemente und Attribute und ihre Semantik.
Das XFrames-Modul unterstützt die folgenden Elemente und Attribute:
Element | Attribute | Inhaltsmodell |
---|---|---|
frames | class (NMTOKENS), id (ID), title (CDATA), xml:base (URI) | head?, (row | column | frame+) |
head | class (NMTOKENS), id (ID), title (CDATA) | title, style* |
title | class (NMTOKENS), id (ID), title (CDATA) | PCDATA |
style | class (NMTOKENS), id (ID), title (CDATA), type* (ContentType) | PCDATA |
row | class (NMTOKENS), id (ID), title (CDATA) | (column | frame)+ |
column | class (NMTOKENS), id (ID), title (CDATA) | (row | frame)+ |
frame | EMPTY |
Implementierung: DTD
2.1. Das frames Element
Ein XFrames-Dokument spezifiziert, wie mehrere Dokumente, möglicherweise unterschiedlicher Typen, in einer Ansicht zusammengefügt werden. Das Element frames
bildet den Container für die zusammengefügten Dokumente. Die einzelnen Unterdokumente (»Frames«) können rechtwinklig nebeneinander, übereinander oder in Zeilen und Spalten angeordnet werden, sie können als separate verschiebbare Segmente dargestellt werden, ähnlich dem Fenster einer Anwendung, in Form von Karteireitern oder auf eine andere geeignete Art und Weise. Eine Zusammenstellung von Frames in einem XFrames Dokument wird Frameset genannt. Das frames
-Element besitzt neben dem Attributsatz, den alle Elemente gemeinsam haben, noch folgendes zusätzliche Attribut:
xml:base
- Wird dazu verwendet, relative URIs während des Ausfüllens von Frames innerhalb des Dokuments aufzulösen. Siehe [XMLBASE].
2.2. Das head Element
Das head
-Element beinhaltet Metadaten zu dem Dokument und legt einen Titel sowie ein Stylesheet fest.
[[Diskussionspunkt: meta
einbeziehen? RDF einbeziehen?]]
2.3. Das title Element
Das title
Element beinhaltet Text, der das Dokument betitelt und von einem Benutzeragenten dazu verwendet werden kann, das Dokument zu bezeichnen.
2.4. Das style Element
Das style
-Element ermöglicht die Angabe von Style-Anweisungen, die die Darstellung der Frames innerhalb des Dokuments beeinflussen. Das erforderliche Attribut type
gibt die Stylesheet-Sprache des Elementinhalts an. Die Stylesheet-Sprache wird als Inhaltstyp angegeben (zum Beispiel »text/css«). Autoren müssen einen Wert für dieses Attribut angeben; es gibt keinen Standardwert.
2.5. Das row Element
Das row
-Element definiert eine Reihe von Spalten und einzelnen Frames. Diese werden horizontal von links nach rechts nebeneinander platziert.
2.6. Das column Element
Das column
-Element definiert eine Reihe von Zeilen und einzelnen Frames. Diese werden von oben nach unten untereinander platziert.
2.7. Das frame Element
Das frame
-Element ist ein Platzhalter für den Inhalt eines Dokuments. Es besitzt ein zusätzliches Attribut:
source
- Dieses Attribut definiert eine URI-Referenz auf das Dokument, das diesen Frame standardmäßig ausfüllen soll, wenn dies nicht durch einen Parameter in dem URI des Frameset-Dokuments getan worden ist.
2.8. Gemeinsame Attribute
id
Dieses Attribut weist einem Element einen Namen zu. Dieser Name muss innerhalb eines XFrames-Dokuments eindeutig sein. Er kann als Stylesheet-Selektor, Ziel-Anker für Hypertext-Links oder als ein Mittel verwendet werden, ein bestimmtes Element für die allgemeine Verarbeitung durch Benutzeragenten auszuwählen.
class
Dieses Attribut weist einem Element einen Klassennamen oder einen Satz von Klassennamen zu. Es können beliebig viele Elemente denselben beziehungsweise dieselben Klassennamen zugewiesen bekommen Multiple Klassennamen müssen durch Leerraum (white space) voneinander getrennt werden. Klassennamen können als Stylesheet-Selektor (falls ein Autor einer Menge von Elementen Style-Informationen zuweisen möchte) oder für allgemeine Verarbeitung durch Benutzeragenten verwendet werden.
title
- Dieses Attribut bietet kommentierende Information über das Element, für das es gesetzt ist. Es kann dazu verwendet werden, den Zweck eines Frames zu erläutern, und es kann für nicht visuelle Benutzeragenten nützlich sein, um dem Nutzer die Struktur eines Satzes von Frames zu verdeutlichen.
2.8 Beispiele
Anmerkung des Übersetzers:
Dies ist eigentlich Abschnitt 2.9.
Alle folgenden Beispiele setzen ein umgebendes Element <frames xmlns="http://www.w3.org/2002/06/xframes">
voraus. Das Attribut id
des Elementes frame
wurde zugunsten der Übersichtlichkeit weggelassen.
- Um zwei Dokumente nebeneinander zu platzieren, geben Sie an:
<row><frame/><frame/></row>
- Um zwei Dokument untereinander zu platzieren, geben Sie an:
<column><frame/><frame/></column>
- Um ein Layout wie
------- | | | |---| | | | | -------
zu erhalten, geben sie an:
<row> <column> <frame/> <frame/> </column> <frame/> </row>
- Ein Layout wie
------- | | | |-------| | | -------
erreichen Sie mit
<column> <row> <frame/> <frame/> </row> <frame/> </column>
- Ein Layout wie
----- | | |-----| | | | |-----| | | -----
erreichen Sie mit
<column> <frame/> <row> <frame/> <frame/> </row> <frame/> </column>
- Ein Layout wie
----- | | | |-----| | | | -----
können Sie entweder als eine Spalte bestehend aus zwei Zeilen oder als eine Zeile bestehen aus zwei Spalten angeben:
<column> <row> <frame/> <frame/> </row> <row> <frame/> <frame/> </row> </column>
oder
<row> <column> <frame/> <frame/> </column> <column> <frame/> <frame/> </column> </row>
3. Ein Frameset füllen
Ein XFrames-Dokument wird durch einen URI in der Form http://example.org/home.frm#frames(id1=uri1,id2=uri2,...)
angegeben. Jedes Attribut id
kennzeichnet ein Element frame
innerhalb des Dokuments mit einem Attribut id
, das diesen Wert enthält. Daraufhin ist jeder zugehörige URI diesem Frame zugewiesen. Falls kein Frame mit dieser id
existiert, wird der URI ignoriert. Falls ein Frame innerhalb des Dokuments nicht gefüllt ist (entweder weil er kein Attribut id
besitzt oder weil keiner der Parameter dessen ID verwendet), aber ein Attribut source
enthält, wird stattdessen der URI dieses Attributes verwendet. Falls ein nicht gefüllter Frame kein Attribut source
enthält, wird der Frame leer gelassen.
Relative URIs in Parametern werden relativ zum XFrames-Dokument ausgewertet, wobei der Wert xml:base
[XMLBASE] jedes Elementes <frames>
beachtet wird.
Nachdem die URIs den Frames zugeteilt wurden, wird das XFrames-Dokument dementsprechend angezeigt.
In einem Dokument home.xfm
zum Beispiel, das folgendes Layout
------- | | | |---| | | | | -------
auf folgende Art und Weise beschreibt
<row>
<column>
<frame id="a"/>
<frame id="b"/>
</column>
<frame id="c" source="main.xml"/>
</row>
und wie folgt gefüllt wird
home.xfm#frames(a=one.xhtml,b=two.xhtml,c=three.xhtml)
würden die Frames gefüllt werden, indem one.xhtml
dem Frame mit id="a"
, two.xhtml
dem Frame mit id="b"
und three.xhtml
dem Frame mit id="c"
zugeordnet würden:
------- | 1 | | |---| 3 | | 2 | | -------
Gefüllt wie folgt
home.xfm#frames(a=one.xhtml,b=two.xhtml)
würde der Frame mit id="c"
mit main.xml
gefüllt werden.
Gefüllt wie folgt
home.xfm#frames(a=one.xhtml)
würde zusätzlich der Frame mit id="b"
leer bleiben.
Gefüllt wie folgt
home.xfm#frames(z=nav.xml)
würden die Frames mit id="a"
und id="b"
leer bleiben, und der Frame mit id="c"
würde mit main.xml
gefüllt werden (und nav.xml
würde ignoriert werden).
3.1. Links und Targets
Wenn ein Dokument, das Hyperlinks enthält, von denen einer aktiviert wird (zum Beispiel dadurch, dass ein Nutzer auf ihn klickt), einem Frame zugewiesen wird, dann wird für gewöhnlich der URI dieses Hyperlinks dem Frame an Stelle des bisherigen Dokuments zugewiesen, und das XFrames-Dokument wird neu angezeigt. Dies ändert den URI, der dem Frameset zugewiesen ist, durch hinzufügen oder ersetzen der Verbindung zwischen dem Frame und dem URI des Frame-Dokuments; das ist für den Nutzer für gewöhnlich sichtbar. Wenn der Frame, der das Dokument enthält, kein Attribut id
besitzt, sodass keine solche Verbindung möglich ist, wird das gesamte Frameset durch das Dokument, auf das gelinkt wurde, ersetzt.
Wenn der Hyperlink zielgerichtet ist (zum Beispiel dadurch, dass ihm ein Attribut target in XHTML 1.0 [XHTML] zugewiesen ist), und sich innerhalb des Framesets ein Frame mit einer id
, die dem Ziel entspricht, befindet, dann wird dieser URI dem Frame an Stelle des bisherigen Dokuments zugewiesen. Wenn das aktuelle Frameset keine solche id
enthält, aber das Frameset einem Frame in einem anderen Frameset zugewiesen ist, dann wird der Prozess in diesem Frameset durchgeführt und so weiter. Wenn keine passende id
gefunden wird, wird die zielgerichtete Ressource in einer vollkommen neuen Umgebung ausgeführt (ein visueller Browser zum Beispiel könnte ein neues Fenster öffnen).
4. Größenbestimmung, Formgestaltung und Darstellung von Frames
Die gesamte Formgestaltung, Positionierung und Größenbestimmung von Frames wird durch ein Stylesheet in CSS oder anderen geeigneten Style-Sprachen übernommen. Das bedeutet, dass die Namen <row>
und <column>
nicht normativ zu deuten, sondern lediglich als Vorschlag zu verstehen sind, wie sie dargestellt werden sollten, und als Standard-Darstellung in Abwesenheit eines Stylesheets. Wenn das <frames>
-Element nur <frame>
-Elemente enthält (und keine Elemente <row>
und <column>
), ist es Standard, sie als Karteireiter oder sich überlappende Fenster darzustellen.
Wenn keine Höhen- oder Breiteninformationen aus einem Stylesheet vorliegen, werden Zeilen und Spalten gleichmäßig über den verfügbaren Raum ohne auf ihren Inhalt zu achten aufgeteilt (so belegt in einer Spalte, die drei Frames enthält, jeder Frame ein Drittel der Höhe der Spalte; in einer Spalte, die zwei Frames und eine Zeile enthält, belegt die Zeile weiterhin ein Drittel der Höhe der Spalte, auch wenn die Zeile an sich mehrere Spalten enthält; in einer Zeile, die drei Frames enthält, von denen einem eine Höhe zugeteilt worden ist, wird der übrige Raum zwischen den beiden anderen Frames aufgeteilt).
Beachten Sie, dass das Stylesheet in einem XFrames-Dokument keinen Einfluss auf den Inhalt der Frames hat.
[[Diskussionspunkt: Sollten Stylesheets dem Inhalt der Frames zugewiesen werden? <frame stylesheet="override.css"/>]]
[[Diskussionpunkt: Sollte stattdessen der CSS-Tabellen-Layout-Algorithmus verwendet werden?]]
[[Diskussionspunkt: Wird ein Minimum an CSS zur Bestimmung von Breiten und Höhen, zum Beispiel in Prozentanteilen, benötigt, sodass in Abwesenheit von CSS weiterhin vollständig kompatible Kontrolle über das Layout besteht?]]
[[Diskussionspunkt: Sollten weitere sinnvolle Elemente wie zum Beispiel <tabbed> hinzugefügt werden?]]
5. Frames Dokumente zuweisen
Diese Spezifikation verlangt von XFrames-konformen Benutzeragenten nicht, dass sie die Zuweisung bestimmter Dokumenttypen an einen Frame akzeptieren oder ablehnen.
A. DTD Implementierung
Dieser Anhang ist normativ.
[folgt]
B. Referenzen
Dieser Anhang ist normativ.
B.1. Normative Referenzen
- [NAME]
- »Namespaces in XML«, W3C Recommendation, T. Bray, D. Hollander, A. Layman, eds., 14 January 1999.
Verfügbar unter: http://www.w3.org/TR/1999/REC-xml-names-19990114
Die aktuelle Version ist verfügbar unter: http://www.w3.org/TR/REC-xml-names - [URI]
- »RFC2396: Uniform Resource Identifiers (URI): Generic Syntax«, T. Berners-Lee, R. Fielding, L. Masinter, August 1998.
Verfügbar unter: http://www.rfc-editor.org/rfc/rfc2396.txt - [XMLBASE]
- »XML Base«, W3C Recommendation, J. Marsh, ed., 27 June 2001.
Verfügbar unter: http://www.w3.org/TR/2001/REC-xmlbase-20010627
Die aktuelle Version ist verfügbar unter: http://www.w3.org/TR/xmlbase
B.2. Andere Referenzen
- [CSS2]
- »Cascading Style Sheets, level 2 (CSS2) Specification«, W3C Recommendation, B. Bos, H. W. Lie, C. Lilley, I. Jacobs, eds., 12 May 1998.
Verfügbar unter: http://www.w3.org/TR/1998/REC-CSS2-19980512
Die aktuelle Version ist verfügbar unter: http://www.w3.org/TR/REC-CSS2 - [HTML4]
- »HTML 4.01 Specification«, W3C Recommendation, D. Raggett, A. Le Hors, I. Jacobs, eds., 24 December 1999.
Verfügbar unter: http://www.w3.org/TR/1999/REC-html401-19991224
Die aktuelle Version ist verfügbar unter: http://www.w3.org/TR/html4 - [XHTML]
- »XHTML™ 1.0 The Extensible HyperText Markup Language (Second Edition): A Reformulation of HTML 4 in XML 1.0«, W3C Recommendation, S. Pemberton et al., 1 August 2002.
Verfügbar unter: http://www.w3.org/TR/2002/REC-xhtml1-20020801
Die aktuelle Version ist verfügbar unter: http://www.w3.org/TR/xhtml1
C. Danksagungen
Dieser Abschnitt ist informativ.
Zur Zeit der Veröffentlichung waren Mitglieder der W3C Working Group:
Die Liste wird eingefügt, wenn dieses Dokument eine Empfehlung (Recommendation) wird.