当前位置: 首页 > 工具软件 > SyncML > 使用案例 >

手机开发实战135——SyncML介绍4

商麒
2023-12-01

SyncML表示协议

SyncML表示协议没有指定数据同步协议、同步引擎。而是指定了一些同步框架、格式使之适应不同的数据同步模型。SyncML指定了很多同步操作的结果。 
   
  定义了一种格式 
  注册为 MIME(多用途网际邮件扩充协议)媒体格式 
  定义了独立的同步传输协议 
  可以适合于多种同步传输方式的需要 
  与后台数据存储无关 
  与同步对象类型分离 
  4.1 SyncML 命令 
   
  4.1.1请求的命令 
   
  Add:允许发送者将数据元素加入到接收者可以识别的同步数据中去,该命令必须在Sync命令中指定。 
  Alert:允许发送者通知接收者,通知可以作为应用程序和应用程序之间消息或者是接收用户接口的显示消息扩展。 
  Atomic:允许发送者指明一个命令集合可在带有语义或者没有任何语义的执行。 
  Copy:允许发送者复制可被接受者接收的数据。 
  Delete:允许发送者删除可被接受者接收的数据。Delete命令可以包含一个请求魏实现数据存档,删除可以是回收删除或者实际删除。 
  Exec:发送者可以要求接收者调用一个命名的、可执行的程序。 
  Get:发送者可以从接收者那里申请数据元素,这个命令不能被Sync命令指定。 
  Map:发送者可以接收者更新标识符在两个数据集合之间。 
  Put:允许发送者发送数据给接收者,这个命令不能被Sync命令指定。 
  Release:允许发送者对接收者可以接受的数据元素进行替换,这个命令不能被Sync命令指定。 
  Search:允许发送者进行数据元素的查询。 
  Sequence:允许发送者指定一系列按顺序执行。 
  Sync:允许发送者指定包含的命令作为同步两个数据集合的部分。 
  4.1.2 应答的命令 
   
  Status:当处理前一个请求发生错误的时候,指明一个操作的完成状态。 
  Results:用来返回Get或者Search命令的数据结果。 
  4.2 SyncML数据格式 
   
  SyncMl不但提供了通用的指令集合,还指明了一个小的通用的数据格式。数据格式提供了普通的为交换访问信息的媒体集合。例如通讯录、日历和消息。这三种数据格式是为了这个规范强制的,另外对于这些一般格式,SyncML允许鉴定其他的登记格式。SyncML利用MiME内容类型框架来鉴别数据格式。 
   
  4.3 使用XML 
  SyncML消息是使用一种标记语言,而SynML表示协议其实是一个XML应用。 SyncML DTD定义了用来表示SyncML消息的XML文档。SyncML大量的使用了XML的名空间,名空间必须在第一个元素类型声明。在SyncML DTD中的元素类型被定义在一个URI“http: //www.syncml.org/docs/syncml_represent_v10_20001207.dtd或者URNsyncml: syncmlSyncML DTD也可以被ISO 9070标准公用标示符-//SYNCML//DTD SyncML 1.0//EN识别。任何XML 的标准属性可以被用在SyncML文档中。 
   
  4.4使用 MIME 
  互联网标准提供了一个工业界广泛接受的机制来鉴别不同的内容种类。SyncML消息用MiME媒体类型来鉴别,SyncML消息的媒体类型被登记在生产厂家列表中。目前有两个MIME内容可以用在SyncML消息中。applicattion/vnd.syncml+xmlMIME内容类型鉴别了SyncML消息基于文本的XML表达。applicattion/vnd.syncml+wbxmlMIME内容类型鉴别了SyncML消息基于文本的WBXML二进制表达。 
   
  4.5 SyncML标记语言描述 
   
  4.5.1 一般使用元素 
   
   ArchiveChalCmdCmdIDCmdRefCredFinalLangLocURIMsgIDMsgRef NoRespNoResultRespURISessionIDSftDelSourceSourceRefTargetTargetRefVerDTDVerProto 
  4.5.2 消息容器元素 
   
  SyncMLSyncHdrSyncBody 
  4.5.3 数据描述元素 
   
  DataItemMeta 
  4.5.4 协议管理元素 
   
  Status 
  4.5.5 协议命令元素 
   
  AddAlertAtomicCopyDeleteExecGetMapMapItemPutReplaceResultSearchSequenceSync 
  详细内容请查阅相关文档。

 类似资料: