Changes

Packages.xml

3,409 bytes added, 06:28, 17 May 2011
Add XSD schema
echo '</packages>' >> ../packages.xml
</source>
 
==XSD Schema==
This '''should''' be right from the information you can get here but it's a bit more complex than the schemas for hosts.xml and profiles.xml so please gently correct any error you may have found in this schema.
<pre>
<?xml version="1.0" encoding="utf-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<!-- Type definitions -->
<xs:complexType name="actionType">
<xs:sequence minOccurs="0">
<xs:choice maxOccurs="unbounded">
<xs:element maxOccurs="unbounded" name="exit" type="exitType"></xs:element>
<xs:element maxOccurs="unbounded" name="download" type="downloadType"></xs:element>
</xs:choice>
</xs:sequence>
<xs:attribute name="cmd" type="xs:string" use="required" />
<xs:attribute name="timeout" type="xs:unsignedShort" use="optional" default="3600" />
</xs:complexType>
 
<xs:complexType name="checkType">
<xs:sequence minOccurs="0" maxOccurs="unbounded">
<xs:element name="check" type="checkType"></xs:element>
</xs:sequence>
<xs:attribute name="type" type="xs:string" use="required" />
<xs:attribute name="condition" type="xs:string" use="required" />
<xs:attribute name="path" type="xs:string" use="optional" />
<xs:attribute name="value" type="xs:string" use="optional" />
</xs:complexType>
 
<xs:complexType name="dependencyType">
<xs:attribute name="package-id" type="xs:string" use="required" />
</xs:complexType>
 
<xs:complexType name="downloadType">
<xs:attribute name="url" type="xs:anyURI" use="required" />
<xs:attribute name="target" type="xs:string" use="required" />
</xs:complexType>
 
<xs:complexType name="exitType">
<xs:attribute name="code" type="xs:string" use="required" />
<xs:attribute name="reboot" type="xs:string" use="optional" />
</xs:complexType>
 
<xs:complexType name="variableType">
<xs:attribute name="name" type="xs:string" use="required" />
<xs:attribute name="value" type="xs:string" use="required" />
</xs:complexType>
 
<!-- Actual content -->
<xs:element name="packages">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" name="package">
<xs:complexType>
<xs:sequence>
<xs:choice maxOccurs="unbounded">
<xs:element name="include" type="dependencyType"></xs:element>
<xs:element name="chain" type="dependencyType"></xs:element>
<xs:element name="depends" type="dependencyType"></xs:element>
<xs:element name="variable" type="variableType"></xs:element>
<xs:element name="check" type="checkType"></xs:element>
<xs:element name="download" type="downloadType"></xs:element>
<xs:element name="install" type="actionType"></xs:element>
<xs:element name="upgrade" type="actionType"></xs:element>
<xs:element name="remove" type="actionType"></xs:element>
</xs:choice>
</xs:sequence>
<xs:attribute name="id" type="xs:string" use="required" />
<xs:attribute name="name" type="xs:string" use="required" />
<xs:attribute name="revision" type="xs:string" use="required" />
<xs:attribute name="reboot" type="xs:string" use="required" />
<xs:attribute name="priority" type="xs:unsignedShort" use="required" />
<xs:attribute name="execute" type="xs:string" use="optional" />
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
</pre>
==See also==
10
edits