Document Type Definition (DTD) for Generated XML Documents 

XML documents are generated for each browser-based PI sheet and each process manufacturing cockpit. The DTD file "PMC_DTD_DATA.DTD", whose structure is illustrated below, is valid for these XML documents. The document type definition describes which elements within the XML document refer to each other.

<!DOCTYPE DOCUMENT [

<!ELEMENT DOCUMENT ( LABEL, HEADER, CONTENT ) >
<!ATTLIST DOCUMENT id NMTOKEN #REQUIRED >
<!ATTLIST DOCUMENT mode ( simulation | test ) #IMPLIED >

<!ELEMENT HEADER ( META* , PHASE* ) >

<!ELEMENT META ( LABEL , VALUE ) >
<!ATTLIST META domain NMTOKEN #REQUIRED > <!-- CHARACTERISTIC -->

<!ELEMENT CONTENT ( PHASE* ) >

<!ELEMENT PHASE ( LABEL? , INSTRUCTION* ) >
<!ATTLIST PHASE id NMTOKEN #REQUIRED >

<!ELEMENT INSTRUCTION ( LINE* | ( INPUT | OUTPUT | CALCULATION | EXECUTE | TEXTINPUT | TEXTOUTPUT | SIGNATURE )* ) >
<!ATTLIST INSTRUCTION id NMTOKEN #REQUIRED >
<!ATTLIST INSTRUCTION type ( simple | repeat ) #REQUIRED >
<!ATTLIST INSTRUCTION category NMTOKEN #REQUIRED >
<!ATTLIST INSTRUCTION min NMTOKEN #IMPLIED >
<!ATTLIST INSTRUCTION max NMTOKEN #IMPLIED >

<!ELEMENT LINE ( ( INPUT | OUTPUT | CALCULATION | EXECUTE | TEXTINPUT | TEXTOUTPUT | SIGNATURE )* ) >

<!ELEMENT INPUT ( LABEL?, TIP?, HELPVALUE* ) >
<!ATTLIST INPUT id NMTOKEN #REQUIRED >
<!ATTLIST INPUT domain NMTOKEN #REQUIRED >
<!ATTLIST INPUT format NMTOKEN #REQUIRED >
<!ATTLIST INPUT lenvis NMTOKEN #REQUIRED >
<!ATTLIST INPUT lendef NMTOKEN #REQUIRED >
<!ATTLIST INPUT vhelp ( true | false ) "false" > <!-- value help defined -->
<!ATTLIST INPUT check ( true | false ) "false" > <!-- input validation -->

<!ELEMENT OUTPUT ( LABEL?, TIP?, VALUE? ) >
<!ATTLIST OUTPUT id NMTOKEN #REQUIRED >
<!ATTLIST OUTPUT domain NMTOKEN #REQUIRED >
<!ATTLIST OUTPUT format NMTOKEN #REQUIRED >
<!ATTLIST OUTPUT lenvis NMTOKEN #REQUIRED >
<!ATTLIST OUTPUT lendef NMTOKEN #REQUIRED >
<!ATTLIST OUTPUT constant ( true | false ) "false" > <!-- constant value -->

<!ELEMENT CALCULATION ( LABEL?, TIP? )>
<!ATTLIST CALCULATION id NMTOKEN #REQUIRED >
<!ATTLIST CALCULATION domain NMTOKEN #REQUIRED >
<!ATTLIST CALCULATION format NMTOKEN #REQUIRED >
<!ATTLIST CALCULATION lenvis NMTOKEN #REQUIRED >
<!ATTLIST CALCULATION lendef NMTOKEN #REQUIRED >

<!ELEMENT EXECUTE ( LABEL? )>
<!ATTLIST EXECUTE id NMTOKEN #REQUIRED >
<!ATTLIST EXECUTE function NMTOKEN #REQUIRED >
<!ATTLIST EXECUTE ondisplay ( true | false ) "false" >

<!ELEMENT TEXTINPUT ( LABEL?, TIP? ) >
<!ATTLIST TEXTINPUT id NMTOKEN #REQUIRED >
<!ATTLIST TEXTINPUT domain NMTOKEN #REQUIRED >
<!ATTLIST TEXTINPUT vhelp ( true | false ) "false" >
<!ATTLIST TEXTINPUT check ( true | false ) "false" >

<!ELEMENT TEXTOUTPUT ( LABEL?, TIP?, VALUE? ) >
<!ATTLIST TEXTOUTPUT id NMTOKEN #REQUIRED >
<!ATTLIST TEXTOUTPUT domain NMTOKEN #REQUIRED >
<!ATTLIST TEXTOUTPUT constant ( true | false ) "false" >

<!ELEMENT SIGNATURE ( LABEL?, TIP?, HELPVALUE* ) >
<!ATTLIST SIGNATURE id NMTOKEN #REQUIRED >
<!ATTLIST SIGNATURE domain NMTOKEN #REQUIRED >
<!ATTLIST SIGNATURE format NMTOKEN #REQUIRED >
<!ATTLIST SIGNATURE lenvis NMTOKEN #REQUIRED >
<!ATTLIST SIGNATURE lendef NMTOKEN #REQUIRED >
<!ATTLIST SIGNATURE strategy ( true | false ) "false" >
<!ATTLIST SIGNATURE vhelp ( true | false ) "false" >
<!ATTLIST SIGNATURE check ( true | false ) "false" >

<!ELEMENT LABEL ( #PCDATA )>

<!ELEMENT TIP ( #PCDATA )>

<!ELEMENT HELPVALUE ( #PCDATA )>

<!ELEMENT VALUE ( #PCDATA )>

]>