Document Structure Description

From Wikipedia, the free encyclopedia

Document Structure Description, or DSD, is a schema language for XML, that is, a language for describing valid XML documents. It's an alternative to DTD or the W3C XML Schema.

An example of DSD in its simplest form:

<dsd xmlns="http://www.brics.dk/DSD/2.0"
 xmlns:my="http://example.com">
 
 <if><element name="my:foo"/>
  <declare>
   <attribute name="first"/>
   <attribute name="second"/>
   <contents>
    <element name="my:bar"/>
   </contents>
  </declare>
 </if>
 
 <if><element name="my:bar"/>
  <declare>
   <contents>
   </contents>
  </declare>
 </if>
 
</dsd>

This says that element named "foo" in the XML namespace "http://example.com" may have two attributes, named "first" and "second". A "foo" element may not have any character data. It must contain one subelement, named "bar", also in the "http://example.com" namespace. A "bar" element is not allowed any attributes, character data or subelements.

One XML document that would be valid according to the above DSD would be:

<foo xmlns="http://example.com" second="2">
 <bar/>
</foo>

Current Software store[edit]

External links[edit]