A web application can consist of a series of pages embedded within the body of another page, i.e. it is possible to nest XDIME 2 documents (i.e. html elements and their descendants) inside the body of another XDIME 2 document. In frame mode, each html element that is the first-level descendant of the root html element defines a frame page. A dynamic container for a frame page is called frame. Its position with the layout is specified by a frame region. The frame page contained within a frame can be replaced by another frame page as the user navigates through the application. Refer to Frames for more information about the frames model.
A web application can consist of a series of pages embedded within the body of another page, i.e. it is possible to nest XDIME 2 documents (i.e. html elements and their descendants) inside the body of another XDIME 2 document. In frame mode, each html element that is the first-level descendant of the root html element defines a frame page. A dynamic container for a frame page is called frame. Its position with the layout is specified by a frame region. The frame page contained within a frame can be replaced by another frame page as the user navigates through the application. Refer to Frames for more information about the frames model.
A frame layout is a canvas layout similar to a page layout in terms of the formats that it can contain, the only difference is that a frame layout must contain one and only one frame region.
The initial page of a frame is specified by using the mcs-container style property to target the html element that is the root of the frame page to the frame region associated with the frame. It is a non-fatal error if:
more than one frame page is targeted at the same frame (in that case the first frame page (in document order) is used as the initial page and all the other pages behave as if they were not targeted at any frame);
an element that is not the root html element of the frame page is targeted at the frame (in that case it behaves as if the target frame does not exist, i.e. the targeted content is skipped);
the root html element of a frame page is targeted at any type of container other than a frame region (in that case it behaves as if it was not targeted at a frame at all, i.e. it is not treated as an initial page).
A frame region is a special type of a region format that is allowed inside a frame layout. It determines the location within the layout where the content of the page that is associated with a frame will be placed. In order to distinguish a frame region from other regions, its Destination Area property needs to be set to 'Frame'. The ::mcs-frame pseudo-element can be used to target pages to a frame region.
In order to create a frame layout, page authors must manually edit the policy and add the type="frame" attribute to the canvasLayout element.
MCS only supports a single frame containing a single logical page at a time.
Frames cannot be contained within spatial iterators and therefore each frame can be identified solely by its name.
The dimensions of a frame region should be defined explicitly, preferably as a percentage of the containing box dimensions.
It is a fatal error if a frame region is a descendant of either a spatial or temporal iterator.