Last modified 3 years ago
OSyncCapabilities Schema for internal storage of capabilties information
This schema is mostly based on the SyncML 1.2 CTCaps schema.
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" version="1.0">
<xsd:element name="Caps">
<xsd:complexType>
<xsd:sequence>
<xsd:element maxOccurs="unbounded" minOccurs="1" name="ObjType" type="ObjType"/>
</xsd:sequence>
<xsd:attribute name="CapsFormat" type="xsd:string"/>
<xsd:attribute name="Version" type="xsd:string"/>
</xsd:complexType>
</xsd:element>
<xsd:complexType name="ObjType">
<xsd:sequence>
<xsd:element maxOccurs="1" minOccurs="0" name="DisplayName" type="xsd:string" />
<xsd:element maxOccurs="1" minOccurs="0" name="MaxOccurs" type="xsd:integer" />
<xsd:element maxOccurs="1" minOccurs="0" name="Max" type="xsd:integer" />
<xsd:element maxOccurs="1" minOccurs="0" name="Min" type="xsd:integer" />
<xsd:element maxOccurs="1" minOccurs="1" name="PropName" type="xsd:string" />
<xsd:element maxOccurs="unbounded" minOccurs="0" name="Parameter" type="AdvancedParameter" />
<xsd:element maxOccurs="1" minOccurs="0" name="Type" type="AdvancedType" />
<xsd:element maxOccurs="unbounded" minOccurs="0" name="ValEnum" type="xsd:string" />
<xsd:element maxOccurs="1" minOccurs="1" name="Value" type="xsd:string" />
</xsd:sequence>
<xsd:attribute name="Name" type="xsd:string"/>
</xsd:complexType>
<!-- Begin of external include. TODO split: plugin_config.xsd -->
<xsd:complexType name="AdvancedParameter">
<xsd:sequence>
<xsd:element maxOccurs="1" minOccurs="0" name="DisplayName" type="xsd:string" />
<xsd:element maxOccurs="1" minOccurs="1" name="Name" type="xsd:string" />
<xsd:element maxOccurs="1" minOccurs="0" name="Type" type="AdvancedType" />
<xsd:element maxOccurs="unbounded" minOccurs="0" name="ValEnum" type="xsd:string" />
<xsd:element maxOccurs="1" minOccurs="1" name="Value" type="xsd:string" />
</xsd:sequence>
</xsd:complexType>
<xsd:simpleType name="AdvancedType">
<xsd:restriction base="xsd:string">
<!-- bool is 1/0 -->
<xsd:enumeration value="bool"/>
<!-- single character -->
<xsd:enumeration value="char"/>
<xsd:enumeration value="double"/>
<xsd:enumeration value="int"/>
<xsd:enumeration value="long"/>
<xsd:enumeration value="longlong"/>
<xsd:enumeration value="string" />
<xsd:enumeration value="uint"/>
<xsd:enumeration value="ulong"/>
<xsd:enumeration value="ulonglong"/>
</xsd:restriction>
</xsd:simpleType>
Example of persistent internal stored capabilities:
<capabilities capsformat="evo2-caps" version="0">
<objtype name="contact">
<cap><Name>address</Name></cap>
<cap><Name>address_label_home</Name></cap>
<cap><Name>address_label_other</Name></cap>
<cap><Name>address_label_work</Name></cap>
<cap><Name>email</Name></cap>
<cap><Name>full_name</Name></cap>
<cap><Name>im_jabber</Name></cap>
<cap><Name>name</Name><MaxOccurs>1</MaxOccurs></cap>
<cap><Name>nickname</Name></cap>
<cap><Name>org</Name><cap
<cap><Name>photo</Name><cap>
</objtype>
<objtype name="event">
....
</objtype>
</capabilities>
