2.2.2 SyncML Message

A SyncML message is a well-formed XML document that adheres to the document type definition (DTD), but which does not require validation. While a SyncML message does not require validation, the XML in the document MUST adhere to the explicit order defined in the DTD. The XML document is identified by a SyncML (section 2.2.4.1) document (or root) element type that serves as a parent container for the SyncML message.

The SyncML message consists of a header specified by the SyncHdr (section 2.2.4.2) element type and a body specified by the SyncBody (section 2.2.4.3) element type. The SyncML header identifies the routing and versioning information about the SyncML message. The SyncML body functions as a container for one or more SyncML commands (see section 2.2.7).

A SyncML command is specified by individual element types that provide specific details about the command, including any data or meta-information. The command serves as a container for these element types (see section 2.2.3).

MDM uses a subset of the SyncML message definition specified in [OMA-SyncMLRP1.2.2]. MDM-specific SyncML xml message format is defined in [OMA-DMRP1.2.1]. The following snippet identifies the required elements for a SyncML message as implemented by MDM.

 <SyncML xmlns='SYNCML:SYNCML1.2'>
   <SyncHdr>
     <VerDTD>1.2</VerDTD>
     <VerProto>DM/1.2</VerProto>
     <SessionID>1</SessionID>
     <MsgID>1</MsgID>
     <Target>
       <LocURI>{unique device ID}</LocURI>
     </Target>
     <Source>
       <LocURI>{management server url}</LocURI>
     </Source>
   </SyncHdr>
   <SyncBody>{Command}</SyncBody>
 </SyncML>