-
Notifications
You must be signed in to change notification settings - Fork 137
/
package_format1.xsd
69 lines (64 loc) · 3.35 KB
/
package_format1.xsd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:include schemaLocation="package_common.xsd"/>
<xs:complexType name="DependencyType">
<xs:simpleContent>
<xs:extension base="xs:token">
<!-- The dependency must have a version less than the specified limit. -->
<xs:attribute name="version_lt" type="VersionLimitType" use="optional"/>
<!-- The dependency must have a version less than or equal to the specified limit. -->
<xs:attribute name="version_lte" type="VersionLimitType" use="optional"/>
<!-- The dependency must have a version equal to the specified limit. -->
<xs:attribute name="version_eq" type="VersionLimitType" use="optional"/>
<!-- The dependency must have a version greater than or equal to the specified limit. -->
<xs:attribute name="version_gte" type="VersionLimitType" use="optional"/>
<!-- The dependency must have a version greater than the specified limit. -->
<xs:attribute name="version_gt" type="VersionLimitType" use="optional"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:element name="package">
<xs:annotation>
<xs:documentation>
Specified in REP 127 (see http://www.ros.org/reps/rep-0127.html).
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="name" minOccurs="1" maxOccurs="1">
<xs:annotation>
<xs:documentation>
The package name should be unique within the ROS community.
It may differ from the folder name into which it is checked out,
but that is not recommended.
It must start with a lower-case letter and consist of only
lower-case letters, numbers and underscores.
It must not have two consecutive underscores.
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:pattern value="[a-z](_?[a-z0-9] )*"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="version" type="VersionType" minOccurs="1" maxOccurs="1"/>
<xs:element name="description" type="DescriptionType" minOccurs="1" maxOccurs="1"/>
<xs:element name="maintainer" type="PersonWithEmailType" minOccurs="1" maxOccurs="unbounded"/>
<xs:element name="license" type="xs:token" minOccurs="1" maxOccurs="unbounded"/>
<xs:element name="url" type="UrlType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="author" type="PersonWithOptionalEmailType" minOccurs="0" maxOccurs="unbounded"/>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element type="DependencyType" name="build_depend"/>
<xs:element type="DependencyType" name="buildtool_depend"/>
<xs:element type="DependencyType" name="run_depend"/>
<xs:element type="DependencyType" name="test_depend"/>
<xs:element type="DependencyType" name="conflict"/>
<xs:element type="DependencyType" name="replace"/>
</xs:choice>
<xs:element name="export" type="ExportType" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
<xs:attribute name="format" fixed="1" use="optional"/>
</xs:complexType>
</xs:element>
</xs:schema>