-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathstory.xsd
45 lines (35 loc) · 1.27 KB
/
story.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
<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://ancientabyss.net/schemas/AbsImm.xsd" xmlns="http://ancientabyss.net/schemas/AbsImm.xsd" elementFormDefault="qualified">
<xs:element name="story" type="story" />
<!-- basic -->
<xs:complexType name="story">
<xs:sequence>
<xs:element name="settings" type="settings"/>
<xs:element name="part" type="part"/>
<xs:element name="part" type="part"/>
</xs:sequence>
</xs:complexType>
<!-- configuration -->
<xs:complexType name="settings">
<xs:sequence>
<xs:element name="setting" type="setting" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="setting">
<xs:attribute name="name" type="xs:string"/>
<xs:attribute name="value" type="xs:string"/>
</xs:complexType>
<!-- structure and logic -->
<xs:complexType name="part">
<xs:sequence>
<xs:element name="action" type="action" maxOccurs="unbounded" />
</xs:sequence>
<xs:attribute name="name" type="xs:string"/>
</xs:complexType>
<xs:complexType name="action">
<xs:attribute name="name" type="xs:string"/>
<xs:attribute name="state" type="xs:string"/>
<xs:attribute name="condition" type="xs:string"/>
<xs:attribute name="text" type="xs:string"/>
</xs:complexType>
</xs:schema>