What is the difference between a schema and a DTD?

Though they provide the same help to the XML developers to describe the structure and data within XML documents, they have a few differences in them too. It’s like two pieces of content that talk about the same thing but one will be better than the other. In this article, we will try to understand the difference between DTD and schemas. Before that let’s know about them in brief.

A language used to establish constraints regarding XML documents is called an XML schema. These days, several different schema languages are employed, including XSD and Relax-NG (XML schema definition). An XML document’s structure is specified using an XML schema. Similar to DTD, but with more flexibility over XML structure. 

Whereas, the DTD describes the tagging structure of an XML or SGML document and the data information of that document. A DTD may be specified as an external suggestion or as an inline declaration within an XML document. The DTD specifies the order and repetition frequency of a node’s sibling nodes.

There are two forms of data: PCDATA and CDATA.

  • Parsed character data is PCDATA.
  • Character data (CDATA) is rarely parsed.

If we see an XML Schema file it looks like this:


<?xml version=”1.0″?>  

<xs:schema xmlns:xs=”http://www.w3.org/2001/XMLSchema”  




<xs:element name=”employee”>  



      <xs:element name=”nikita” type=”xs:string”/>  

      <xs:element name=”singh” type=”xs:string”/>  

      <xs:element name=”nikita.s@gmail.com” type=”xs:string”/>  





Whereas, the DTD file looks like this,


<!DOCTYPE element DTD identifier


   first declaration

   second declaration



   nth declaration


For Example: 


<?xml version=”1.0″?> 

<!DOCTYPE address [ 

<!ELEMENT address (name, email, phone, birthday)> 

<!ELEMENT name (first, last)> 

<!ELEMENT first (#PCDATA)> 

<!ELEMENT last (#PCDATA)> 

<!ELEMENT email (#PCDATA)> 

<!ELEMENT phone (#PCDATA)> 

<!ELEMENT birthday (year, month, day)> 

<!ELEMENT year (#PCDATA)> 

<!ELEMENT month (#PCDATA)> 
















Now that we know about DTD and Schema, let’s understand the difference between DTD and Schema.

Difference between DTD and Schema

The key distinction between DTDs and XML Schema is that the latter makes use of an XML-based syntax, whilst the former has a special syntax left over from SGML DTDs. The requirement to learn a new syntax is one of the reasons DTDs are sometimes criticized, however, the syntax is rather short. In contrast, XML Schema is verbose but also incorporates tags and XML, making it less scary for XML authors to write in. 

If your Schema is complicated, though, you might be concerned. Schema can grow very long very soon. DTDs are typically shorter because the syntax is more compact; they are typically not less complicated, just shorter. 

Let’s know about the difference between Schema and DTD.

  1. A document type definition is what DTD is officially known as, whereas an extensible markup language is what XML is officially known as.
  1. A user of XML is familiar with its Namespace, whereas a user of a DTD is not.
  1. DTD is not written in DTD itself, unlike XML, which contains its schemes.
  1. XML prohibits inline definitions, whereas DTD permits inline definitions.
  1. XML)has sufficient ability to derive built-in data types for one’s business, but DTD does not have sufficient ability to derive built-in data types for one’s business.

Schema or DTD?

More power is available with XML Schema. Numerous alternatives have been created since DTD was more often used (Schematron, Examplotron, RelaxNG). 

More intricate validations are possible with XML Schema. For example, DTD can determine whether an XML element’s data type is an integer or a string. As opposed to simpler validations, XML schema can check whether an XML element is an uppercase string or a positive integer. Last but not least, XML schema makes use of XML syntax and is a logical choice for creating web services.

Importance of Schema and DTD in Information Architecture

To make it simpler for users to trade and share data, create documents, and improve programs, XML allows users to define their tags. By employing the legal components of an XML document, a DTD describes the document structure. 

Both the sender and the receiver must share the same “expectations” regarding the content when exchanging data. The sender can describe the data in a way that the recipient will understand using XML Schemas.

In certain countries, a date like “03-11-2004” will be read as 3. November, but in others, it will be read as 11.March.

However, an XML element with the following data type:

Date: 2004-03-11; type: date;

Because the XML data type “date” demands the format “YYYY-MM-DD,” this guarantees that both parties can read the content.

A DTD enables independent groups of people to work together using a common DTD for data exchange. The validity of the data you receive from the outside world can be confirmed using a DTD. Additionally, you can validate your data using a DTD.


There are two different kinds of encryption software: DTD and XML. Both of these are employed to encrypt various linguistic forms utilized in communication.

They collaborate by encrypting and decrypting data. Their data gathering information is where they diverge. One is very conscious of its Namespace, whilst the other is not.

To know more about DTD and XML Schema reach out to our best service team at Metapercept Technology Services.

Leave a Reply