Do you have a question? Post it now! No Registration Necessary. Now with pictures!
- Posted on
- Framesets in XHTML 1.1
Re: Framesets in XHTML 1.1
First, no current IE browser will support any kind of xhtml if it is
properly served as application/xhtml+xml. When properly served, xhtml
is parsed as xml, which is extremely strict, and even one small xml
error, such as not closing a tag, can result in an xml parser error
report rather than a view of the page. Some write an xhtml page and
serve it as something.html. However this only serves the page as text/
html which is ordinary html. Thus you have wasted your time and would
better use html 4.01 strict in the first place. To serve true xhtml,
you must associate the mime type application/xhtml+xml with an
extension such as .xhtml, since usually the server already associates
the extension .html with the mime type text/html for ordinary html.
When you then servere xhtml properly, it does not work for current IE
The W3C validator confuses many into thinking they are using xhtml
when they are not. The validator only validates the code you have
written as xhtml. However, to see how the code is being served, you
have to select verboise output. Then you will get an indication if the
page is being served as text/html or application/xhtml+xml.
I would guess that 99+ % of pages claiming to be xhtml are really only
pseudo xhtml which is only mis-served html. This usually works on
current browsers, but is misleading at best and could cause problems
in some cases, especially if the page has xml content.
Frames of any type are not part of xhtml 1.1. I don't use frames. They
might be tolerated on some browsers when a page labeled xhtml 1.1 is
mis-served as html. However the likely outcome when the page is
properly served as true xhtml is that you will get an error report
from the xml parser rather than a view of the page. Frames , or
iFrames, I forget which, may be allowed in xhtml 1.0 transitional
Header exchange may be used to see if the browser will accept xhtml.
If not as is the case for IE, one can automatically re-write the page
as html 4.01 strict, for example, using php, regular expressions etc.
This is not exactly simple, but it usually can be done. Once you have
set up to serve xhtml 1.1 properly the first time, it really is not
much more complicated than serving html, since most of the more
difficult parts become a matter of copy and paste.