Programming languages

The Legacy of DDML

Document Definition Markup Language (DDML): An Examination of Its Legacy and Influence on XML Schema Development

Introduction

In the world of markup languages, XML (eXtensible Markup Language) has established itself as a cornerstone for the structured representation of data. However, XML’s flexibility has always been a double-edged sword. While it allows for immense customization, this flexibility also creates challenges in terms of defining and validating the structure of XML documents. Various schema languages have emerged over the years to address these issues, and among them, the Document Definition Markup Language (DDML) stands as a notable yet largely forgotten chapter in XML schema evolution. Proposed in 1999, DDML was an XML schema language that aimed to provide a framework for describing the structure of XML documents through elements and attributes, rather than the declarations used in Document Type Definitions (DTDs).

Despite its brief existence and limited adoption, DDML played an essential role in shaping the development of later, more successful XML schema languages, including XML Schema and RELAX NG. This article explores the history, goals, limitations, and influence of DDML on the XML schema landscape.


The Genesis of DDML

The story of DDML begins with the XML-DEV mailing list, a discussion forum for XML developers that was instrumental in shaping the early days of XML technology. The developers on the list recognized the need for a more sophisticated mechanism to define XML document structures, one that could offer more flexibility than DTDs while remaining compatible with the growing adoption of XML across various industries.

The original concept for DDML was developed under the name XSchema. The aim was to create a schema language that would transform DTDs into fully XML-compliant documents. DTDs (Document Type Definitions) were the standard means of describing the structure and rules for XML documents, but they had significant limitations. One key shortcoming was the reliance on declarations, rather than the more versatile XML elements and attributes, to define document structure. XSchema sought to address this by making the schema itself an XML document, where elements and attributes could be used in the same way as in XML content.

However, as the development of the language progressed, the goals shifted. The name DDML (Document Definition Markup Language) replaced XSchema, reflecting a change in focus. Rather than attempting to replicate the full functionality of DTDs, DDML sought to concentrate on providing a robust framework for describing the basic element-attribute hierarchy in XML documents. The creators of DDML envisioned a simplified but effective means of defining XML structures, with a primary focus on ease of use and human readability.


The DDML Language: Structure and Features

DDML was designed to be an XML schema language that would describe the structure of XML documents in terms of elements and attributes, not declarations. This distinction was crucial in differentiating it from DTDs, which relied heavily on declarations to describe document structure. DDML aimed to use the familiar, user-friendly syntax of XML itself to define the rules for valid documents, making it more intuitive for developers accustomed to working directly with XML.

Despite this simplicity, DDML offered no new datatypes or features beyond what was already available in DTDs. This limitation, coupled with its lack of additional functionality, meant that there were no compelling reasons to adopt DDML over DTDs. It didn’t offer any significant advantages in terms of validation, data typing, or extensibility. As a result, it failed to gain widespread traction within the XML development community.

Moreover, DDML did not receive formal endorsement from the World Wide Web Consortium (W3C). Although it was published as a W3C Note in 1999, it never became a formal W3C Recommendation. This lack of formal recognition limited its visibility and adoption within the industry.


The Failure of DDML

The primary reason for DDML’s limited adoption was its lack of innovation in comparison to existing technologies. XML developers were looking for solutions that could provide more advanced features, such as data types, namespaces, and the ability to define more complex validation rules. DDML, in its final form, offered none of these capabilities. It merely allowed for the definition of basic element-attribute hierarchies, a function that was already well-handled by DTDs.

Furthermore, the XML Schema Definition (XSD) language, which was developed by the W3C in the early 2000s, quickly became the de facto standard for XML schema validation. XML Schema offered far more functionality than DDML, including the ability to define complex data types, enforce constraints on document structure, and work with namespaces. RELAX NG, another schema language that emerged during this period, also gained significant traction due to its simplicity and flexibility.

Because DDML lacked any compelling features beyond those provided by DTDs, and because it was overtaken by the rise of XML Schema and RELAX NG, it quickly faded into obscurity. The language’s failure to gain widespread adoption left it as an interesting historical footnote in the development of XML technologies.


The Legacy of DDML: Influence on Later Schema Languages

Despite its failure to gain mainstream adoption, DDML left a lasting legacy in the development of XML schema languages. The language’s most significant contribution was its emphasis on making the schema itself an XML document. This approach influenced the design of subsequent XML schema languages, particularly XML Schema (XSD).

In particular, the idea of defining document structure using elements and attributes in XML was incorporated into XML Schema, which became the W3C standard for XML validation. XML Schema expanded on the ideas that DDML introduced, adding features such as data typing, namespace support, and more advanced validation capabilities.

While DDML itself did not achieve widespread use, it highlighted the need for a more flexible and user-friendly way of defining XML document structure. This need was ultimately met by XML Schema and RELAX NG, which addressed the shortcomings of DTDs and provided more powerful tools for XML document validation.

Additionally, DDML’s development helped to refine the thinking around XML schemas, which would play a key role in the growth of XML-based technologies, such as web services (SOAP), and in defining data formats like RSS and Atom.


Conclusion: DDML’s Place in XML History

Document Definition Markup Language (DDML) occupies an important, albeit brief, chapter in the history of XML schema development. Although it was never widely adopted and did not evolve into a formal W3C standard, DDML was a pioneer in introducing the concept of defining XML document structure using XML itself. This idea would later become a key feature of XML Schema, which became the dominant XML schema language.

While DDML’s technical limitations and lack of advanced features meant that it was overshadowed by other schema languages, its influence on the XML ecosystem cannot be overlooked. Its legacy is reflected in the subsequent success of XML Schema and RELAX NG, which built upon many of DDML’s initial concepts.

In hindsight, DDML serves as a reminder of the challenges faced in the early days of XML schema design. It highlights the need for innovation, extensibility, and user-friendliness in schema languages, and it stands as a precursor to the more robust and widely adopted XML schema languages that followed.


References

Back to top button