XP
Tutorial 9
Working with XHTML
Creating a Well-Formed Valid Document
Tutorial 9
New Perspectives on Creating Web Pages with HTML,
XHTML, and XML
1
XP
Objectives
•
•
•
•
•
•
Introducing XHTML
Creating a Well-Formed Document
Creating a Valid Document
Creating an XHTML Document
Testing an XHTML Document
Using Style Sheets and XHTML
Tutorial 9
New Perspectives on Creating Web Pages with HTML,
XHTML, and XML
2
XP
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
Tutorial 9
New Perspectives on Creating Web Pages with HTML,
XHTML, and XML
3
XP
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 wellformed document
• A well-formed document with correct content and
structure is a valid document
• DTD specifies correct content and structure
Tutorial 9
New Perspectives on Creating Web Pages with HTML,
XHTML, and XML
4
XP
Introducing XHTML
• XHTML is a reformulation of HTML, written in XML
Versions of XHTML
Tutorial 9
New Perspectives on Creating Web Pages with HTML,
XHTML, and XML
5
XP
DTDs associated with XHTML
1.0
- transitional: supports many of the
presentational features of HTML, including
the deprecated elements and attributes
Best used for older documents that contain
deprecated features
Tutorial 9
New Perspectives on Creating Web Pages with HTML,
XHTML, and XML
6
XP
DTDs associated with XHTML
1.0
- frameset: used for documents containing
frames, and also supports deprecated
elements and attributes
Tutorial 9
New Perspectives on Creating Web Pages with HTML,
XHTML, and XML
7
XP
DTDs associated with XHTML
1.0
- 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.
Tutorial 9
New Perspectives on Creating Web Pages with HTML,
XHTML, and XML
8
XP
Creating a Well-Formed Document
Rules for well-formed XHTML documents
Tutorial 9
New Perspectives on Creating Web Pages with HTML,
XHTML, and XML
9
XP
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
Tutorial 9
New Perspectives on Creating Web Pages with HTML,
XHTML, and XML
10
Attribute minimization in HTMLXP
and XHTML
Tutorial 9
New Perspectives on Creating Web Pages with HTML,
XHTML, and XML
11
XP
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
Tutorial 9
New Perspectives on Creating Web Pages with HTML,
XHTML, and XML
12
XP
Creating a Valid Document
• Elements not allowed under the strict
DTD:
–
–
–
–
–
–
Tutorial 9
applet
basefont
center
dir
font
iframe
- isindex
- menu
-s
- strike
-u
New Perspectives on Creating Web Pages with HTML,
XHTML, and XML
13
XP
Creating a Valid Document
• Some attributes are restricted, while others
are required in XHTML
Tutorial 9
New Perspectives on Creating Web Pages with HTML,
XHTML, and XML
14
XP
Attributes prohibited in the strict
DTD
Tutorial 9
New Perspectives on Creating Web Pages with HTML,
XHTML, and XML
15
XP
Required XHTML attributes
Tutorial 9
New Perspectives on Creating Web Pages with HTML,
XHTML, and XML
16
XP
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
Tutorial 9
New Perspectives on Creating Web Pages with HTML,
XHTML, and XML
17
XP
Character Sets
• Universal Character Set (UCS)
• Unicode
• Character encoding is the process in
which bytes are translated back into
characters (when a document is sent
across the Internet)
Tutorial 9
New Perspectives on Creating Web Pages with HTML,
XHTML, and XML
18
XP
Adding an xml Declaration
• To declare that a document is written in XML, enter the
following as the first line of the file:
<?xml version=“value” encoding=“type”
standalone=“type” ?>
Where the version attribute indicates the XML version of the
document, the encoding attribute specifies the character encoding,
and the standalone attribute indicates whether the document contains
references to an external DTD.
Tutorial 9
New Perspectives on Creating Web Pages with HTML,
XHTML, and XML
19
XP
Adding an xml Declaration
• For XHTML documents, use the declaration:
<?xml version=“1.0” encoding=“UTF-8”
standalone=“no” ?>
Tutorial 9
New Perspectives on Creating Web Pages with HTML,
XHTML, and XML
20
XP
The XML Declaration
• You can also add the DOCTYPE declaration,
which tells XML parsers what DTD is associated
with the document
<!DOCTYPE root type “id” “url”>
Tutorial 9
New Perspectives on Creating Web Pages with HTML,
XHTML, and XML
21
XP
The xml Namespace
• A namespace is a unique identifier for elements and
attributes originating from a particular document type
(like XHTML or MathML)
• Two types of namespaces:
- default: applied to a root element and any
element within it
<root xmlns=“namespace”>
Tutorial 9
New Perspectives on Creating Web Pages with HTML,
XHTML, and XML
22
XP
The xml Namespace
• local: applies to only select elements
- Each element in the local namespace is marked
by a prefix attached to the element name
xmlns: prefix=“namespace”
- Identify any element belonging to that namespace
by modifying the element name in the tag:
prefix:element
Tutorial 9
New Perspectives on Creating Web Pages with HTML,
XHTML, and XML
23
XP
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:
<html xmlns=http://www.w3.org/1999/xhtml>
Tutorial 9
New Perspectives on Creating Web Pages with HTML,
XHTML, and XML
24
XP
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
Tutorial 9
New Perspectives on Creating Web Pages with HTML,
XHTML, and XML
25
XP
Fixing the errors in the paragraph
elements
Tutorial 9
New Perspectives on Creating Web Pages with HTML,
XHTML, and XML
26
XP
Report showing a successful validation
under XHTML 1.0 transitional
Tutorial 9
New Perspectives on Creating Web Pages with HTML,
XHTML, and XML
27
XP
Testing an XHTML Document
• To test under another DTD, you’ll need to
change the DOCTYPE declaration
Changing the DOCTYPE declaration to XHTML 1.0 strict
Tutorial 9
New Perspectives on Creating Web Pages with HTML,
XHTML, and XML
28
XP
Using Style Sheets and XHTML
• Parsed character data (PCDATA) is text
parsed by a browser or parser
• Unparsed character data (CDATA) is text not
processed by the browser or parser
Tutorial 9
New Perspectives on Creating Web Pages with HTML,
XHTML, and XML
29
XP
Using Style Sheets and XHTML
• A CDATA section marks a block of text as
CDATA so that parsers ignore any text within it
Tutorial 9
New Perspectives on Creating Web Pages with HTML,
XHTML, and XML
30
Tips for Converting old HTMLXP
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 wellformedness and validity whenever you make a
change to the code
•Add the XHTML default namespace to the html
element of your document
Tutorial 9
New Perspectives on Creating Web Pages with HTML,
XHTML, and XML
31
Tips for Converting old HTMLXP
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
Tutorial 9
New Perspectives on Creating Web Pages with HTML,
XHTML, and XML
32
Tips for Converting old HTMLXP
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
Tutorial 9
New Perspectives on Creating Web Pages with HTML,
XHTML, and XML
33
Tips for Converting old HTMLXP
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
Tutorial 9
New Perspectives on Creating Web Pages with HTML,
XHTML, and XML
34
Descargar

Document