Source: Wikipedia, the free encyclopedia.

XFrames is an XML format for combining and organizing web based documents together on a single webpage through the use of frames. Similarly to HTML Frames, XFrames can be made useful through its power to create a content frame that is scrollable while other frames - such as sidebar menus, the header and footer remain in place on the page. XFrames will be particularly useful to web developers who will be able to modify a single document and have that modification appear on all pages that contain the document within a frame.

The main advantage of this next generation of frames is that it overcomes several of the major usability problems existing in the traditional framing system.

Although still in the working draft stages, XFrames will be replacing traditional HTML Frames.

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 will likely 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 will support 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/">
      <title>Home Page</title>
      <style type="text/css">
         #header {height: 150px; }
         #footer {height: 50px; }
         #nav {width: 15%; }
   <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 compose="vertical">
         <frame xml:id="footer" source="disclaimer.xhtml"/>

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.

Status of XFrames


released a second Working Draft on October 12, 2005 that further explains the proposed implementation of XFrames. As of today, XFrames still remains a W3C Working Draft with no clear indication on if and when it will become a
W3C Recommendation

See also