XHTML
Encyclopedia
|
| Tutorials | Encyclopedia | Dictionary | Directory |
|
XHTML
The Extensible Hypertext Markup Language, or XHTML, is a markup language that has the same depth of expression as HTML, but also conforms to XML syntax. While HTML is an application of Standard Generalized Markup Language (SGML), a very flexible markup language, XHTML is an application of XML, a more restrictive subset of SGML. Because they need to be well-formed, true XHTML documents allow for automated processing to be performed using standard XML tools?unlike HTML, which requires a relatively complex, lenient, and generally custom parser. XHTML can be thought of as the intersection of HTML and XML in many respects, since it is a reformulation of HTML in XML. XHTML 1.0 became a World Wide Web Consortium (W3C) Recommendation on January 26, 2000. XHTML 1.1 became a W3C Recommendation on May 31, 2001.
OverviewXHTML is "a reformulation of the three HTML 4 document types as applications of XML 1.0".[1] The W3C also continues to maintain the HTML 4.01 Recommendation and the specifications for HTML5 and XHTML5 are being actively developed. In the current XHTML 1.0 Recommendation document, as published and revised to August 2002, the W3C comments that, "The XHTML family is the next step in the evolution of the Internet. By migrating to XHTML today, content developers can enter the XML world with all of its attendant benefits, while still remaining confident in their content's backward and future compatibility."[1] MotivationThe need for a reformulated version of HTML was felt primarily because World Wide Web content now needs to be delivered to many devices (like mobile devices) apart from traditional desktop computers, where extra resources cannot be devoted to support the additional complexity of HTML syntax. In practice, however, HTML-supporting browsers for such constrained devices have emerged faster than XHTML support has been added to the desktop browser with the largest market share, Internet Explorer. Another goal for XHTML and XML was to reduce the demands on parsers and user agents in general. With HTML, user agents increasingly took on the burden of "correcting" errant documents. Instead, XML requires user agents to give a "fatal" error when encountering malformed XML. In theory, this allows for vendors to produce leaner browsers, without the obligation to work around author errors. A side effect of this behavior is that those authoring XHTML documents and testing in conformant browsers should be more readily alerted to errors that may have gone otherwise unnoticed if the browser had attempted to render or ignore the malformed markup. A feature XHTML inherits from its XML underpinnings is XML namespaces. With namespaces, authors or communities of authors can define their own XML elements, attributes and content models to mix within XHTML documents. This is similar to the semantic flexibility of the Relationship to HTMLHTML is the antecedent technology to XHTML. The changes from HTML to first-generation XHTML 1.0 are minor and are mainly to achieve conformance with XML. The most important change is the requirement that the document must be well-formed and that all elements must be explicitly closed as required in XML.[2] In XML, all element and attribute names are case-sensitive, so the XHTML approach has been to define all tag names to be lowercase. This contrasts with some earlier established traditions which began around the time of HTML 2.0, when many used uppercase tags. In XHTML, all attribute values must be enclosed by quotes; either single ( HTML elements which are optional in the content model will not appear in the DOM tree unless they are explicitly specified. For example, an XHTML page must have a The XHTML 1.0 recommendation devotes a section to differences between HTML and XHTML.[3]. The WHATWG wiki similarly considers differences that arise with the use of (X)HTML5.[4]. Because XHTML and HTML are closely related technologies, sometimes they are written about and documented in parallel. In such circumstances, some authors conflate the two names by using a parenthetical notation, such as (X)HTML. This indicates that the documentation and principles can be considered to apply generally to both standards.[5] AdoptionThe similarities between HTML 4.01 and XHTML 1.0 led many web sites and content management systems to adopt the initial W3C XHTML 1.0 Recommendation. To aid authors in the transition, the W3C provided guidance on how to publish XHTML 1.0 documents in an HTML-compatible manner, and serve them to browsers that were not designed for XHTML.[6][7] Such "HTML-compatible" content is sent using the HTML media type ( Most web browsers have mature support[8] for all of the possible XHTML media types.[9] The notable exception is Internet Explorer by Microsoft; rather than rendering In the early 2000s, some web developers began to question why Web authors ever made the leap into authoring in XHTML.[12][13][14] Others countered that the problems ascribed to the use of XHTML could mostly be attributed to two main sources: the production of invalid XHTML documents by some Web authors and the lack of support for XHTML built into IE6.[15][16] They went on to describe the benefits of XML-based Web documents (i.e. XHTML) regarding searching, indexing and parsing as well as future-proofing the Web itself. In October 2006, HTML inventor and W3C chair Tim Berners-Lee, introducing a major W3C effort to develop new XHTML 5 and HTML 5 specifications, posted in his blog that, "The attempt to get the world to switch to XML ... all at once didn't work. The large HTML-generating public did not move ... Some large communities did shift and are enjoying the fruits of well-formed systems ... The plan is to charter a completely new HTML group."[17] In the current HTML and XHTML 5 working draft, its authors say that, "special attention has been given to defining clear conformance criteria for user agents in an effort to improve interoperability", "...while at the same time updating the HTML specifications to address issues raised in the past few years." Ian Hickson, author of the important paper criticising the use of XHTML in 2002, is a member of the group developing this specification and is listed as one of the co-authors of the current working draft.[18] Versions of XHTMLXHTML 1.0
Wikipedia uses XHTML 1.0 Transitional
The second edition of XHTML 1.0 became a W3C Recommendation in August 2002.[20] Modularization of XHTMLThe initial draft of Modularization of XHTML became available in April 1999, and reached Recommendation status in April 2001.[21] Modularization provides an abstract collection of components through which XHTML can be subsetted and extended. The feature is intended to help XHTML extend its reach onto emerging platforms, such as mobile devices and Web-enabled televisions. The first XHTML Family Markup Languages to be developed with this technique were XHTML 1.1 and XHTML Basic 1.0. Another example is XHTML-Print (W3C Recommendation, September 2006), a language designed for printing from mobile devices to low-cost printers.[22] In October 2008 Modularization of XHTML was superseded by XHTML Modularization 1.1, which adds an XML Schema implementation.[23] XHTML 1.1?Module-based XHTMLXHTML 1.1 evolved out of the work surrounding the initial Modularization of XHTML specification. The W3C released a first draft in September 1999; Recommendation status was reached in May 2001.[24] The modules combined within XHTML 1.1 effectively recreate XHTML 1.0 Strict, with the addition of ruby annotation elements ( Although XHTML 1.1 is largely compatible with XHTML 1.0 and HTML 4, in August 2002 the W3C issued a formal Note advising that it should not be transmitted with the HTML media type.[25] With limited browser support for the alternate XHTML 1.1 Second Edition is expected in the fourth quarter of 2008.[26] XHTML Basic and XHTML-MPXHTML Basic is an XML-based structured markup language primarily used for simple (mainly handheld) user agents, typically mobile devices, created by the W3C; it reached Recommendation status in December 2000.[27] XHTML Basic is suited for mobile phones, PDAs, pagers, and settop boxes. It is the most restrictive version of XHTML, providing a minimal set of features that even the most limited devices can be expected to support. One large advantage XHTML Basic has over WML and C-HTML is that XHTML Basic pages can be rendered differently in web browsers and on handhelds, without the need for two different versions of the same page. It will replace WML and C-HTML as more compliant user agents are developed. The Open Mobile Alliance and its predecessor the WAP Forum released three specifications between 2001 and 2006 that extended XHTML Basic 1.0. Known as XHTML Mobile Profile or XHTML-MP, they were strongly focused on uniting the differing markup languages used on mobile handsets at the time. All provide richer form controls than XHTML Basic 1.0, along with varying levels of scripting support. In 2006, the specification was revised to version 1.1. Six new features have been incorporated into the language in order to better serve the small-device community. XHTML Basic 1.1 became a W3C Recommendation in July 2008, superseding XHTML-MP 1.2.[28]XHTML Basic 1.1 is almost but not quite a subset XHTML 1.1, defined using XHTML Modularization including a reduced set of modules for document structure, images, forms, basic tables, and object support. The most notable addition over XHTML 1.1 is the XHTML 1.2
The XHTML 2 Working Group is considering the creation a new language based on XHTML 1.1.[29] If XHTML 1.2 is created, it will include WAI-ARIA and XHTML 2.0
Between August 2002 and July 2006 the W3C released the first eight Working Drafts of XHTML 2.0, a new version of XHTML able to make a clean break from the past by discarding the requirement of backward compatibility. This lack of compatibility with XHTML 1.x and HTML 4 caused some early controversy in the web developer community.[30] Some parts of the language (such as the New features introduced by XHTML 2.0 include:
HTML 5?Vocabulary and APIs for HTML and XHTMLHTML 5 initially grew independently of the W3C, through a loose group of browser manufacturers and other interested parties calling themselves the WHATWG, or Web Hypertext Application Technology Working Group. The WHATWG announced the existence of an open mailing list in June 2004, along with a website bearing the strapline ?Maintaining and evolving HTML since 2004.?[31] The key motive of the group was to create a platform for dynamic web applications; they considered XHTML 2.0 to be too document-centric, and not suitable for the creation of forum sites or online shops.[32] In April 2007, the Mozilla Foundation and Opera Software joined Apple in requesting that the newly rechartered HTML Working Group of the W3C adopt the work, under the name of HTML 5.[33] The group resolved to do this the following month,[34] and the First Public Working Draft of HTML 5 was issued by the W3C in January 2008. The most recent W3C Working Draft was published in June 2008.[18] HTML 5 has both a regular The language can be considered more compatible with HTML 4 and XHTML 1.x than XHTML 2.0, due to the decision to keep the existing HTML form elements and events model. It adds many new elements not found in XHTML 1.x, however, such as The specification is expected to add WAI-ARIA support in a future draft. There is currently no indication as to whether HTML 5 will support RDFa, or be limited just to microformats. Valid XHTML documentsAn XHTML document that conforms to an XHTML specification is said to be valid. Validity assures consistency in document code, which in turn eases processing, but does not necessarily ensure consistent rendering by browsers. A document can be checked for validity with the W3C Markup Validation Service. In practice, many web development programs such as Dreamweaver provide code validation based on the W3C standards. Root elementThe root element of an XHTML document must be
<html xmlns="http://www.w3.org/1999/xhtml"
version="-//W3C//DTD XHTML 1.2//EN" xml:lang="en">
For XHTML 1.1 and 2.0 an optional
<html xmlns="http://www.w3.org/1999/xhtml"
version="-//W3C//DTD XHTML 2.0//EN" xml:lang="en"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.w3.org/1999/xhtml
http://www.w3.org/MarkUp/SCHEMA/xhtml2.xsd">
This example also demonstrates the use of multiple namespaces within a document. The DOCTYPEsIn order to validate an XHTML document, a Document Type Declaration, or DOCTYPE, may be used. A DOCTYPE declares to the browser which Document Type Definition (DTD) the document conforms to. A Document Type Declaration should be placed before the root element. The system identifier part of the DOCTYPE, which in these examples is the URL that begins with http://'', need only point to a copy of the DTD to use if the validator cannot locate one based on the public identifier (the other quoted string). It does not need to be the specific URL that is in these examples; in fact, authors are encouraged to use local copies of the DTD files when possible. The public identifier, however, must be character-for-character the same as in the examples. These are the most common XHTML Document Type Declarations:
XHTML 2.0, As of April 2008, is in a draft phase. If an XHTML 2.0 Recommendation is published with the same document type declaration as in the current Working Draft, the declaration will appear as:
HTML 5 has no formal Document Type Definition, but must use XML declarationA character encoding may be specified at the beginning of an XHTML document in the XML declaration when the document is served using the For example:
The declaration may be optionally omitted because it declares as its encoding the default encoding. However, if the document instead makes use of XML 1.1 or another character encoding, a declaration is necessary. Internet Explorer prior to version 7 enters quirks mode if it encounters an XML declaration in a document served as Common errorsSome of the most common errors in the usage of XHTML are:
<link rel="stylesheet" href="/style/screen.css" type="text/css" /> <script type="text/javascript" src="/script/site.js"></script>
Backward compatibilityXHTML 1.x documents are mostly backward compatible with HTML 4 user agents when the appropriate guidelines are followed. XHTML 1.1 is essentially compatible, although the elements for ruby annotation are not part of the HTML 4 specification and thus generally ignored by HTML 4 browsers. Later XHTML 1.x modules such as those for the HTML 5 and XHTML 2 are significantly less compatible, although this can be mitigated to some degree through the use of scripting. (This can be simple one-liners, such as the use of ? ExamplesThe followings are examples of XHTML 1.0 Strict. Both of them have the same visual output. The former one follows the HTML Compatibility Guidelines in Appendix C of the XHTML 1.0 Specification while the latter one breaks backward compatibility but provides cleaner codes.
Example 1.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>XHTML 1.0 Example</title>
<script type="text/javascript">
<--/</--><![CDATA[//><--
< function loadpdf() {
document.getElementById("pdf-object").src="http://www.w3.org/TR/xhtml1/xhtml1.pdf";
}
//--><!]]>
</script>
</head>
<body onload="loadpdf()">
<p>This is an example of an
<abbr title="Extensible HyperText Markup Language">XHTML</abbr> 1.0 Strict document.<br />
<img id="validation-icon"
src="http://www.w3.org/Icons/valid-xhtml10"
alt="Valid XHTML 1.0 Strict" /><br />
<object id="pdf-object"
name="pdf-object"
type="application/pdf"
data="http://www.w3.org/TR/xhtml1/xhtml1.pdf"
width="100%"
height="500">
</object>
</p>
</body>
</html>
Example 2.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<title>XHTML 1.0 Example</title>
<script type="application/javascript">
<![CDATA[
function loadpdf() {
document.getElementById("pdf-object").src="http://www.w3.org/TR/xhtml1/xhtml1.pdf";
}
]]>
</script>
</head>
<body onload="loadpdf()">
<p>This is an example of an
<abbr title="Extensible HyperText Markup Language">XHTML</abbr> 1.0 Strict document.<br/>
<img id="validation-icon"
src="http://www.w3.org/Icons/valid-xhtml10"
alt="Valid XHTML 1.0 Strict"/><br/>
<object id="pdf-object"
name="pdf-object"
type="application/pdf"
data="http://www.w3.org/TR/xhtml1/xhtml1.pdf"
width="100%"
height="500"/>
</p>
</body>
</html>
Notes:
NotesExternal links
Validators
ar:??? ?????? ???????? ??????? ??????? bg:XHTML ca:Extensible HyperText Markup Language cs:Extensible HyperText Markup Language da:XHTML de:Extensible Hypertext Markup Language et:XHTML es:XHTML eo:XHTML eu:XHTML fa:???? ?????????? ??????????? ?????? fr:XHTML ga:XHTML gl:XHTML ko:XHTML id:XHTML ia:XHTML is:XHTML it:XHTML he:XHTML lv:XHTML lt:XHTML lmo:XHTML nl:Extensible HyperText Markup Language ja:Extensible HyperText Markup Language no:XHTML pl:XHTML pt:XHTML ro:XHTML ru:XHTML simple:XHTML sk:XHTML sl:XHTML fi:XHTML sv:XHTML ta:?????.???.??.???.??? th:XHTML vi:XHTML tr:XHTML uk:XHTML ur:?????? ???? ??? ???? ????? zh:XHTML Source: Wikipedia | The above article is available under the GNU FDL. | Edit this article
|
|
top
©2008-2009 TutorGig.com. All Rights Reserved. Privacy Statement