Langbahn Team – Weltmeisterschaft

XFrames

XFrames was an XML format draft for embedding HTML pages into one page which handles the layout without the problems of HTML Frames. This technique has been especially popular for navigation bars. While HTML Frames are still supported for legacy websites, today websites combine the page on the server instead.

Differences from HTML Frames

Traditional HTML frames that were introduced with HTML 4.0 were useful for their ability to combine several distinct Web pages into a single webpage view. However, several problems arose from the implementation and as such, frames have been removed from the W3C XHTML 1.1 standard. XFrames was supposed to address some of the following problems existent in HTML frames:

  • a Web browser's back button failing to work intuitively
  • the failure to bookmark or favorite specific documents on the Web page easily as well as the inability to send an individual a reference to a specific document or collection
  • getting trapped in a frameset
  • the production of different results at times when a Web page containing frames is reloaded
  • the "Page Up" and "Page Down" keys being difficult to use due to the pointer focus being on another frame within the page
  • security vulnerabilities caused by the fact that a user has no way of knowing the original source of each framed document
  • Since frames are not supported by all agents, and the necessary <noframes> content is not popularly implemented, agents that do not support frames (such as search engines) fail to render pages correctly and at the same time prevent any search engine optimization.

XFrames overcomes the bookmarking problem by encoding the population of the frames into the URI, thus making it possible to bookmark/add a favorite of a page successfully.

XFrames Implementation

Similar to other markup languages, XFrames supported a number of elements and respective attributes. The following is a simple demonstration for the proposed implementation of a frames webpage:

<frames xmlns="http://www.w3.org/2002/06/xframes/">
   <head>
      <title>Home Page</title>
      <style type="text/css">
         #header {height: 150px; }
         #footer {height: 50px; }
         #nav {width: 15%; }
      </style>
   </head>
   <group compose="vertical">
      <frame xml:id="header" source="banner.xhtml"/>
      <group compose="horizontal">
	 <frame xml:id="main" source="news.xhtml"/>
	 <frame xml:id="nav" source="nav-menu.xhtml"/>
      </group>
      <group compose="vertical">
         <frame xml:id="footer" source="disclaimer.xhtml"/>
      </group>
   </group>
</frames>

The <frames> element acts as the containing element of the collection of frames. This collection is what is being referred to as the 'frameset' of a webpage. Similarly to XHTML and HTML markups, the <head> elements contain meta-data primarily used for search optimization and document description. The contained <style> element is used to include any content and layout styling - CSS is being used here. <group> groups a single or several frame elements together and can be styled accordingly. If no group style is specified, the compose attribute should be used to specify how the grouped frame elements are to be composed. Lastly, the <frame> element acts as the placeholder for the content of a webpage specified by URL through the source attribute.

See also

References