summaryrefslogtreecommitdiff
path: root/resources/boot/OD/Module.xsd
diff options
context:
space:
mode:
Diffstat (limited to 'resources/boot/OD/Module.xsd')
-rw-r--r--resources/boot/OD/Module.xsd141
1 files changed, 141 insertions, 0 deletions
diff --git a/resources/boot/OD/Module.xsd b/resources/boot/OD/Module.xsd
new file mode 100644
index 0000000..78d34d7
--- /dev/null
+++ b/resources/boot/OD/Module.xsd
@@ -0,0 +1,141 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- edited with XMLSpy v2007 rel. 3 (http://www.altova.com) by Andrew Branson (CERN) -->
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
+ <xs:element name="CristalModule">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Info">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Description" type="xs:string"/>
+ <xs:element name="Version" type="xs:string"/>
+ <xs:element name="Dependency" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="ResourceURL" type="xs:string" minOccurs="0"/>
+ <xs:element name="Config" minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>Configuration parameters to add to the Cristal VM on launch. May target either client or server processes.</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="name" type="xs:string" use="required"/>
+ <xs:attribute ref="target"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Script" minOccurs="0" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute ref="event"/>
+ <xs:attribute ref="target"/>
+ <xs:attribute name="lang" type="xs:string"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Imports" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>Items to import into or verify within the Cristal server upon launch.</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:choice maxOccurs="unbounded">
+ <xs:element name="Resource" minOccurs="0" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="name" type="xs:string" use="required"/>
+ <xs:attribute name="type" use="required">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="EA"/>
+ <xs:enumeration value="CA"/>
+ <xs:enumeration value="OD"/>
+ <xs:enumeration value="SC"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Item" minOccurs="0" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Property" minOccurs="0" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="name" type="xs:string" use="required"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Outcome" minOccurs="0" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="schema" type="xs:string" use="required"/>
+ <xs:attribute name="version" type="xs:string" use="required"/>
+ <xs:attribute name="viewname" type="xs:string" use="required"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Dependency" minOccurs="0" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="DependencyMember" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ <xs:attribute name="name" type="xs:string" use="required"/>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ <xs:attribute name="name" type="xs:string" use="required"/>
+ <xs:attribute name="workflow" type="xs:string" use="optional"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Agent" minOccurs="0" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Role" type="xs:string" maxOccurs="unbounded"/>
+ </xs:sequence>
+ <xs:attribute name="name" type="xs:string" use="required"/>
+ <xs:attribute name="password" type="xs:string" use="required"/>
+ </xs:complexType>
+ </xs:element>
+ </xs:choice>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ <xs:attribute name="name" type="xs:string" use="required"/>
+ <xs:attribute name="ns" type="xs:string" use="required">
+ <xs:annotation>
+ <xs:documentation>Prefix for module components</xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ </xs:complexType>
+ </xs:element>
+ <xs:attribute name="target">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="client"/>
+ <xs:enumeration value="server"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="event">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="startup"/>
+ <xs:enumeration value="shutdown"/>
+ <xs:enumeration value="install"/>
+ <xs:enumeration value="uninstall"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+</xs:schema>