Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 4c040be

Browse files
XML schema. Related to enchancement BehaviorTree#40
1 parent 58ec28f commit 4c040be

File tree

1 file changed

+136
-0
lines changed

1 file changed

+136
-0
lines changed

behaviortree_schema.xsd

Lines changed: 136 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,136 @@
1+
<?xml version="1.0" encoding="utf-8" ?>
2+
<!--Created with Liquid Studio 2018 (https://www.liquid-technologies.com)-->
3+
<xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
4+
<xs:element name="root">
5+
<xs:complexType>
6+
<xs:sequence>
7+
<xs:element name="BehaviorTree" minOccurs="1" maxOccurs="unbounded">
8+
<xs:complexType>
9+
<xs:group ref="BuiltInMultipleTypes" />
10+
<xs:attribute name="ID" type="xs:string" use="required" />
11+
</xs:complexType>
12+
</xs:element>
13+
<xs:element name="TreeNodeModel" minOccurs="0" maxOccurs="1">
14+
<xs:complexType>
15+
<xs:sequence>
16+
<xs:element name="Action" type="ActionType" />
17+
<xs:element name="Condition" type="ConditionType" />
18+
<xs:element name="Decorator" type="DecoratorType" />
19+
<xs:element name="Control" type="ControlType" />
20+
</xs:sequence>
21+
</xs:complexType>
22+
</xs:element>
23+
</xs:sequence>
24+
<xs:attribute name="main_tree_to_execute" type="xs:string" use="required" />
25+
</xs:complexType>
26+
</xs:element>
27+
<xs:complexType name="ActionType">
28+
<xs:attribute name="name" type="xs:string" use="optional" />
29+
<xs:attribute name="ID" type="xs:string" use="required" />
30+
<xs:anyAttribute />
31+
</xs:complexType>
32+
<xs:complexType name="ConditionType">
33+
<xs:attribute name="name" type="xs:string" use="optional" />
34+
<xs:attribute name="ID" type="xs:string" use="required" />
35+
<xs:anyAttribute />
36+
</xs:complexType>
37+
<xs:complexType name="DecoratorType">
38+
<xs:group minOccurs="1" maxOccurs="unbounded" ref="BuiltInMultipleTypes" />
39+
<xs:attribute name="name" type="xs:string" use="optional" />
40+
<xs:attribute name="ID" type="xs:string" use="required" />
41+
<xs:anyAttribute />
42+
</xs:complexType>
43+
<xs:complexType name="ControlType">
44+
<xs:sequence>
45+
<xs:group minOccurs="1" maxOccurs="unbounded" ref="BuiltInMultipleTypes" />
46+
</xs:sequence>
47+
<xs:attribute name="name" type="xs:string" use="optional" />
48+
<xs:attribute name="ID" type="xs:string" use="required" />
49+
<xs:anyAttribute />
50+
</xs:complexType>
51+
<xs:complexType name="SequenceType">
52+
<xs:sequence>
53+
<xs:group minOccurs="1" maxOccurs="unbounded" ref="BuiltInMultipleTypes" />
54+
</xs:sequence>
55+
<xs:attribute name="name" type="xs:string" use="optional" />
56+
</xs:complexType>
57+
<xs:complexType name="SequenceStarType">
58+
<xs:sequence>
59+
<xs:group minOccurs="1" maxOccurs="unbounded" ref="BuiltInMultipleTypes" />
60+
</xs:sequence>
61+
<xs:attribute name="name" type="xs:string" use="optional" />
62+
</xs:complexType>
63+
<xs:complexType name="FallbackType">
64+
<xs:sequence>
65+
<xs:group minOccurs="1" maxOccurs="unbounded" ref="BuiltInMultipleTypes" />
66+
</xs:sequence>
67+
<xs:attribute name="name" type="xs:string" use="optional" />
68+
</xs:complexType>
69+
<xs:complexType name="FallbackStarType">
70+
<xs:sequence>
71+
<xs:group minOccurs="1" maxOccurs="unbounded" ref="BuiltInMultipleTypes" />
72+
</xs:sequence>
73+
<xs:attribute name="name" type="xs:string" use="optional" />
74+
</xs:complexType>
75+
<xs:complexType name="ParallelType">
76+
<xs:sequence>
77+
<xs:group minOccurs="2" maxOccurs="unbounded" ref="BuiltInMultipleTypes" />
78+
</xs:sequence>
79+
<xs:attribute name="name" type="xs:string" use="optional" />
80+
<xs:attribute name="threshold" type="xs:string" use="required" />
81+
</xs:complexType>
82+
<xs:complexType name="RetryType">
83+
<xs:group ref="BuiltInMultipleTypes" />
84+
<xs:attribute name="name" type="xs:string" use="optional" />
85+
<xs:attribute name="num_attempts" type="xs:string" use="required" />
86+
</xs:complexType>
87+
<xs:complexType name="RepeatType">
88+
<xs:group ref="BuiltInMultipleTypes" />
89+
<xs:attribute name="name" type="xs:string" use="optional" />
90+
<xs:attribute name="num_cycles" type="xs:string" use="required" />
91+
</xs:complexType>
92+
<xs:complexType name="InverterType">
93+
<xs:group ref="BuiltInMultipleTypes" />
94+
<xs:attribute name="name" type="xs:string" use="optional" />
95+
</xs:complexType>
96+
<xs:complexType name="TimeoutType">
97+
<xs:group ref="BuiltInMultipleTypes" />
98+
<xs:attribute name="name" type="xs:string" use="optional" />
99+
<xs:attribute name="msec" type="xs:string" use="required" />
100+
</xs:complexType>
101+
<xs:complexType name="ForceSuccesType">
102+
<xs:group ref="BuiltInMultipleTypes" />
103+
<xs:attribute name="name" type="xs:string" use="optional" />
104+
</xs:complexType>
105+
<xs:complexType name="ForceFailureType">
106+
<xs:group ref="BuiltInMultipleTypes" />
107+
<xs:attribute name="name" type="xs:string" use="optional" />
108+
</xs:complexType>
109+
<xs:complexType name="AlwaysSuccesType">
110+
<xs:attribute name="name" type="xs:string" use="optional" />
111+
</xs:complexType>
112+
<xs:complexType name="AlwaysFailureType">
113+
<xs:attribute name="name" type="xs:string" use="optional" />
114+
</xs:complexType>
115+
<xs:group name="BuiltInMultipleTypes">
116+
<xs:choice>
117+
<xs:element name="Action" type="ActionType" />
118+
<xs:element name="Condition" type="ConditionType" />
119+
<xs:element name="Control" type="ControlType" />
120+
<xs:element name="Decorator" type="DecoratorType" />
121+
<xs:element name="Sequence" type="SequenceType" />
122+
<xs:element name="SequenceStar" type="SequenceStarType" />
123+
<xs:element name="Fallback" type="FallbackType" />
124+
<xs:element name="FallbackStar" type="FallbackStarType" />
125+
<xs:element name="Parallel" type="ParallelType" />
126+
<xs:element name="Inverter" type="InverterType" />
127+
<xs:element name="RetryUntilSuccesful" type="RetryType" />
128+
<xs:element name="Repeat" type="RepeatType" />
129+
<xs:element name="Timeout" type="TimeoutType" />
130+
<xs:element name="ForceSucces" type="ForceSuccesType" />
131+
<xs:element name="ForceFailure" type="ForceFailureType" />
132+
<xs:element name="AlwaysSucces" type="AlwaysSuccesType" />
133+
<xs:element name="AlwaysFailure" type="AlwaysFailureType" />
134+
</xs:choice>
135+
</xs:group>
136+
</xs:schema>

0 commit comments

Comments
 (0)