add new elements to sync.xsd

Sun, 15 Dec 2019 10:44:11 +0100

author
Olaf Wintermann <olaf.wintermann@gmail.com>
date
Sun, 15 Dec 2019 10:44:11 +0100
changeset 699
1091cb3c6dad
parent 698
c07252cc7476
child 700
165811ea12ab

add new elements to sync.xsd

docs/schema/sync.xsd file | annotate | diff | comparison | revisions
--- a/docs/schema/sync.xsd	Sun Dec 15 09:18:26 2019 +0100
+++ b/docs/schema/sync.xsd	Sun Dec 15 10:44:11 2019 +0100
@@ -43,7 +43,23 @@
         </xs:sequence>
     </xs:complexType>
     
-    <xs:simpleType name="tagStoreEnum" >
+    <xs:simpleType name="pushStrategyEnum" >
+        <xs:restriction base="xs:string">
+            <xs:enumeration value="metadata" />
+            <xs:enumeration value="hash" />
+        </xs:restriction>
+    </xs:simpleType>
+    
+    <xs:simpleType name="metadataEnum" >
+        <xs:restriction base="xs:string">
+            <xs:enumeration value="mtime" />
+            <xs:enumeration value="mode" />
+            <xs:enumeration value="xattr" />
+            <xs:enumeration value="all" />
+        </xs:restriction>
+    </xs:simpleType>
+    
+    <xs:simpleType name="tagStoreFormatEnum" >
         <xs:restriction base="xs:string">
             <xs:enumeration value="csv" />
             <xs:enumeration value="text" />
@@ -52,6 +68,12 @@
         </xs:restriction>
     </xs:simpleType>
     
+    <xs:simpleType name="tagStoreEnum" >
+        <xs:restriction base="xs:string">
+            <xs:enumeration value="xattr" />
+        </xs:restriction>
+    </xs:simpleType>
+    
     <xs:simpleType name="tagOnConflictEnum" >
         <xs:restriction base="xs:string">
             <xs:enumeration value="no_conflict" />
@@ -61,13 +83,21 @@
         </xs:restriction>
     </xs:simpleType>
     
+    <xs:simpleType name="symlinkEnum" >
+        <xs:restriction base="xs:string">
+            <xs:enumeration value="ignore" />
+            <xs:enumeration value="follow" />
+            <xs:enumeration value="sync" />
+        </xs:restriction>
+    </xs:simpleType>
+    
     <xs:complexType name="tagConfig">
         <xs:all>
             <xs:element name="local-store">
                 <xs:complexType>
                     <xs:simpleContent>
                         <xs:extension base="t:tagStoreEnum">
-                            <xs:attribute name="format" type="xs:string" />
+                            <xs:attribute name="format" type="t:tagStoreFormatEnum" />
                         </xs:extension>
                     </xs:simpleContent>
                 </xs:complexType>
@@ -78,6 +108,42 @@
         </xs:all>
     </xs:complexType>
     
+    <xs:simpleType name="fileSize">
+        <xs:restriction base="xs:normalizedString">
+            <xs:pattern value="[1-9][0-9]*(g|k|m|G|K|M)"/>
+        </xs:restriction>
+    </xs:simpleType>
+    
+    <xs:complexType name="splitConfig">
+        <xs:all>
+            <xs:element name="split" type="t:split"
+                            minOccurs="0" />
+        </xs:all>
+    </xs:complexType>
+    
+    <xs:complexType name="split">
+        <xs:all>
+            <xs:element name="blocksize" type="t:fileSize" />
+            <xs:element name="filter" minOccurs="0" type="t:filenameFilter" />
+            <xs:element name="minsize" minOccurs="0" type="t:fileSize" />
+        </xs:all>
+    </xs:complexType>
+    
+    <xs:simpleType name="versioningTypeEnum" >
+        <xs:restriction base="xs:string">
+            <xs:enumeration value="simple" />
+            <xs:enumeration value="deltav" />
+        </xs:restriction>
+    </xs:simpleType>
+    
+    <xs:complexType name="versioning">
+        <xs:all>
+            <xs:element minOccurs="0" name="history" type="xs:string"/>
+        </xs:all>
+        <xs:attribute name="always" type="xs:boolean" default="false" />
+        <xs:attribute name="type" type="t:versioningTypeEnum" />
+    </xs:complexType>
+    
     <xs:complexType name="direntry">
         <xs:all>
             <xs:element name="name" type="xs:string"/>
@@ -86,6 +152,7 @@
             <xs:element name="repository" type="xs:string"/>
             <xs:element name="collection" minOccurs="0" type="xs:string"/>
             <xs:element name="trash" minOccurs="0" type="xs:string"/>
+            <xs:element name="hashing" default="false" minOccurs="0" type="xs:boolean" />
             <xs:element name="filter" minOccurs="0" type="t:filenameFilter" />
             <xs:element name="max-retry" default="0"
                         minOccurs="0" type="xs:unsignedInt"/>
@@ -98,6 +165,20 @@
             <xs:element name="lock-timeout" default="0"
                         minOccurs="0" type="xs:integer"/>
             <xs:element name="tagconfig" minOccurs="0" type="t:tagConfig" />
+            <xs:element name="splitconfig" minOccurs="0" type="t:splitConfig" />
+            <xs:element name="versioning" minOccurs="0" type="t:versioning" />
+            <xs:element name="allow-cmd" minOccurs="0" type="xs:string"/>
+            <xs:element name="push-strategy"
+                        minOccurs="0" type="t:pushStrategyEnum"/>
+            <xs:element name="metadata" minOccurs="0">
+                <xs:simpleType>
+                    <xs:list itemType="t:metadataEnum"/>
+                </xs:simpleType>
+            </xs:element>
+            <xs:element name="symlink-intern"
+                        minOccurs="0" type="t:symlinkEnum"/>
+            <xs:element name="symlink-extern"
+                        minOccurs="0" type="t:symlinkEnum"/>
         </xs:all>
     </xs:complexType>
     

mercurial