Skip to content

Commit 53526e2

Browse files
authored
Fix invalid launch XSD (#278)
Signed-off-by: Michel Hidalgo <[email protected]>
1 parent 943a103 commit 53526e2

File tree

2 files changed

+111
-110
lines changed

2 files changed

+111
-110
lines changed

articles/151_roslaunch_xml.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ YAML is currently supported too, and other markup languages could be added.
3939
### Schema Definition
4040

4141
```xml
42-
{% include_relative specs/launch.0.1.0.xsd %}
42+
{% include_relative specs/launch.0.1.1.xsd %}
4343
```
4444

4545
### Tags Semantics

articles/specs/launch.0.1.0.xsd renamed to articles/specs/launch.0.1.1.xsd

Lines changed: 110 additions & 109 deletions
Original file line numberDiff line numberDiff line change
@@ -8,80 +8,82 @@
88
</xs:documentation>
99
</xs:annotation>
1010

11-
<xs:element name="launch" maxOccurs="1">
11+
<xs:element name="launch">
1212
<xs:annotation>
1313
<xs:documentation xml:lang="en">
1414
The root element of a launch file.
1515
</xs:documentation>
1616
</xs:annotation>
1717

18-
<xs:choice minOccurs="1" maxOccurs="unbounded">
19-
<xs:annotation>
20-
<xs:documentation xml:lang="en">
21-
A collection of actions to be launched in order of appearance, plus
22-
launch arguments for callers to provide, either through a tool or
23-
by inclusion.
24-
</xs:documentation>
25-
</xs:annotation>
26-
27-
<xs:element name="arg">
18+
<xs:complexType>
19+
<xs:choice maxOccurs="unbounded">
2820
<xs:annotation>
2921
<xs:documentation xml:lang="en">
30-
Declares launch file-level arguments.
22+
A collection of actions to be launched in order of appearance, plus
23+
launch arguments for callers to provide, either through a tool or
24+
by inclusion.
3125
</xs:documentation>
3226
</xs:annotation>
3327

34-
<xs:complexType>
35-
<xs:attribute name="name" type="xs:string" use="required">
36-
<xs:annotation>
37-
<xs:documentation xml:lang="en">
38-
Name of the launch argument.
39-
</xs:documentation>
40-
</xs:annotation>
41-
</xs:attribute>
42-
<xs:attribute name="value" type="xs:string" use="optional">
43-
<xs:annotation>
44-
<xs:documentation xml:lang="en">
45-
Fixed value for the launch argument, disables overrides.
46-
</xs:documentation>
47-
</xs:annotation>
48-
</xs:attribute>
49-
<xs:attribute name="default" type="xs:string" use="optional">
50-
<xs:annotation>
51-
<xs:documentation xml:lang="en">
52-
Default value for the launch argument, used if non is provided.
53-
</xs:documentation>
54-
</xs:annotation>
55-
</xs:attribute>
56-
<xs:attribute name="description" type="xs:string" use="optional">
57-
<xs:annotation>
58-
<xs:documentation xml:lang="en">
59-
Brief description of the launch argument.
60-
</xs:documentation>
61-
</xs:annotation>
62-
</xs:attribute>
63-
</xs:complexType>
64-
</xs:element>
65-
<xs:element ref="let"/>
66-
<xs:element ref="node"/>
67-
<xs:element ref="executable"/>
68-
<xs:element ref="include"/>
69-
<xs:element ref="group"/>
70-
<xs:element ref="set_env"/>
71-
<xs:element ref="unset_env"/>
72-
</xs:choice>
73-
<xs:attribute name="version" use="required">
74-
<xs:annotation>
75-
<xs:documentation xml:lang="en">
76-
Launch XML schema version in use.
77-
</xs:documentation>
78-
</xs:annotation>
79-
<xs:simpleType>
80-
<xs:restriction base="xs:string">
81-
<xs:pattern value="[0-9]+\.[0-9]+\.[0-9]+"/>
82-
</xs:restriction>
83-
</xs:simpleType>
84-
</xs:attribute>
28+
<xs:element name="arg">
29+
<xs:annotation>
30+
<xs:documentation xml:lang="en">
31+
Declares a launch file argument.
32+
</xs:documentation>
33+
</xs:annotation>
34+
35+
<xs:complexType>
36+
<xs:attribute name="name" type="xs:string" use="required">
37+
<xs:annotation>
38+
<xs:documentation xml:lang="en">
39+
Name of the launch argument.
40+
</xs:documentation>
41+
</xs:annotation>
42+
</xs:attribute>
43+
<xs:attribute name="value" type="xs:string" use="optional">
44+
<xs:annotation>
45+
<xs:documentation xml:lang="en">
46+
Fixed value for the launch argument, disables overrides.
47+
</xs:documentation>
48+
</xs:annotation>
49+
</xs:attribute>
50+
<xs:attribute name="default" type="xs:string" use="optional">
51+
<xs:annotation>
52+
<xs:documentation xml:lang="en">
53+
Default value for the launch argument, used if non is provided.
54+
</xs:documentation>
55+
</xs:annotation>
56+
</xs:attribute>
57+
<xs:attribute name="description" type="xs:string" use="optional">
58+
<xs:annotation>
59+
<xs:documentation xml:lang="en">
60+
Brief description of the launch argument.
61+
</xs:documentation>
62+
</xs:annotation>
63+
</xs:attribute>
64+
</xs:complexType>
65+
</xs:element>
66+
<xs:element ref="let"/>
67+
<xs:element ref="node"/>
68+
<xs:element ref="executable"/>
69+
<xs:element ref="include"/>
70+
<xs:element ref="group"/>
71+
<xs:element ref="set_env"/>
72+
<xs:element ref="unset_env"/>
73+
</xs:choice>
74+
<xs:attribute name="version" use="required">
75+
<xs:annotation>
76+
<xs:documentation xml:lang="en">
77+
Launch XML schema version in use.
78+
</xs:documentation>
79+
</xs:annotation>
80+
<xs:simpleType>
81+
<xs:restriction base="xs:string">
82+
<xs:pattern value="[0-9]+\.[0-9]+\.[0-9]+"/>
83+
</xs:restriction>
84+
</xs:simpleType>
85+
</xs:attribute>
86+
</xs:complexType>
8587
</xs:element>
8688

8789
<xs:element name="let">
@@ -117,29 +119,6 @@
117119
</xs:annotation>
118120

119121
<xs:complexType>
120-
<xs:attribute name="file" type="xs:string" use="required">
121-
<xs:annotation>
122-
<xs:documentation xml:lang="en">
123-
Path to the launch file to be included.
124-
</xs:documentation>
125-
</xs:annotation>
126-
</xs:attribute>
127-
<xs:attribute name="if" type="xs:string" use="optional">
128-
<xs:annotation>
129-
<xs:documentation xml:lang="en">
130-
A predicate to condition launch inclusion i.e. only do
131-
so if the predicate evaluates to a truthy value.
132-
</xs:documentation>
133-
</xs:annotation>
134-
</xs:attribute>
135-
<xs:attribute name="unless" type="xs:string" use="optional">
136-
<xs:annotation>
137-
<xs:documentation xml:lang="en">
138-
A predicate to condition launch inclusion i.e. do
139-
so unless the predicate evaluates to a truthy value.
140-
</xs:documentation>
141-
</xs:annotation>
142-
</xs:attribute>
143122
<xs:sequence minOccurs="0" maxOccurs="unbounded">
144123
<xs:annotation>
145124
<xs:documentation xml:lang="en">
@@ -172,6 +151,29 @@
172151
</xs:complexType>
173152
</xs:element>
174153
</xs:sequence>
154+
<xs:attribute name="file" type="xs:string" use="required">
155+
<xs:annotation>
156+
<xs:documentation xml:lang="en">
157+
Path to the launch file to be included.
158+
</xs:documentation>
159+
</xs:annotation>
160+
</xs:attribute>
161+
<xs:attribute name="if" type="xs:string" use="optional">
162+
<xs:annotation>
163+
<xs:documentation xml:lang="en">
164+
A predicate to condition launch inclusion i.e. only do
165+
so if the predicate evaluates to a truthy value.
166+
</xs:documentation>
167+
</xs:annotation>
168+
</xs:attribute>
169+
<xs:attribute name="unless" type="xs:string" use="optional">
170+
<xs:annotation>
171+
<xs:documentation xml:lang="en">
172+
A predicate to condition launch inclusion i.e. do
173+
so unless the predicate evaluates to a truthy value.
174+
</xs:documentation>
175+
</xs:annotation>
176+
</xs:attribute>
175177
</xs:complexType>
176178
</xs:element>
177179

@@ -519,33 +521,31 @@
519521
environment variable settings for the launched ROS node.
520522
</xs:documentation>
521523
</xs:annotation>
522-
523524
<xs:element ref="env"/>
524525
<xs:element ref="param"/>
525526
<xs:element ref="remap"/>
526527
</xs:choice>
527-
</xs:complexType>
528-
<xs:attribute name="package" type="xs:string" use="required">
529-
<xs:annotation>
530-
<xs:documentation xml:lang="en">
531-
Name of the package where the node is to be found.
532-
</xs:documentation>
533-
</xs:annotation>
534-
</xs:attribute>
535-
<xs:attribute name="executable" type="xs:string" use="required">
536-
<xs:annotation>
537-
<xs:documentation xml:lang="en">
538-
Name of the node executable.
539-
</xs:documentation>
540-
</xs:annotation>
541-
</xs:attribute>
542-
<xs:attribute name="name" type="xs:string" use="optional">
543-
<xs:annotation>
544-
<xs:documentation xml:lang="en">
545-
A name for the launched ROS node.
546-
</xs:documentation>
547-
</xs:annotation>
548-
</xs:attribute>
528+
<xs:attribute name="package" type="xs:string" use="required">
529+
<xs:annotation>
530+
<xs:documentation xml:lang="en">
531+
Name of the package where the node is to be found.
532+
</xs:documentation>
533+
</xs:annotation>
534+
</xs:attribute>
535+
<xs:attribute name="executable" type="xs:string" use="required">
536+
<xs:annotation>
537+
<xs:documentation xml:lang="en">
538+
Name of the node executable.
539+
</xs:documentation>
540+
</xs:annotation>
541+
</xs:attribute>
542+
<xs:attribute name="name" type="xs:string" use="optional">
543+
<xs:annotation>
544+
<xs:documentation xml:lang="en">
545+
A name for the launched ROS node.
546+
</xs:documentation>
547+
</xs:annotation>
548+
</xs:attribute>
549549
<xs:attribute name="args" type="xs:string" use="optional">
550550
<xs:annotation>
551551
<xs:documentation xml:lang="en">
@@ -608,5 +608,6 @@
608608
</xs:documentation>
609609
</xs:annotation>
610610
</xs:attribute>
611+
</xs:complexType>
611612
</xs:element>
612613
</xs:schema>

0 commit comments

Comments
 (0)