XML Belief Network File Format: XBN Format DTD
This is the complete Document Type Description file for the XBN file format.
<!-- DTD for sets of belief network models -->
<!ELEMENT ANALYSISNOTEBOOK (BNMODEL)+>
<!ATTLIST ANALYSISNOTEBOOK
NAME ID #REQUIRED
ROOT IDREF #IMPLIED
FILENAME CDATA #IMPLIED>
<!-- a single belief network -->
<!ELEMENT BNMODEL ( STATICPROPERTIES
| DYNAMICPROPERTIES
| VARIABLES
| STRUCTURE
| DISTRIBUTIONS
)+>
<!ATTLIST BNMODEL NAME ID #REQUIRED>
<!-- comment element declarations -->
<!ELEMENT COMMENT (#PCDATA)>
<!ELEMENT PROPVALUE (#PCDATA)>
<!ELEMENT STATENAME (#PCDATA)>
<!ELEMENT PROPERTY (PROPVALUE)+>
<!ATTLIST PROPERTY NAME NMTOKEN #REQUIRED>
<!ELEMENT PROPXML (#PCDATA)>
<!ATTLIST PROPXML NAME NMTOKEN #REQUIRED>
<!-- static header declaration section -->
<!ELEMENT STATICPROPERTIES (#PCDATA | FORMAT | VERSION | CREATOR )*>
<!ELEMENT FORMAT EMPTY>
<!ATTLIST FORMAT VALUE CDATA "MSR DTAS XML">
<!ELEMENT VERSION EMPTY>
<!ATTLIST VERSION VALUE CDATA #REQUIRED>
<!ELEMENT CREATOR EMPTY>
<!ATTLIST CREATOR VALUE CDATA #IMPLIED>
<!-- dynamic properties declaration section -->
<!ELEMENT DYNAMICPROPERTIES (PROPERTYTYPE|PROPERTY|PROPXML)+>
<!ELEMENT PROPERTYTYPE (COMMENT)?>
<!ATTLIST PROPERTYTYPE
NAME NMTOKEN #REQUIRED
ENUMSET NMTOKENS #IMPLIED
TYPE (real | string | realarray | stringarray | enumeration) "string">
<!-- random variables declaration section -->
<!ELEMENT VARIABLES (VAR)+>
<!ELEMENT VAR ( STATENAME | PROPERTY | PROPXML | DESCRIPTION )+>
<!ATTLIST VAR
TYPE (discrete | continuous) "discrete"
NAME NMTOKEN #REQUIRED
XPOS CDATA #IMPLIED
YPOS CDATA #IMPLIED>
<!ELEMENT DESCRIPTION (#PCDATA)>
<!-- topological dependency structure information -->
<!ELEMENT STRUCTURE (ARC|MEMBER)*>
<!-- specify dependency arc -->
<!ELEMENT ARC EMPTY>
<!ATTLIST ARC
PARENT NMTOKEN #REQUIRED
CHILD NMTOKEN #REQUIRED>
<!-- specify set inclusion for parentless variables -->
<!ELEMENT MEMBER EMPTY>
<!ATTLIST MEMBER NAME NMTOKEN #REQUIRED>
<!-- distributions -->
<!ELEMENT DISTRIBUTIONS (DIST)*>
<!ELEMENT DIST ( (CONDSET)?, ( ( (PRIVATE|SHARED), DPIS) | REFERENCE ) )*>
<!ATTLIST DIST
TYPE (discrete|ci) "discrete"
FUNCTYPE (max|plus) #IMPLIED>
<!-- conditioning set declaration -->
<!ELEMENT CONDSET (CONDELEM)*>
<!ELEMENT CONDELEM EMPTY>
<!ATTLIST CONDELEM
NAME NMTOKEN #REQUIRED
STATES CDATA #IMPLIED>
<!-- private/shared declarations -->
<!ELEMENT PRIVATE EMPTY>
<!ATTLIST PRIVATE NAME NMTOKEN #REQUIRED>
<!ELEMENT SHARED EMPTY>
<!ATTLIST SHARED
NAME NMTOKEN #REQUIRED
STATES CDATA #IMPLIED>
<!-- discrete parent instantiation probability vectors -->
<!ELEMENT DPIS (DPI)*>
<!ELEMENT DPI (#PCDATA)>
<!ATTLIST DPI INDEXES NMTOKENS #IMPLIED>
<!-- distribution reference (binding) declaration -->
<!ELEMENT REFERENCE EMPTY>
<!ATTLIST REFERENCE
VAR NMTOKEN #REQUIRED
SHAREDDIST NMTOKEN #REQUIRED>