--- /dev/null
+<?xml version='1.0' encoding='UTF-8'?>\r
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">\r
+\r
+<xs:element name="adapters" type="Adapters" />\r
+\r
+<xs:complexType name="Adapters">\r
+ <xs:sequence>\r
+ <xs:choice minOccurs="0" maxOccurs="unbounded"> \r
+ <xs:element name="target" type="Target"/>\r
+ <xs:element name="installer" type="Installer"/>\r
+ </xs:choice>\r
+ </xs:sequence>\r
+</xs:complexType>\r
+ \r
+<xs:complexType name="Target"> \r
+ <xs:sequence>\r
+ <xs:choice minOccurs="0" maxOccurs="unbounded"> \r
+ <xs:element name="baseType" type="BaseType"/>\r
+ <xs:element name="type" type="Type"/>\r
+ <xs:element name="adapter" type="Adapter"/>\r
+ <xs:element name="resource" type="Type"/>\r
+ </xs:choice>\r
+ </xs:sequence>\r
+ <xs:attribute name="interface" type="ClassName"/>\r
+</xs:complexType>\r
+ \r
+<xs:complexType name="BaseType">\r
+ <xs:attribute name="uri" type="xs:anyURI"/>\r
+</xs:complexType> \r
+ \r
+<xs:complexType name="Type">\r
+ <xs:sequence>\r
+ <xs:choice minOccurs="0" maxOccurs="unbounded"> \r
+ <xs:element name="this" type="Empty"/>\r
+ <xs:element name="graph" type="Empty"/>\r
+ <xs:element name="bundle" type="xs:string"/>\r
+ <xs:element name="related" type="RelatedResource"/>\r
+ <xs:element name="single" type="RelatedResource"/>\r
+ <xs:element name="atMostOne" type="RelatedResource"/>\r
+ <xs:element name="orderedSet" type="RelatedResource"/>\r
+ <xs:element name="string" type="xs:string"/> \r
+ </xs:choice>\r
+ </xs:sequence> \r
+ <xs:attribute name="uri" type="xs:anyURI"/>\r
+ <xs:attribute name="class" type="ClassName"/>\r
+ <xs:attribute name="constructor" type="xs:string"/>\r
+</xs:complexType> \r
+\r
+ <xs:complexType name="Adapter">\r
+ <xs:attribute name="uri" type="xs:anyURI" />\r
+ <xs:attribute name="adapterClass" type="ClassName" />\r
+ <xs:attribute name="contextClass" type="ClassName"></xs:attribute>\r
+ </xs:complexType>\r
+\r
+ <!--\r
+<xs:complexType name="Resource">\r
+ <xs:attribute name="uri" type="xs:anyURI"/>\r
+ <xs:attribute name="class" type="ClassName"/>\r
+</xs:complexType>\r
+-->\r
+\r
+<xs:complexType name="Installer"> \r
+ <xs:attribute name="class" type="ClassName"/>\r
+</xs:complexType>\r
+\r
+<xs:complexType name="RelatedResource">\r
+ <xs:attribute name="uri" type="xs:anyURI"/>\r
+ <xs:attribute name="to" type="ClassName" use="optional"/>\r
+</xs:complexType>\r
+\r
+<xs:complexType name="Empty">\r
+</xs:complexType> \r
+ \r
+<xs:simpleType name="ClassName">\r
+ <xs:restriction base="xs:string">\r
+ <xs:pattern value="([a-zA-Z_][a-zA-Z_0-9]*[.])*[a-zA-Z_][a-zA-Z_0-9]*"/>\r
+ </xs:restriction>\r
+</xs:simpleType>\r
+\r
+</xs:schema>\r