CCNx Sync XML schema

This corresponds to the DTD sync.dtd.

sync.xsd
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE xs:schema PUBLIC "-//W3C//DTD XMLSCHEMA 200102//EN" "XMLSchema.dtd">

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
       <xs:include schemaLocation="ccnx.xsd"/> <!-- using Name, Component, Base64BinaryType -->

       <xs:annotation>
               <xs:documentation xml:lang="en">
                         Content-Centric Networks sync schema.
               </xs:documentation>
       </xs:annotation>

       <xs:element name="SyncNode" type="SyncNodeType"/>
       <xs:complexType name="SyncNodeType">
               <xs:sequence>
                       <xs:element name="SyncVersion" type="xs:nonNegativeInteger"/> <!-- 20110614 -->
                       <xs:element name="SyncNodeElements" type="SyncNodeElementsType"/>
                       <xs:element name="SyncContentHash" type="Base64BinaryType"/>
                       <xs:element name="Name" type="NameType"/>
                       <xs:element name="Name" type="NameType"/>
                       <xs:element name="SyncNodeKind" type="xs:nonNegativeInteger"/> <!-- 0 for now -->
                       <xs:element name="SyncLeafCount" type="xs:nonNegativeInteger"/>
                       <xs:element name="SyncTreeDepth" type="xs:nonNegativeInteger"/>
                       <xs:element name="SyncByteCount" type="xs:nonNegativeInteger"/>
               </xs:sequence>
       </xs:complexType>

       <xs:complexType name="SyncNodeElementsType">
               <xs:sequence minOccurs="0" maxOccurs="unbounded" >
                       <xs:choice>
                               <xs:element name="Name" type="NameType"/>
                               <xs:element name="SyncContentHash" type="Base64BinaryType"/>
                       </xs:choice>
               </xs:sequence>
       </xs:complexType>

        <xs:element name="SyncNodeDeltas" type="SyncNodeDeltasType"/>
        <xs:complexType name="SyncNodeDeltasType">
                <xs:sequence>
                        <xs:element name="SyncVersion" type="xs:nonNegativeInteger"/> <!-- 20120307 -->
                        <xs:sequence minOccurs="0" maxOccurs="unbounded">
                                <xs:element name="Name" type="NameType"/>
                        </xs:sequence>
                </xs:sequence>
        </xs:complexType>

       <xs:element name="SyncConfigSlice" type="SyncConfigSliceType"/>
       <xs:complexType name="SyncConfigSliceType">
               <xs:sequence>
                       <xs:element name="SyncVersion" type="xs:nonNegativeInteger"/> <!-- 20110614 -->
                       <xs:element name="Name" type="NameType"/> <!-- topo -->
                       <xs:element name="Name" type="NameType"/> <!-- prefix -->
                       <xs:element name="SyncConfigSliceList" type="SyncConfigSliceListType"/>
               </xs:sequence>
       </xs:complexType>

       <xs:complexType name="SyncConfigSliceListType">
               <xs:sequence minOccurs="0" maxOccurs="unbounded">
                       <xs:element name="SyncConfigSliceOp" type="xs:nonNegativeInteger"/> <!-- 0 for now -->
                       <xs:element name="Name" type="NameType"/> <!-- topo -->
               </xs:sequence>
       </xs:complexType>

</xs:schema>