Link to home
Start Free TrialLog in
Avatar of Tom Knowlton
Tom KnowltonFlag for United States of America

asked on

The Skinny on Schemas - what are they for? why were they developed? can we look at them?

Some random examples:

<!DOCTYPE html>

What are these for?  What is their origin?

Can these references be viewed?  For example, the one for HTML4 I can go to the strict.dtd page, but what about the one for HTML5?  Or are they proprietary / confidential?  How do web programmers take advantage of them?
Avatar of Chinmay Patel
Chinmay Patel
Flag of India image

Hi Tom,

I am copy-pasting from WikiPedia:

An XML schema is a description of a type of XML document, typically expressed in terms of constraints on the structure and content of documents of that type, above and beyond the basic syntactical constraints imposed by XML itself. These constraints are generally expressed using some combination of grammatical rules governing the order of elements, Boolean predicates that the content must satisfy, data types governing the content of elements and attributes, and more specialized rules such as uniqueness and referential integrity constraints.

You can say they are the guidelines/rules to which a particular XML document has to confirm(if it is a valid one).

You can access the schema by opening it in a browser

Avatar of kaufmed
Flag of United States of America image

Link to home
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of Tom Knowlton


What does HTML5 use?
HTML being a very different language than XML there is no schema for it.

That being said, browsers from the beginning of time are not strictly (with HTML5's !DOCTYPE you can force the browsers to be standard compliant though) standards compliant. I think one of the biggest offender was Microsoft and its implementation of many IE-only features (For example, CSS Gradient support). And HTML5 is not validated via schema per say, there are specs to which your markup has to be compliant.

You can get a list of HTML specs at: