XML Belief Network File Format: XBN Format DTD


XBN.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>