Merged in changes from dflemstr (thanks!)
[pandora-libraries.git] / docs / PXML_schema.xsd
diff --git a/docs/PXML_schema.xsd b/docs/PXML_schema.xsd
new file mode 100644 (file)
index 0000000..2d28bbe
--- /dev/null
@@ -0,0 +1,123 @@
+<?xml version="1.0" encoding="utf-16"?>
+<xs:schema id="NewDataSet" targetNamespace="http://openpandora.org/namespaces/PXML" xmlns="http://openpandora.org/namespaces/PXML" xmlns:xs="http://www.w3.org/2001/XMLSchema" attributeFormDefault="unqualified" elementFormDefault="unqualified">
+  <xs:element name="PXML">
+    <xs:complexType>
+      <xs:all>
+        <!--Execution params -->
+        <xs:element name="exec">
+          <xs:complexType>
+            <xs:attribute name="background" type="xs:boolean" />
+            <xs:attribute name="startdir" use="optional" type="xs:string" />
+            <xs:attribute name="standalone" type="xs:boolean" />
+            <xs:attribute name="command" type="xs:string" />
+          </xs:complexType>
+        </xs:element>
+        <!--Author info-->
+        <xs:element name="author" maxOccurs="1">
+          <xs:complexType>
+            <xs:attribute name="name" type="xs:string" />
+            <xs:attribute name="website" type="xs:string" />
+            <xs:attribute name="email" type="xs:string" />
+          </xs:complexType>
+        </xs:element>
+        <!--Icon-->
+        <xs:element name="icon" maxOccurs="unbounded">
+          <xs:complexType>
+            <xs:attribute name="src" type="xs:string" />
+          </xs:complexType>
+        </xs:element>
+        <!--App version info-->
+        <xs:element name="version">
+          <xs:complexType>
+            <xs:attribute name="major" type="xs:nonNegativeInteger" />
+            <xs:attribute name="minor" type="xs:nonNegativeInteger" />
+            <xs:attribute name="release" type="xs:nonNegativeInteger" />
+            <xs:attribute name="build" type="xs:nonNegativeInteger" />
+          </xs:complexType>
+        </xs:element>
+        <!--OS Version info-->
+        <xs:element name="osversion">
+          <xs:complexType>
+            <xs:attribute name="major" type="xs:nonNegativeInteger" />
+            <xs:attribute name="minor" type="xs:nonNegativeInteger" />
+            <xs:attribute name="release" type="xs:nonNegativeInteger" />
+            <xs:attribute name="build" type="xs:nonNegativeInteger" />
+          </xs:complexType>
+        </xs:element>
+        <!--Title-->
+        <xs:element name="title">
+          <xs:complexType>
+            <xs:simpleContent>
+              <xs:extension base="xs:string">
+                <xs:attribute name="lang" type="xs:language" />
+              </xs:extension>
+            </xs:simpleContent>
+          </xs:complexType>
+        </xs:element>
+        <!--Description-->
+        <xs:element name="description">
+          <xs:complexType>
+            <xs:simpleContent>
+              <xs:extension base="xs:string">
+                <xs:attribute name="lang" type="xs:language" />
+              </xs:extension>
+            </xs:simpleContent>
+          </xs:complexType>
+        </xs:element>
+        <!--Preview pics-->
+        <xs:element name="previewpics" use="optional">
+          <xs:complexType>
+            <xs:sequence>
+              <xs:element name="pic" maxOccurs="unbounded">
+                <xs:complexType>
+                  <xs:attribute name="src" type="xs:string" />
+                </xs:complexType>
+              </xs:element>
+            </xs:sequence>
+          </xs:complexType>
+        </xs:element>
+        <!--Categories-->
+        <xs:element name="categories">
+          <xs:complexType>
+            <xs:sequence>
+              <xs:element name="category" maxOccurs="unbounded">
+                <xs:complexType>
+                  <xs:sequence>
+                    <xs:element name="subcategory" maxOccurs="unbounded">
+                      <xs:complexType>
+                        <xs:attribute name="name" type="xs:normalizedString" />
+                      </xs:complexType>
+                    </xs:element>
+                  </xs:sequence>
+                  <xs:attribute name="name" type="xs:normalizedString" />
+                </xs:complexType>
+              </xs:element>
+            </xs:sequence>
+          </xs:complexType>
+        </xs:element>
+        <!--Associations-->
+        <xs:element name="associations" use="optional">
+          <xs:complexType>
+            <xs:sequence>
+              <xs:element name="association" maxOccurs="unbounded">
+                <xs:complexType>
+                  <xs:attribute name="name" type="xs:normalizedString" />
+                  <xs:attribute name="filetype" type="xs:string" />
+                  <xs:attribute name="arguments" type="xs:string" />
+                </xs:complexType>
+              </xs:element>
+            </xs:sequence>
+          </xs:complexType>
+        </xs:element>
+        <!--Clockspeed-->
+        <xs:element name="clockspeed">
+          <xs:complexType>
+            <xs:attribute name="frequency" type="xs:PositiveInteger" />
+          </xs:complexType>
+        </xs:element>
+      </xs:all>
+      <!--AppID-->
+      <xs:attribute name="id" type="xs:normalizedString" />
+    </xs:complexType>
+  </xs:element>
+</xs:schema>
\ No newline at end of file