What is DTD?
I have been designing websites since 1996. In the beginning, it was so easy.
Someone called me with a project, they sent me the content for their website, which I would then upload to Microsoft Frontpage or a text editor, insert some HTML tags for formatting and some graphics to make the site colorful, and the job was finished.
The wireless revolution changed everything. Almost every electronic device now comes equipped with access to the web and email. Palm tops, laptops, cell phones, even computer screens installed in automobiles are now connected to the internet. The web browsers and operating systems installed on these wireless devices are often very different from what is installed on an ordinary desktop PC. Many elements of the HTML programming language are not compatible with some of these wireless platforms. As a result, web design has completely changed. Cross-platform programming languages and specifications have been created so that websites can be viewed on any PC or wireless gadget.
These new innovations include languages such as XML, XHTML, and XSL, to name a few. XML was probably the most important of all of them, because it allowed a programmer to define data without telling the browser how to display it. The problem with HTML is that it defines data and also tells the browser how to display it. XML is different in that it merely defines the data, and allows the browser to display the data as it sees fit. Languages such as XHTML and XSL were developed in order to convert XML documents into web pages that could be displayed in a manner that was compatible with all browsers.
Now that you have some background on how and why web design has changed, you are now ready to learn about Document Type Definition (DTD). DTD is a tool that enables a programmer to define the format to be used for the data in an XML document. Remember, XML does not tell the web browser how to display or format content. DTD helps to establish the format.
An XML document consists of five different components. There are elements, attributes, entities, PCDATA, and CDATA. We will start with elements. Elements of XML are the tags. There are no predefined tags with XML; you can create your own tags. HTML does not work this way. All of the tags used in HTML are predefined, such as the paragraph tag and the body tag. Attributes provide additional information about the tags, such as the source file for an image, or the alignment to be used for a paragraph. Entities are variables that define commonly used text, such as the no-breaking-space entity. PCDATA is used to mark data that is to be parsed or separated into more easily processed components and to cause tags within that data to be interpreted as markup instead of as ordinary data. CDATA is used to mark data that is not to be parsed and to cause the tags within that portion of the text to not be treated as markup. As an aside, markup is any language that defines how certain text is to be displayed or structured.
For novice programmers, DTD is a little hard to get used to. I recommend that you search for tutorials on any major search engine, or perhaps find some courses offline at a local college or computer science institute. If you have never studied XML, XHTML, or XSL before, then you should find a broad-based curriculum of computer programming courses that teach you all of these languages so that you can learn to incorporate them together when you create web sites.
Learning to use these new specifications and languages is essential for any web designer. With so many people using cell phones and other wireless devices to surf the net, by creating your web sites exclusively with HTML you run the risk of your site being invisible to a wireless internet user. Designing web sites that are cross-platform compatible is a must in the wireless age we now inhabit.
Jim Pretin is the owner of http://www.forms4free.com, a service that helps programmers make email forms.