MSPROV DTD Format
4/8/2010
The Microsoft MSPROV document type definition (DTD) describes the configuration document that is passed between the provisioning source and the Windows Mobile device. The DTD includes the rules that data must adhere to for the data to be valid.
MSPROV DTD extends the PROV DTD as defined in the Open Mobile Alliance (OMA) Provisioning Content Specification (OMA-WAP-ProvCont-v1_1-20050428-C), available from this OMA Web site. Windows Mobile devices support only Universal Transformation Format 8 (UTF-8) encoded provisioning XML.
In MSPROV DTD, the first entry under the top-level wap-provisioningdoc element is a characteristic element that references a specific Configuration Service Provider. Beneath this characteristic element, any number of characteristic elements can be used to perform, or limit the scope of, an operation. For example, the FileOperation Configuration Service Provider has characteristics that perform operations (such as copy and delete), and others that specify directories (such as type="\Windows"). Beneath the last characteristic element can be any number of parm elements.
The Microsoft MSPROV DTD format is as follows:
<!ELEMENT wap-provisioningdoc (characteristic*, characteristic-query*, nocharacteristic*, characteristic-query-error*, nocharacteristic-error*)>
<!ATTLIST wap-provisioningdoc
version CDATA #IMPLIED
>
<!ELEMENT characteristic (characteristic*, parm*, noparm*, nocharacteristic*,characteristic-query*, parm-query*, characteristic-error*, parm-error*, noparm-error*, nocharacteristic-error*, characteristic-query-error*, parm-query-error*)>
<!ATTLIST characteristic
type CDATA #REQUIRED
translation CDATA #IMPLIED
mwid CDATA #IMPLIED
>
<!ELEMENT parm EMPTY>
<!ATTLIST parm
name CDATA #REQUIRED
value CDATA #IMPLIED
datatype (integer|string|float|boolean|binary|multiplestring) #IMPLIED
semantic-type CDATA #IMPLIED
maxvalue CDATA #IMPLIED
minvalue CDATA #IMPLIED
maxlength CDATA #IMPLIED
options CDATA #IMPLIED
multiple (1|0) #IMPLIED
rw-access (1|2|3) "3"
label CDATA #IMPLIED
nooverwrite (1|0) "0"
access-role CDATA #IMPLIED
translation CDATA #IMPLIED
>
<!ELEMENT nocharacteristic EMPTY >
<!ATTLIST nocharacteristic
type CDATA #REQUIRED
mwid CDATA #IMPLIED
>
<!ELEMENT noparm EMPTY>
<!ATTLIST noparm
name CDATA #REQUIRED
value CDATA #IMPLIED
>
<!ELEMENT characteristic-query EMPTY >
<!ATTLIST characteristic-query
type CDATA #REQUIRED
recursive CDATA #IMPLIED
mwid CDATA #IMPLIED
>
<!ELEMENT parm-query EMPTY>
<!ATTLIST parm-query
name CDATA #REQUIRED
>
<!ELEMENT characteristic-error EMPTY>
<!ATTLIST characteristic-error
type CDATA #REQUIRED
desc CDATA #IMPLIED
>
<!ELEMENT parm-error EMPTY>
<!ATTLIST parm-error
name CDATA #REQUIRED
value CDATA #IMPLIED
desc CDATA #IMPLIED
>
<!ELEMENT noparm-error EMPTY>
<!ATTLIST noparm-error
name CDATA #REQUIRED
desc CDATA #IMPLIED
>
<!ELEMENT nocharacteristic-error >
<!ATTLIST nocharacteristic-error
type CDATA #REQUIRED
desc CDATA #IMPLIED
>
<!ELEMENT characteristic-query-error >
<!ATTLIST characteristic-query-error
type CDATA #REQUIRED
desc CDATA #IMPLIED
>
<!ELEMENT parm-query-error EMPTY>
<!ATTLIST parm-query-error
name CDATA #REQUIRED
desc CDATA #IMPLIED
>