Annex B: CWMP Device Type XML Schema

B.1 Introduction

The CWMP Device Type XML Schema [4], or DT Schema, is used for describing a device’s supported data model.

DT Schema instance documents can contain the following:

DT Schema instance documents cannot contain definitions of Root or Service Objects. All such definitions have to reside in DM Schema instance documents.

B.2 Normative Information

It is possible to create instance documents that conform to the DT Schema but nevertheless are not valid device type specifications. This is because it is not possible to specify all the normative device type specification requirements using the XML Schema language. Therefore, the schema contains additional requirements written using the usual normative language. Instance documents that conform to the DT Schema and meet these additional requirements are referred to as DT Instances.

The question of the location of the definitive normative information therefore arises. The answer is as follows:

B.2.1 Importing DM Instances

DM Instances are imported using the top-level import element, which differs from the DM Schema import element in that only data types and models can be imported (components cannot be imported because they are not used in DT Instances).

Note – the rules for importing DM Instances into DT Instances are consistent with those given in A.2.1 for importing DM Instances into other DM Instances. The only difference is an additional rule governing the use, when available, of the DT Instance URL.

The DT Schema specifies that the DM Instance is located via the file attribute.

The rules governing the file attribute’s value and its use for locating the DM Instance are as follows:

B.2.2 Features

The feature element provides a simple way for a DT Instance to indicate whether a given feature is supported. The current set of standard features is as follows:

Feature Description
DNSClient Device contains a DNS client.
DNSServer Device contains a DNS server.
Firewall Device contains a firewall.
IPv6 Device supports IPv6.
NAT Device supports NAT.
Router Device is a router.

Vendor-specific features MAY be supported, and if so the feature name MUST begin with X_<VENDOR>_, where <VENDOR> MUST be as defined in Section 3.3.

This example feature declaration illustrates the use of annotation:

    <feature name="DNSServer">
      <annotation>Supports a DNS Server and XYZ.</annotation>
    </feature>

B.2.2.1 DT Features Schema

In order to make it easy to add new features, standard feature names are defined in a separate DT Features Schema that is imported by the DT Schema. The DT Features Schema is unversioned, so the DT Schema need not be changed when new standard feature names are added. In order to preserve backwards compatibility, standard feature names, once added, MUST NOT ever be deleted.

The normative version of the DT Features Schema can be found at http://www.broadband-forum.org/cwmp/cwmp-devicetype-features.xsd. Please be aware that a new version of the DT Features Schema might be published at any time, in which case the version referenced in this document would become out of date. Any conflict MUST be resolved in favor of the normative version on the web site.

B.3 DT Schema

The normative version of the DT Schema can be found at http://www.broadband-forum.org/cwmp/cwmp-devicetype-1-3.xsd. Please be aware that a new version of the DT Schema might be published at any time, in which case the version referenced in this document would become out of date. Any conflict MUST be resolved in favor of the normative version on the web site.