<!-- ================================================================================= -->
<!-- File Name : nndef_v1_0.dtd -->
<!-- Document Type : NNDEF (NN definition Markup Language) -->
<!-- Creation date : November 22, 2003 -->
<!-- Last Modification : December 17, 2003 -->
<!-- Comments : Copyright 2003 Pejman Makhfi -->
<!-- ================================================================================= -->
<!-- DISCLAIMER: THIS WORK
IS PROVIDED "AS IS." THE COPYRIGHT HOLDER AND THE -->
<!-- CONTRIBUTING
AUTHORS OF THIS WORK MAKE NO REPRESENTATIONS OR WARRANTIES (i) -->
<!--
EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, WARRANTIES OF
MERCHANTABILITY, -->
<!-- FITNESS FOR A PARTICULAR PURPOSE, TITLE OR
NON-INFRINGEMENT; (ii) THAT THE -->
<!-- CONTENTS OF SUCH WORK ARE FREE
FROM ERROR OR SUITABLE FOR ANY PURPOSE; NOR THAT -->
<!--
IMPLEMENTATION OF SUCH CONTENTS WILL NOT INFRINGE ANY THIRD PARTY PATENTS,
-->
<!-- COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS. IN NO EVENT WILL THE
COPYRIGHT HOLDER -->
<!-- AND THE CONTRIBUTORS TO THIS WORK BE LIABLE
TO ANY PARTY FOR ANY DIRECT, -->
<!-- INDIRECT, SPECIAL OR
CONSEQUENTIAL DAMAGES FOR ANY USE OF THIS WORK, INCLUDING, -->
<!--
WITHOUT LIMITATION, ANY LOST PROFITS, BUSINESS INTERRUPTION, LOSS OF PROGRAMS OR
-->
<!-- OTHER DATA ON YOUR INFORMATION HANDLING SYSTEM OR OTHERWISE,
EVEN IF THE -->
<!-- COPYRIGHT HOLDER OR ANY CONTRIBUTORS TO THIS WORK
IS EXPRESSLY ADVISED OF THE -->
<!-- POSSIBILITY OF SUCH DAMAGES.
-->
<!-- Permission to use and
distribute the NNDEF DTD and its accompanying documentation -->
<!--
for any purpose and without fee is hereby granted in perpetuity, provided that
-->
<!-- the above copyright notice and this paragraph appear in all
copies. -->
<!-- The copyright holders make no representations about
the suitability of the DTD -->
<!-- for any purpose. -->
<!-- ============================= Entity definitions ============================== -->
<!ENTITY % EXT.COMBINATIONFUNCTION "">
<!ENTITY % EXT.TRANSFERFUNCTION "">
<!--
=================================================================================
netsum
- sum of all inputs
dist - Distance function, used by
RBF
======================================================================================
-->
<!ENTITY % COMBINATIONFUNCTION
"(
netsum|
dist|
%EXT.COMBINATIONFUNCTION;
)">
<!--
=================================================================================
hardlim
- Hard limit or Threshold 0 to 1
hardlims - Symmetric hard limit or Threshold
-1 to 1
satlin - Saturating linear 0 to 1
satlins - Symmetric saturating
linear -1 to 1
purelin - Linear transfer function -inf to
+inf
logsig - Log sigmoid 0 to 1
tansig - Hyperbolic tangent sigmoid
-1 to 1
radbas - Radial basis function 0 to 1
compet - Competitive
function, what is the output? Used by
PNN
======================================================================================
-->
<!ENTITY % TRANSFERFUNCTION
"(
hardlim|
hardlims|
satlin|
satlins|
purelin|
logsig|
tansig|
radbas|
compet|
%EXT.TRANSFERFUNCTION;
)">
<!--
<!ENTITY
% EXT.COMBINATIONFUNCTION "">
<!ENTITY %
EXT.TRANSFERFUNCTION "">
-->
<!ENTITY % INT "CDATA"
>
<!-- content must be an integer, no fractions or exponent
-->
<!ENTITY % REAL "CDATA">
<!-- covering 'float', long and
'double' -->
<!ENTITY % PERCENTAGE "CDATA">
<!-- a REAL
between 0.0 and 100.0 -->
<!ENTITY % STRING "CDATA" >
<!--
Regular String content -->
<!ENTITY % DATE "CDATA">
<!-- DATE
in the following format: MM/DD/YYYY -->
<!ENTITY % DATETIME
"CDATA">
<!-- DATE and TIME in the following format: MM/DD/YYYY HH:MM
-->
<!ELEMENT NNDEF (Network,
Layer+)>
<!ATTLIST NNDEF
version CDATA #FIXED
'1.0'
>
<!ELEMENT Network (Extension*,Name,Description,CreatedOn,Author,InputList?,OutputList?)>
<!-- AutoScale is used only
for linear scaling -->
<!ATTLIST Network
Type (MLP|RBF) #IMPLIED
Layers %INT; #IMPLIED
Inputs %INT; #IMPLIED
Outputs %INT;
#IMPLIED
AutoScale (on|off) #IMPLIED
>
<!ELEMENT Name
(#PCDATA)>
<!ELEMENT Description (#PCDATA)>
<!ELEMENT
CreatedOn (#PCDATA)>
<!ELEMENT Author
(
Name,
Contact)
>
<!ELEMENT Contact
(#PCDATA)>
<!ATTLIST Contact
Type CDATA #IMPLIED
>
<!ELEMENT InputList
(Input+)>
<!ELEMENT OutputList (Output+)>
<!ELEMENT Input
(Option*)>
<!ATTLIST Input
OrderId %INT; #IMPLIED
Name CDATA
#IMPLIED
ScaleOffset %REAL; #IMPLIED
ScaleBy %REAL;
#IMPLIED
>
<!ELEMENT Option
EMPTY>
<!ATTLIST Option
ActualValue CDATA #IMPLIED
TransValue
%REAL; #IMPLIED
>
<!ELEMENT Output
(Option*)>
<!ATTLIST Output
OrderId %INT; #IMPLIED
Name CDATA
#IMPLIED
ScaleOffset %REAL; #IMPLIED
RescaleBy %REAL;
#IMPLIED
>
<!ELEMENT Layer
(Extension*, Neuron+)>
<!ATTLIST Layer
OrderId %INT;
#IMPLIED
TransferFunction %TRANSFERFUNCTION; #IMPLIED
CombinationFunction
%COMBINATIONFUNCTION; #IMPLIED
>
<!ELEMENT Neuron
(Extension*, InputWeights, Bias)>
<!ATTLIST Neuron
OrderId %INT;
#IMPLIED
TransferFunction %TRANSFERFUNCTION; #IMPLIED
CombinationFunction
%COMBINATIONFUNCTION; #IMPLIED
>
<!ELEMENT InputWeights (Weight+)>
<!ELEMENT Weight
(#PCDATA)>
<!ATTLIST Weight
OrderId %INT; #IMPLIED
Value %REAL;
#IMPLIED
>
<!ELEMENT Bias
(#PCDATA)>
<!ATTLIST Bias
Value %REAL; #IMPLIED
>
<!ELEMENT Extension
ANY>
<!ATTLIST Extension
name CDATA #IMPLIED
type CDATA
#IMPLIED
value CDATA #IMPLIED
>