Parts of this article (those related to the development of XHTML) need to be updated. Please help update this article to reflect recent events or newly available information. Last update: August 10, 2011 (October 2013)

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:

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="">
      <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

The W3C 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