By David Jenkins
The W3C laid out the XHTML path by releasing the XHTML 1.0
(Extensible HTML) specs on January 26, 2000 with full support of
all of HTML 4.0 features as well as compatibility with XML for
future development. You may think of XHTML as the transition
from XML (how the data is to be defined) to HTML (how the data
will be displayed). For more information about XML, I highly
recommend Michael Classen's XML articles on WebReference.
webreference.com/xml/ - Xploring XML on WebReference.com
The main difference between HTML and XHTML is the structure of
XHTML. XHTML is a more formalized structure of HTML 4.0 supporting
all HTML 4.0 features with complete CSS and DOM support. The
formalized style of XHTML coding allows ease of maintenance and
future additions to any XHTML Web page or site. Loose and
unstructured elements are not allowed in XHTML. For example, in
XHTML you must use lower case tags for all HTML attributes and
elements:
<p> correct form
<P> - incorrect form
Another example of structured XHTML is unclosed elements. All
XHTML elements must be closed out to produce a well-formed
document. Well-formed (a term carried over from XML) simply means
that all elements are nested and closed properly and follow strict
guidelines in XML and XHTML. A good example is the paragraph
element:
<p>your paragraph</p> - correct form
<p>your paragraph - incorrect form missing closing element.
JavaScript and CSS are not allowed in XHTML documents. The
XML parser will report a error if the XHTML page contains internal
CSS or JavaScript coding. Any CSS or JavaScript can be accessed
through a external file. Relocate the CSS and/or JavaScript
to a separate file and cross link the XHTML page to it. Web page
developers will find this actually helps to modularize the
components of a Web site. Anytime you need to access CSS or
JavaScript, simply link to the appropriate file from your XHTML
code. Most developers find this style of Web site design to be
easier to maintain and modify. Modularization of XHTML is one of
the future features currently under review by W3C. For further
information and specifications about XHTML 1.0, please refer to
the following XHTML web sites:
webreference.com/xml/column6/ - XHTML vs HTML
www.w3.org/TR/xhtml1/ - XHTML 1.0 specifications
www.w3.org/TR/xhtml11/ - XHTML specifications under review
Now is the time to double check your HTML editor. Most current
HTML editors have support for XHTML. Be sure to get the latest
updates and version of your HTML editor. If your editor does
support XHTML, then be certain to review all documentation and
suggestions on the XHTML functions. Practice converting your Web
pages from HTML to XHTML. Be sure to check your XHTML by
submitting your Web page to the W3C XHTML Validator.
(validator.w3.org) The validator will verify that your
Web page follows all XHTML guidelines and will parse correctly.
You might want to consider a XML editor. SoftQuad's XMetal 2.0
should easily
transfer your Web site from a straight HTML Web site to a fast,
robust XML-driven web site. XMetal will blend into your existing
work flow environment allowing much greater ease of data management,
creation, and presentation of any document for the internet or your
intranet utilizing all the strengths of XML. I would encourage all
Web developers to read Michael Cla~en's article about XML editors.
His article outlines several different types of XML editors. From
his review you can select the XML editor that is best suited for
your specific needs.
webreference.com/xml/column8/ - XML editor review
www.softquad.com/ - XMetal 2.0 by SoftQuad
As of the writing of this article, only one browser supports XML
and full support is not included. Internet Explorer 5.0 has a
low level XML parser built into it. At the time of IE 5.0 release,
XML was still under consideration by the W3C. Microsoft has
promised full XML support in later release versions of Internet
Explorer. Netscape and Opera have both pledged to support XHTML
fully in the next releases of their respective browsers. By this
time next year every browser will offer some XML support in some
fashion, however we will have to wait and see exactly what that
support will be. The nice thing about coding in XHTML now is that
it does degrade nicely in all browsers. So your pages should
display just fine in all version 4.0 browsers.
The one aspect that every Web page designer has wanted was cross
browser compatibility. By current standards, when you code HTML
you must either code separately for each browser you wish to
support or you must code in such a fashion that all browsers will
accept the HTML that you create. In the latter example, coding in
this manner usually leads to rather boring and plain pages that
may take longer then average to download.
With XML and XHTML, if the browser can parse the W3C XHTML 1.0 DTD
correctly, then your page should display nicely. With XSL (the
XML version of Cascading Style Sheets) and SAX2 or DOM support,
you can send only what the requesting device needs. That's right
- the device won't matter, regardless if it is a cell phone, pager,
or desktop. The DTD will define the data for that specific device
and the XML parser contained in the device will process the
information correctly and prepare it for presentation to the user.
By using XML and XHTML in this manner, you should only have to code
once and one time only as the proper DTD will be supported and
available from the manufacture of the device. This way, you can
concentrate on the data you wish to present and cross link it to
the proper DTD. Your XSL or CSS will define the layout and your
SAX or DOM will make the presentation dynamic if the device will
support it. The future looks bright and exciting, but the first
steps have just begun. So take your first steps along the XML and
XHTML paths. You will be amazed at what you will be able to do.
References:
webreference.com/xml/ - XML series by Michael Classen
www.softquad.com/ - XMetal 2.0 by SoftQuad
validator.w3.org/ - W3C's HTML and XHTML Validator
webreference.com/xml/column6/ - XHTML vs. HTML
www.w3.org/TR/xhtml1/ - for XHTML 1.0 specifications
www.w3.org/TR/xhtml11/ - XHTML specifications under review
webreference.com/xml/column8/ - XML editor review
www.w3.org/TR/xhtml-prof-req/ - Document Profiles for devices
www.w3.org/Talks/1999/12/XHTML-XML99/slide1.html - Summary
About the author:
David Jenkins is a free lance web page developer and an avid
amature guitarist. His current project is a XML-driven post board
site located at http://boards-net.com.
You may contact David at david@boards-net.com. |