Revision: 903
http://dcplusplus.svn.sourceforge.net/dcplusplus/?rev=903&view=rev
Author: arnetheduck
Date: 2007-11-11 06:17:04 -0800 (Sun, 11 Nov 2007)
Log Message:
-----------
Add file listing xsd
Added Paths:
-----------
dcplusplus/trunk/FileListing.xsd
Added: dcplusplus/trunk/FileListing.xsd
===================================================================
--- dcplusplus/trunk/FileListing.xsd (rev 0)
+++ dcplusplus/trunk/FileListing.xsd 2007-11-11 14:17:04 UTC (rev 903)
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
+ <xs:simpleType name="base32Binary">
+ <xs:restriction base="xs:string">
+ <xs:pattern value="[A-Za-z2-7]+"></xs:pattern>
+ </xs:restriction>
+ </xs:simpleType>
+
+ <xs:simpleType name="zeroOne">
+ <xs:restriction base="xs:int">
+ <xs:enumeration value="0"></xs:enumeration>
+ <xs:enumeration value="1"></xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+
+ <xs:complexType name="ContainerType">
+ <xs:sequence minOccurs="0" maxOccurs="unbounded">
+ <xs:choice>
+ <xs:element ref="Directory"></xs:element>
+ <xs:element ref="File"></xs:element>
+ <xs:any processContents="lax"></xs:any>
+ </xs:choice>
+ </xs:sequence>
+ </xs:complexType>
+
+ <xs:attribute name="Base" type="xs:string"></xs:attribute>
+ <xs:attribute name="CID" type="base32Binary"></xs:attribute>
+ <xs:attribute name="Generator" type="xs:string"></xs:attribute>
+ <xs:attribute name="Incomplete" type="zeroOne" default="0"></xs:attribute>
+ <xs:attribute name="Name" type="xs:string"></xs:attribute>
+ <xs:attribute name="Size" type="xs:int"></xs:attribute>
+ <xs:attribute name="Version" type="xs:int"></xs:attribute>
+
+ <xs:element name="FileListing">
+ <xs:complexType>
+ <xs:complexContent>
+ <xs:extension base="ContainerType">
+ <xs:attribute ref="CID" use="required"></xs:attribute>
+ <xs:attribute ref="Version" use="required"></xs:attribute>
+ <xs:attribute ref="Generator" use="optional"></xs:attribute>
+ <xs:attribute ref="Base" use="required"></xs:attribute>
+ <xs:anyAttribute processContents="lax"></xs:anyAttribute>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="Directory">
+ <xs:complexType>
+ <xs:complexContent>
+ <xs:extension base="ContainerType">
+ <xs:attribute ref="Name" use="required"></xs:attribute>
+ <xs:anyAttribute processContents="lax"></xs:anyAttribute>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="File">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:any minOccurs="0" maxOccurs="unbounded"></xs:any>
+ </xs:sequence>
+ <xs:attribute ref="Name" use="required"></xs:attribute>
+ <xs:attribute ref="Size" use="required"></xs:attribute>
+ <xs:anyAttribute processContents="lax"></xs:anyAttribute>
+ </xs:complexType>
+ </xs:element>
+
+</xs:schema>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|