summaryrefslogtreecommitdiff
path: root/data/project.dtd
blob: ba880f4ac5aa88f07ff4c7d048ef9b96d288c52e (plain)
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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
<!-- Declare entities -->
<!ENTITY quot    "&#34;">
<!ENTITY amp     "&#38;">
<!ENTITY lt      "&#60;">
<!ENTITY gt      "&#62;">

<!-- ROOT ELEMENT -->
<!ELEMENT tk_mcuide_project (general, other_options, compiler_options, files)>
<!-- Root element Parameters:
	version		- Project version	(user defined)
	date		- Project last update	(user defined)
	creator_ver	- MCU 8051 IDE version	(hardcoded in the program)
-->
<!ATTLIST tk_mcuide_project
	version		CDATA	#IMPLIED
	date		CDATA	#IMPLIED
	creator_ver	CDATA	#IMPLIED
>

<!-- General information about the project -->
<!ELEMENT general (authors, copyright, licence, processor, options, graph, description, todo, calculator)>

<!-- List of project authors, one name per line -->
<!ELEMENT authors	(#PCDATA)>

<!-- Copyrigh information -->
<!ELEMENT copyright	(#PCDATA)>

<!-- Project licence -->
<!ELEMENT licence	(#PCDATA)>

<!-- Processor type and configuration -->
<!ELEMENT processor	EMPTY>

<!-- Parameters of tag "processor":
	type		- Processor type (e.g. AT89C51RC or 80C51)
	clock		- Clock frequency in kHz
	xdata		- Size of connected XDATA memory (0 means disconnected)
	xcode		- Size of connected XCODE memory (0 means disconnected)
-->
<!ATTLIST processor
	type		CDATA	#IMPLIED
	clock		CDATA	#IMPLIED
	xdata		CDATA	#IMPLIED
	xcode		CDATA	#IMPLIED
>

<!-- Various project options -->
<!ELEMENT options	EMPTY>

<!-- Parameters of tag "options":
	watches_file	- Relative or absolute path to definition file of register watches
	scheme		- Relative or absolute path to scheme file
	main_file	- Main project source code file (e.g. main.c)
	auto_sw_enabled	- Automatic file switching during simulation locked
-->
<!ATTLIST options
	watches_file	CDATA	#IMPLIED
	scheme		CDATA	#IMPLIED
	main_file	CDATA	#IMPLIED
	auto_sw_enabled	(0|1)	#IMPLIED
>

<!-- Ports graph definition -->
<!ELEMENT graph		EMPTY>

<!-- Parameters of tag "graph":
	grid		- Grid mode
	magnification	- Magnification level	(must be an integer between 0 and 3)
	enabled		- Graph enable flag	(Boolean value 0 or 1)
	marks_s		- List of state graph marks	(String of zeros and ones perfixed with 'X', and converted to hexadecimal)
	marks_l		- List of laches graph marks	(String of zeros and ones perfixed with 'X', and converted to hexadecimal)
	marks_o		- List of output graph marks	(String of zeros and ones perfixed with 'X', and converted to hexadecimal)
	active_page	- Active page
-->
<!ATTLIST graph
	grid		(n|b|x|y)	#IMPLIED
	magnification	(0|1|2|3)	#IMPLIED
	enabled		(0|1)		#IMPLIED
	marks_s		CDATA		#IMPLIED
	marks_l		CDATA		#IMPLIED
	marks_o		CDATA		#IMPLIED
	active_page	CDATA		#IMPLIED
>

<!-- Project description text (plain text only) -->
<!ELEMENT description	(#PCDATA)>

<!-- Project to do list (SGML format) -->
<!ELEMENT todo		(#PCDATA)>

<!-- Calculator configuration -->
<!ELEMENT calculator	EMPTY>

<!-- Parameters of tag "calculator":
	radix		- Radix (one of {Dec Hex Bin Oct})
	angle_unit	- Angle unit (one of {deg rad grad})
	display0	- Primary display
	display1	- Opereator display
	display2	- Secondary display
	memory0		- Content of memory bank 0
	memory1		- Content of memory bank 1
	memory2		- Content of memory bank 2
	freq		- Timers preset calculator: Frequency
	time		- Timers preset calculator: Desired time
	mode		- Timers preset calculator: Timer mode (one of {0 1 2})
-->
<!ATTLIST calculator
	radix		(Dec|Hex|Bin|Oct)	#IMPLIED
	angle_unit	(deg|rad|grad)		#IMPLIED
	display0	CDATA			#IMPLIED
	display1	CDATA			#IMPLIED
	display2	CDATA			#IMPLIED
	memory0		CDATA			#IMPLIED
	memory1		CDATA			#IMPLIED
	memory2		CDATA			#IMPLIED
	freq		CDATA			#IMPLIED
	time		CDATA			#IMPLIED
	mode		(0|1|2)			#IMPLIED
>

<!-- Other options (it can contain anything) -->
<!ELEMENT other_options	(#PCDATA)>

<!-- Compiler options -->
<!ELEMENT compiler_options	(#PCDATA)>

<!-- Project files -->
<!ELEMENT files	(file)*>

<!-- Parameters of tag "files":
	count		- Number of project files
	current_file	- Current file in left/top view
	current_file2	- Current file in right/bottom view (if it's less than zero then editor won't be splitted)
	pwin_sash	- Position of paned window sash (has meaning only if editor was splitted)
	selected_view	- Active view; 0 == left/top, 1 == right/bottom
	pwin_orient	- Orientation of paned window for multiview (one of {horizontal vertical})
-->
<!ATTLIST files
	count		CDATA			#IMPLIED
	current_file	CDATA			#IMPLIED
	current_file2	CDATA			#IMPLIED
	pwin_sash	CDATA			#IMPLIED
	selected_view	(0|1)			#IMPLIED
	pwin_orient	(horizontal|vertical)	#IMPLIED
>

<!-- Project file description -->
<!ELEMENT file	(actual_line, md5_hash, path, bookmarks, breakpoints, eol, encoding, notes)>

<!-- Parameters of tag "file":
	name		- File name without path
	active		- "yes" == opended; "no" == closed
	o_bookmark	- Bookmark in list of opened files
	p_bookmark	- Bookmark in list of project files
	file_index	- File index in the list
	read_only	- Read only flag
	highlight	- Syntax highlight
-->
<!ATTLIST file
	name		CDATA		#IMPLIED
	active		(yes|no)	#IMPLIED
	o_bookmark	(1|0)		#IMPLIED
	p_bookmark	(1|0)		#IMPLIED
	file_index	CDATA		#IMPLIED
	read_only	(1|0)		#IMPLIED
	highlight	CDATA		#IMPLIED
>

<!-- Current line -->
<!ELEMENT actual_line	EMPTY>

<!-- Parameters of tag "actual_line":
	value		- Current line in the file
-->
<!ATTLIST actual_line
	value		CDATA	#IMPLIED
>

<!-- MD5 hash for the file -->
<!ELEMENT md5_hash	EMPTY>

<!-- Parameters of tag "md5_hash":
	value		- Last MD5 hash
-->
<!ATTLIST md5_hash
	value		CDATA	#IMPLIED
>

<!-- File path -->
<!ELEMENT path		(#PCDATA)>

<!-- Bookmarks: list of line numbers -->
<!ELEMENT bookmarks	(#PCDATA)>

<!-- Breakpoints: list of line numbers -->
<!ELEMENT breakpoints	(#PCDATA)>

<!-- End Of Line character name -->
<!ELEMENT eol		EMPTY>

<!-- Parameters of tag "eol":
	value		- EOL character (lf == "Line feed" 0x0A; cr == "Carriage return" 0x0D)
-->
<!ATTLIST eol
	value		(lf|cr|crlf)	#IMPLIED
>

<!-- File encoding (we strongly recomend to use utf-8 only) -->
<!ELEMENT encoding	EMPTY>

<!-- File notes -->
<!ELEMENT notes		(#PCDATA)>

<!-- Parameters of tag "encoding":
	value		- Name of choosen encoding
-->
<!ATTLIST encoding
	value		CDATA	#IMPLIED
>