Saturday, July 19, 2008

DOCTYPE - syntax and purpose

!DOCTYPE is required and be the first line in HTML/XHTML documents as per the validation constraints of HTML 4.2 or XHTML 1.0. Below is the syntax:
Typical HTML DOCTYPE statement:
<!DOCTYPE HTML PUBLIC "-// W3C// DTD HTML 4.0 Transitional// EN" "http://www.w3.org/TR/html4/loose.dtd">
(1) (2) (3) (4) (5) (6) (7) (8)
Annotated syntax:
<!DOCTYPE [Top Element] [Availability] "[Registration]// [Organization]// [Type] [Label]// [Language]" "[URL]">
(1) (2) (3) (4) (5) (6) (7) (8)
Explanation:
General: A pair of forward slash characters ("//") is used as delimiters between keyword fields in the FPI declaration.
(1):[Top Element] - Indicates the top level element type declared in the DTD; for HTML it is <html>.
(2): [Availability] - field indicates whether the identifier is a publicly accessible object (PUBLIC) or a system resource (SYSTEM) such as a local file or URL. HTML/XHTML DTDs are specified by PUBLIC identifiers.
(3): [Registration] - Indicated by either a plus ("+") or minus ("-"). A plus symbol indicates that the organization name that follows is ISO-registered. A minus sign indicates the organization name is not registered. The IETF and W3C are not registered ISO organizations and thus use a "-".
(4): [Organization] - This is the "OwnerID" - a unique label indicating the name of the entity or organization responsible for the creation and/or maintenance of the artifact (DTD, etc.) being referenced by the DOCTYPE. The IETF and W3C are the two originating organizations of the official HTML/XHTML DTDs.
(5): [Type] - This is the "Public Text Class" - the type of object being referenced. There are many different keywords possible here, but in the case of an HTML/XHTML DTD, it is "DTD" - a Document Type Definition.
(6): [Label] - This is the "Public Text Description" - a unique descriptive name for the public text (DTD) being referenced. If the public text changes for any reason, a new Public Text Description string should be created for it.
(7): [Language] - This is the "Public Text Language"; the natural language encoding system used in the creation of the referenced object. It is written as an ISO 639 language code (uppercase, two letters.) HTML/XHTML DTDs are usually (always?) written in English ("EN".)
(8): [URL] - This is the optional explicit URL to the DTD being referenced.
Here are the links for more information:
http://www.blooberry.com/indexdot/html/tagpages/d/doctype.htm
http://www.searchwin.net/doctype.htm
http://www.freebsd.org/doc/en_US.ISO8859-1/books/fdp-primer/sgml-primer-doctype-declaration.html

No comments: