XML DTD
Overview
XML, as its name suggests, is a markup language used to structure data in a way that is both human-readable and machine-readable. It allows users to define their own custom tags and attributes for organizing information. However, to ensure that XML documents are structured consistently and conform to certain rules, DTD comes into play. XML Document Type Definition (DTD) is a critical component of XML (Extensible Markup Language), which is widely used for structuring and sharing data on the web. DTD plays a crucial role in defining the structure and rules that an XML document must adhere to.
What is DTD?
DTD stands for Document Type Definition. It is a set of rules or specifications that define the structure, elements, and attributes of an XML document. Think of it as a blueprint for your XML document. DTD outlines what elements are allowed, their order, and the data they can contain. It serves as a contract between the producer and consumer of XML data, ensuring data consistency and integrity.
Transform Your Career
Choose from our industry-leading programs designed for career success
Modern Software and AI Engineering Program
Master full-stack development with AI integration
+1000 moreModern Data Science and ML with specialisation in AI
Advanced data science techniques with AI specialization
+1000 moreAdvanced AIML with Specialisation in Agentic AI
Deep dive into AIML with focus on Agentic systems
+1000 moreDevOps, Cloud & AI Platform Engineering
Build and manage AI-powered cloud infrastructure
+1000 moreAI Engineering Advanced Certification by IIT-Roorkee
Premier AI engineering certification from IIT-Roorkee
Syntax
The syntax of a DTD is relatively straightforward. It typically starts with the <!DOCTYPE> declaration followed by the root element of the XML document. Here's a basic syntax example:
Within the square brackets, you define your DTD rules, which specify the structure and constraints of the XML document.
Internal DTD
DTDs can be either internal or external. An internal DTD is defined within the XML document itself, making it self-contained. Let's explore the syntax, an example, and the rules associated with an internal DTD.
Syntax:
Example:
Consider a simple XML document with an internal DTD:
Rules:
- <!ELEMENT elementName contentModel>:
This rule defines an element and its content model. In the example above, <!ELEMENT book (title, author, price)> states that the book element must contain title, author, and price elements in that order. - <!ELEMENT elementName (#PCDATA)>:
This rule indicates that the element contains parsed character data, allowing text content.
External DTD
An external DTD is defined in a separate file and referenced within the XML document. This approach promotes reusability and separation of concerns.
Scaler Placement Report and Statistics
Scaler learners achieved 2.5x salary growth with average post-Scaler CTC reaching ₹23L.
Syntax:
In this syntax, external.dtd is the path to the external DTD file.
Example:
Consider an XML document that references an external DTD:
books.xml:
bookstore.dtd (external DTD file):
Using external DTDs enables multiple XML documents to share the same DTD definition.
Types
DTDs can be categorized into two types based on how they are identified and accessed.
System Identifiers:
System identifiers refer to DTDs identified by a system-specific path or URL. These are commonly used when the DTD is hosted online or accessible via a file path.
Turn Learning into Career Growth
Public Identifiers:
Public identifiers are used when DTDs have a unique identifier that can be referenced, allowing for better flexibility in locating DTDs, especially in situations where system-specific paths may change.
Valid and XML Documents with DTD
XML documents can be classified into two categories concerning DTDs: valid and well-formed.
Well-Formed XML:
An XML document is considered well-formed if it adheres to the basic rules of XML syntax, such as having properly nested elements and correctly closed tags. It does not necessarily require a DTD.
Valid XML:
An XML document is considered valid if it not only adheres to the basic rules but also follows the structure and constraints defined in the associated DTD. It must pass validation against the DTD's rules to be considered valid.
Using DTD for Entity Declaration
DTDs also allow for the declaration of entities. Entities are placeholders for text that can be reused throughout an XML document. They are defined using the <!ENTITY> declaration and are commonly used for defining special characters or frequently used text strings.
Here's an example of entity declaration:
In this example, the entity greeting is defined as Hello, . When used in the <example> element, it expands to Hello, World!.
Conclusion
- DTDs are a crucial component of XML, providing a way to define and enforce the structure and constraints of XML documents.
- They ensure consistency and integrity in data exchange by acting as blueprints for valid XML documents.
- Whether used internally or externally, DTDs play a vital role in the world of XML, making it a powerful and flexible data format on the web.




