1 <?xml version=
"1.0" encoding=
"utf-8"?>
3 Application Information DTD
4 Copyright (C) 2005-2011 Martin Koegler mkoegler@auto.tuwien.ac.at
6 This program is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 2 of the License, or
9 (at your option) any later version.
11 Modified version of this specification must change the namespace.
13 This program is distributed in the hope that it will be useful,
14 but WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 GNU General Public License for more details.
18 You should have received a copy of the GNU General Public License
19 along with this program; if not, write to the Free Software
20 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
23 <!-- defines version 0.0.0 -->
25 <!ENTITY % IDSTRING
"CDATA">
26 <!ENTITY % STRING
"(#PCDATA)">
28 <!ENTITY % INT
"(#PCDATA)">
29 <!ENTITY % BOOL
"(#PCDATA)">
30 <!ENTITY % FLOAT
"(#PCDATA)">
32 <!ENTITY % DPTYPE
"(#PCDATA)">
33 <!ENTITY % FBTYPE
"(#PCDATA)">
34 <!ENTITY % GROUPTYPE
"(#PCDATA)">
35 <!ENTITY % PROPERTYTYPE
"(#PCDATA)">
37 <!ELEMENT Category %STRING;
>
38 <!ELEMENT Manufacturer %STRING;
>
39 <!ELEMENT OrderNo %STRING;
>
40 <!ELEMENT Title %STRING;
>
41 <!ELEMENT Author %STRING;
>
42 <!ELEMENT Copyright %STRING;
>
43 <!ELEMENT MaskVersion %STRING;
>
44 <!ELEMENT AddInfo %STRING;
>
46 <!ELEMENT Description (MaskVersion,Title,AddInfo?,OrderNo?,Manufacturer?,Category?,Author?,Copyright?)
>
49 <!ELEMENT PollingMaster (Title,AddInfo?)
>
50 <!ATTLIST PollingMaster
53 <!ELEMENT PollingSlave (Title,AddInfo?)
>
54 <!ATTLIST PollingSlave
58 <!ELEMENT StateBased %BOOL;
>
59 <!ELEMENT Sending %BOOL;
>
60 <!ELEMENT Receiving %BOOL;
>
61 <!ELEMENT Reading %BOOL;
>
62 <!ELEMENT GroupType %GROUPTYPE;
>
64 <!ELEMENT GroupObject (Title,AddInfo?,GroupType,Sending,Receiving,Reading,StateBased)
>
69 <!ELEMENT PropertyType %GROUPTYPE;
>
70 <!ELEMENT PropertyId %INT;
>
71 <!ELEMENT ObjectIndex %INT;
>
72 <!ELEMENT Writeable %BOOL;
>
73 <!ELEMENT MaxArrayLength %INT;
>
75 <!ELEMENT Property (Title,AddInfo?,PropertyType,ObjectIndex,PropertyId,Writeable,MaxArrayLength)
>
80 <!ELEMENT Unit %STRING;
>
82 <!ELEMENT ListElement %STRING;
>
86 <!ELEMENT ListDefault EMPTY
>
91 <!ELEMENT ListParameter (Title,AddInfo?,ListDefault,ListElement+,Unit?)
>
92 <!ATTLIST ListParameter
96 <!ELEMENT MinValue %FLOAT;
>
97 <!ELEMENT MaxValue %FLOAT;
>
98 <!ELEMENT DefaultValue %FLOAT;
>
100 <!ELEMENT Precision %FLOAT;
>
101 <!ELEMENT Increment %FLOAT;
>
103 <!ELEMENT IntParameter (Title,AddInfo?,MinValue,MaxValue,Default,Unit?,Precision?,Increment?)
>
104 <!ATTLIST IntParameter
107 <!ELEMENT FloatParameter (Title,AddInfo?,MinValue,MaxValue,Default,Unit?,Precision?,Increment?)
>
108 <!ATTLIST FloatParameter
112 <!ELEMENT MaxLength %INT;
>
113 <!ELEMENT RegExp %STRING;
>
114 <!ELEMENT Default %STRING;
>
116 <!ELEMENT StringParameter (Title,AddInfo?,Default,RegExp?,MaxLength,Unit?)
>
117 <!ATTLIST StringParameter
121 <!ELEMENT DPType %DPTYPE;
>
122 <!ELEMENT Abbreviation %STRING;
>
123 <!ELEMENT GroupTitle %STRING;
>
124 <!ELEMENT InvisibleIf %STRING;
>
126 <!ELEMENT Reference EMPTY
>
128 idref IDREF #REQUIRED
132 <!ELEMENT Interface (DPType,Abbreviation,Title?,AddInfo?,GroupTitle?,InvisibleIf?,Reference+)
>
137 <!ELEMENT ProfileID %FBTYPE;
>
139 <!ELEMENT FunctionalBlock (ProfileID,Title,AddInfo?,Interface*)
>
140 <!ATTLIST FunctionalBlock
145 <!ELEMENT Parameter (ListParameter|IntParameter|FloatParameter|StringParameter)+
>
146 <!ELEMENT ProgramID %STRING;
>
148 <!ELEMENT DeviceDesc (ProgramID,Description,FunctionalBlock+,(GroupObject|Property|PollingMaster|PollingSlave)*,Parameter?)
>
150 version %IDSTRING; #REQUIRED