!--a11y-->
Definición de tipos de documentos (DTD) para documentos XML 
Se crean documentos XML para todas las instrucciones de producción basadas en browser y todos los cockpits de fabricación por procesos. El fichero DTD "PMC_DTD_DATA.DTD", cuyo estructura se ilustra a continuación, es válido para estos documentos XML.
Definición de tipos de documento describe la referencia recíproca de los elementos que se encuentran en el documento XML.<!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 -
<!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 )>
]>