Working with XHTML Creating a Well-Formed Valid Document
Introducing XHTML SGML (Standard Generalized Markup Language) –can be used with almost any type of document stored in almost any format –Introduced in the 1980s –Metalanguage– used to created other languages HTML –standards get confusing among browsers – can be applied inconsistently
Introducing XHTML XML (Extensible Markup Language) –used to design markup languages XML documents must be evaluated with an XML parser An XML document with correct syntax is a well- formed document A well-formed document with correct content and structure is a valid document DTD specifies correct content and structure
Introducing XHTML XHTML is an application of HTML, written in XML
DTDs associated with XHTML transitional: supports many of the presentational features of HTML, including the deprecated elements and attributes Best used for older documents that contain deprecated features
DTDs associated with XHTML frameset: used for documents containing frames, and also supports deprecated elements and attributes
DTDs associated with XHTML strict: does not allow any presentational features or deprecated HTML elements and attributes. Does not support frames or inline frames. It is best used for documents that need to strictly conform to the latest standards.
Creating a Well-Formed Document Rules for well-formed XHTML documents
Creating a Well-Formed Document XHTML documents must also include a single root element that contains all other elements –For XHTML, that root element is the html element Attribute minimization is when some attributes lack attribute values –XHTML doesn’t allow attribute minimization
Attribute minimization in HTML and XHTML
Creating a Valid Document The DTD used depends on the content of the document and the needs of your users To support old browsers, use the transitional DTD To support old browsers in a framed Web site, use the frameset DTD To support more current browsers and want to weed out any use of deprecated features, use the strict DTD
Creating a Valid Document Elements not allowed under the strict DTD: –applet- isindex –basefont- menu –center- s –dir- strike –font- u –iframe
Creating a Valid Document Some attributes are restricted, while others are required in XHTML
Attributes prohibited in the strict DTD
Element Attribute
Required XHTML attributes
Creating an XHTML Document The first line of an XTHML document should contain a declaration indicating that the document adheres to the rules and syntax of XML XML (and thus XHTML) documents are based on a character set –A character set is a set of abstract symbols matched to code numbers
Adding an xml Declaration For XHTML documents, use the declaration:
The XML Declaration
Setting the XHTML Namespace To set XHTML as the default namespace for a document, add the xmlns attribute to the html element with the following value:
Testing an XHTML Document To test your document, you need to send the file to an XML parser or an XHTML validator Sometimes the same mistake results in several errors are noted in the report - fixing one mistake can solve several errors
Strict XHTML Document You’ll need the following DOCTYPE declaration
Tips for Converting old HTML Code to XHTML Include an xml declaration in the first line of your file so that your document can be accessed by XML parsers Add a DOCTYPE declaration for one of the XHTML DTDs and check your document for well- formedness and validity whenever you make a change to the code Add the XHTML default namespace to the html element of your document
Tips for Converting old HTML Code to XHTML Make sure that all element and attribute names are in lowercase letters and that all attribute values are placed in quotes Make sure that all empty elements are entered as one-sided tags. Look especially for improper syntax in the img, hr, and br elements Make sure that all two-sided tags are properly closed. Old HTML code often does not have closing tags for the p element
Tips for Converting old HTML Code to XHTML Make sure that all inline images contain the alt attribute Look for deprecated attributes such as align, bgcolor, and background, and replace them with the float (or text-align), background-color, and background-image styles Replace the name attribute with the id attribute Fix all instances of attribute minimization
Tips for Converting old HTML Code to XHTML Replace the use of the font element with either the span element or with a style that applies the same formatting specified by the font element Replace the use of the width attribute in the td or th element with the width style