2.1 Introduction

As an XML file that conforms to an XML schema, SMDL is comprised of simple and complex elements. SMDL has other structural constraints and restrictions that cannot be expressed fully by an XML schema.

This section specifiies the elements that are defined in the SMDL, describing the meaning, restrictions, and constraints of each element and its value, if applicable; the relationships between the element and others; and the XML schema definition of the element.

The SMDL XML file is a valid XML file, as specified in [XML10/5], which conforms to one of the XSD specifications defined in section 1.3.3.1, depending on the SMDL version. This section specifies the structures of an SMDL XML file that conforms to this specification.

Some SMDL elements can be referenced by other SMDL elements. The SMDL elements that can be referenced are either given a name, which is a String with a value such as "Products", or they are given an ID, which is a QName with a value such as "G2e7933c5-4a48-4758-acb0-ce5fe8cab66e". Associating a name or ID with an SMDL element is accomplished by providing the SMDL element a Name attribute or child element or an ID attribute with an appropriate value.

The other SMDL elements that reference these SMDL elements have a child element with an element name, such as GroupingName or AttributeID and the value of that child element is the same as the name or ID of the element that it is referencing. When a reference is to an item that has a Name child element, that is called a "reference by name". When a reference is to an item that has an ID attribute, that is called a "reference by ID".

An Attribute is the only item in SMDL that can have either a reference by ID or a reference by name. The Attribute element has both an Attribute.Name child element and an Attribute.ID attribute.