Skip to main content
Log in

The DSD Schema Language

  • Published:
Automated Software Engineering Aims and scope Submit manuscript

Abstract

XML (Extensible Markup Language), a linear syntax for trees, has gathered a remarkable amount of interest in industry. The acceptance of XML opens new venues for the application of formal methods such as specification of abstract syntax tree sets and tree transformations.

A user domain may be specified as a set of trees. For example, XHTML is a user domain corresponding to a set of XML documents that make sense as hypertext. A notation for defining such a set of XML trees is called a schema language. We believe that a useful schema notation must identify most of the syntactic requirements present in the user domains, and yet be sufficiently simple and easy to understand both by the schema authors and the users. Furthermore, it must allow efficient parsing and be modular and extensible to support reuse and evolution of descriptions.

In the present paper, we give a tutorial introduction to the DSD (Document Structure Description) notation as our bid on how to meet these requirements. The DSD notation was inspired by industrial needs. We show how DSDs help manage aspects of complex XML software through a case study about interactive voice response systems, i.e., automated telephone answering systems, where input is through the telephone keypad or speech recognition.

The expressiveness of DSDs goes beyond the DTD schema concept that is already part of XML. We advocate the use of nonterminals in a top-down manner, coupled with boolean logic and regular expressions to describe how constraints on tree nodes depend on their context. We also support a general, declarative mechanism for inserting default elements and attributes. Also, we include a simple technique for reusing and evolving DSDs through selective redefinitions. The expressiveness of DSD is comparable to that of the schema language XML Schema proposed by W3C, but their syntactic and semantic definition is significantly larger and more complex. Also, the DSD notation is self-describable: the syntax of legal DSD documents including all static semantic requirements can be expressed within the DSD language itself.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Similar content being viewed by others

References

  • Alschuler, L. 2000. XML Schemas: Last word on last call. http://www.xml.com/pub/a/2000/07/05/specs/lastword.html.

  • Biron, P.V. and Malhotra, A. (eds.) 2001. XML Schema Part 2: Datatypes. W3C. http://www.w3.org/TR/xmlschema-2/.

  • Boag, S. et al. (eds.) 2001. XQuery 1.0: An XML Query Language. W3C. http://www.w3.org/TR/xquery/.

  • Bos, B., Lie, H.W., Lilley, C., and Jacobs, I. (eds.) 1998. Cascading Style Sheets, level 2, CSS2 Specification. W3C. http://www.w3.org/TR/REC-CSS2/.

  • Bourret, R. 2000. Namespace myths exploded. http://www.xml.com/pub/a/2000/03/08/namespaces/.

  • Bourret, R., Cowan, J., Macherius, I., and St. Laurent, S. (eds.) 1999. Document Definition Markup Language (DDML) Specification, Version 1.0. W3C. http://www.w3.org/TR/NOTE-ddml.

  • Bray, T., Frankston, C., and Malhotra, A. (eds.) 1998. Document Content Description for XML. W3C. http://www.w3.org/TR/NOTE-dcd.

  • Bray, T., Hollander, D., and Layman, A. (eds.) 1999. Namespaces in XML. W3C. http://www.w3.org/TR/REC-xml-names.

  • Bray, T., Paoli, J., Sperberg-McQueen, C.M., and Maler, E. (eds.) 2000. Extensible Markup Language (XML) 1.0, 2 edn. W3C. http://www.w3.org/TR/REC-xml.

  • Clark, J. (ed.) 1999. XSL Transformations (XSLT) Specification. W3C. http://www.w3.org/TR/WD-xslt.

  • Clark, J. 2001. TREX—tree regular expressions for XML. http://www.thaiopensource.com/trex/spec.html.

  • Clark, J. and DeRose, S. (eds.) 1999. XML Path Language. W3C. http://www.w3.org/TR/xpath.

  • Clark, J. and Murata, M. (eds.) 2001. RELAX NG Specification. OASIS. http://www.oasis-open.org/committees/relax-ng/.

  • Davidson, A. et al. 1999. Schema for Object-Oriented XML 2.0. W3C. http://www.w3.org/TR/NOTESOX/.

  • DeRose, S., Maler, E., and Daniel, R. Jr. (eds.) 2001a. XML Pointer Language. W3C. http://www.w3.org/TR/xptr.

  • DeRose, S., Maler, E., and Orchard, D. (eds.) 2001b. XML Linking Language. W3C. http://www.w3.org/TR/xlink.

  • Frankston, C. and Thompson, H.S. 1998. XML-Data reduced. http://www.ltg.ed.ac.uk/~ht/XMLData-Reduced.htm.

  • Hoschka, P. (ed.) 1998. Synchronized Multimedia Integration Language (SMIL) 1.0 Specification. W3C. http://www.w3.org/TR/REC-smil.

  • Jelliffe, R. 1999. The Schematron: An XML structure validation language using patterns in trees. http://www.ascc.net/xml/resource/schematron/schematron.html.

  • Klarlund, N. 2000. From the programmer's point of view: XML for IVR and how DSD schemas may help. Unpublished revision of “XPML: Industrial case study”, currently available at http://www.research.att.com/projects/DSD/industrial-case/software-symposium-ATT-00-paper/.

  • Klarlund, N., MØller, A., and Schwartzbach, M.I. 1999. Document Structure Description 1.0. AT&T & BRICS. BRICS NS–00–7. http://www.brics.dk/DSD/specification.html.

  • Klarlund, N., MØller, A., and Schwartzbach, M.I. 2000. DSD: A schema language for XML. In ACM SIGSOFT Workshop on Formal Methods in Software Practice (FMSP'00).

  • Layman, A. et al. (eds.) 1998. XML-Data. W3C. http://www.w3.org/TR/1998/NOTE-XML-data.

  • Lee, D. and Chu, W.W. 2000. Comparative analysis of six XML schema languages. SIGMOD Record, 29(3).

  • Malhotra, A. and Maloney, M. (eds.) 1999. XML Schema Requirements. W3C. http://www.w3.org/TR/NOTE-xml-schema-req.

  • MØller, A. and Schwartzbach, M.I. 2001. The XML revolution. BRICS NS–01–8. http://www.brics.dk/~amoeller/XML/.

  • Murata, M. 1999. Hedge automata: A formal model for XML schemata. http://www.xml.gr.jp/relax/hedgenice.html.

  • Murata, M. 2000a. Announcement on http://www.xmlhack.com.

  • Murata, M. 2000b. How to RELAX. Technical Report, xml.gr. http://www.xml.gr.jp/relax/.

  • Pemberton, S. et al. (eds.) 2000. XHTML 1.0: The Extensible HyperText Markup Language. W3C. http://www.w3.org/TR/WD-html-in-xml.

  • Raggett, D. 1999. Assertion grammars. http://www.w3.org/People/Raggett/dtdgen/Docs/.

  • Robie, J. 2000. W3C XML Schema questionnaire. http://www.ibiblio.org/xql/tally.html.

  • The Unicode Consortium. 1996. The Unicode Standard, Version 2.0. Addison Wesley. http://www.unicode.org/.

  • Thompson, H.S., Beech, D., Maloney, M., and Mendelsohn, N. (eds.) 2001. XML Schema Part 1: Structures. W3C. http://www.w3.org/TR/xmlschema-1/.

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Klarlund, N., Møller, A. & Schwartzbach, M.I. The DSD Schema Language. Automated Software Engineering 9, 285–319 (2002). https://doi.org/10.1023/A:1016376608070

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1023/A:1016376608070

Navigation