<!-- dml_header.dtd
DML: Dimensional Markup Language - Version 2.0
This file (DTD) defines the results_header element. This includes
information most often found in an inspection header. Units,
Program name, time inspection starts and stops, vendor name, etc.
-->
<!--
Information about the part/cad model being inspected.
Vendor, serial_no and lot_no are optional.
The transform takes data from the common space for the data set
into the absolute space for this cad model.
-->
<!ELEMENT cad_info (transform_3d?)>
<!ATTLIST cad_info
id ID #REQUIRED
name CDATA #REQUIRED
revision CDATA #REQUIRED
vendor CDATA #IMPLIED
serial_no CDATA #IMPLIED
lot_no CDATA #IMPLIED
>
<!--
Attribute information for inspection program author and machine
operator. id_number is badge, employee number, etc. id_number
and shift are optional.
-->
<!ENTITY % personnel_att "name CDATA #REQUIRED
id_number CDATA #IMPLIED
shift CDATA #IMPLIED">
<!ELEMENT program_author EMPTY>
<!ATTLIST program_author
%personnel_att;
>
<!ELEMENT inspection_machine_operator EMPTY>
<!ATTLIST inspection_machine_operator
%personnel_att;
>
<!--
Information about the part program. Note that units are set here.
URL would be a URL to the program file if one were available.
Program author information is optional.
-->
<!ENTITY % linear_units "linear_units (INCH | FEET | MM | CM | M) #REQUIRED">
<!ENTITY % angular_units "angular_units (DEGREES | RADIANS) #REQUIRED">
<!ELEMENT part_program_info (program_author?)>
<!ATTLIST part_program_info
name CDATA #REQUIRED
revision CDATA #REQUIRED
url CDATA #IMPLIED
tolerance_std (ANSI | ASME | ISO | BIS | JIS | DIN) #REQUIRED
%linear_units;
%angular_units;
>
<!--
Information about the program (software) that acquired the raw data.
-->
<!ELEMENT inspection_program_info EMPTY>
<!ATTLIST inspection_program_info
vendor_name CDATA #REQUIRED
application_name CDATA #REQUIRED
application_version CDATA #REQUIRED
>
<!--
Information about the analysis program (software). This is the program
that generated the analysis results.
-->
<!ELEMENT analysis_program_info EMPTY>
<!ATTLIST analysis_program_info
vendor_name CDATA #REQUIRED
application_name CDATA #REQUIRED
application_version CDATA #REQUIRED
>
<!--
Date and time attribute. ISO 8601 is the reference standard for
date and time string. Specifically, we use the
Complete date plus hours, minutes and seconds" format as defined in:
http://www.w3.org/TR/1998/NOTE-datetime-19980827:
YYYY-MM-DDThh:mm:ssTZD example: 1997-07-16T19:21:30Z
Note: We limit time zone to UTC (Coordinated Universal Time) as
indicated by the "Z" for the time zone designator.
-->
<!ENTITY % date_time_att "date_time CDATA #REQUIRED">
<!--
Elements that specify the inspection start and stop time.
-->
<!ELEMENT inspection_start EMPTY>
<!ATTLIST inspection_start
%date_time_att;
>
<!ELEMENT inspection_end EMPTY>
<!ATTLIST inspection_end
%date_time_att;
>
<!--
Used to record name and location of inspection device.
-->
<!ELEMENT inspection_location EMPTY>
<!ATTLIST inspection_location
name CDATA #REQUIRED
machine CDATA #REQUIRED
>
<!--
Default value specifying whether measured points are compensated.
May be overridden on a point by point basis.
-->
<!ELEMENT compensated_default EMPTY>
<!ATTLIST compensated_default
compensated (YES | NO) #REQUIRED
>
<!--
QIS - Quality Information Systems. Pre-defined quality variables.
-->
<!ELEMENT qis_item EMPTY>
<!ATTLIST qis_item
label CDATA #REQUIRED
type (CUTTER_COMPENSATION_NAME | CLAMP_NAME | CLAMP_SERIAL_NUMBER |
DME_NAME | DME_SOFTWARE_NAME | DME_SOFTWARE_VERSION |
FIXTURE_NAME | FIXTURE_SERIAL_NUMBER | PART_LOT_NAME |
MANUFACTURING_DEVICE_NAME | OPERATOR_NAME | PROCESS_ID |
INSPECTION_PLAN_ID | PART_ID | PART_REVISION_LEVEL |
PART_SERIAL_NUMBER | PREVIOUS_OPERATION | TOOL_USED) #REQUIRED
value CDATA #IMPLIED
>
<!--
QIS - Quality Information Systems. User defined quality variables.
-->
<!ELEMENT qis_def EMPTY>
<!ATTLIST qis_def
label CDATA #REQUIRED
type CDATA #REQUIRED
value CDATA #IMPLIED
>
<!ELEMENT qis_data ((qis_item | qis_def)+)>
<!--
DATE: If used together with the feature, it specifies the date when
the measurement is complete; otherwise it specifies the current date.
DME_OUTPUT_MODE: Signifies that the DME will output the mode (AUTO,MAN,
PROG) in which the feature measurement was made.
HUMIDITY: If used together with the feature, it specifies the relative
humidity when the measurement is complete; otherwise it specifies
the current relative humidity.
TEMPERATURE_*: If used together with the feature, it specifies the
temperature when the measurement is complete; otherwise
it specifies the current temperature.
TEMPERATURE_W_*: If used together with the feature, it specifies the
temperature of the workpiece when the measurement is complete;
otherwise it specifies the current temperature of the workpiece.
TIME: If used together with the feature, it specifies the time when the
measurement is complete; otherwise it specifies the current time.
-->
<!ELEMENT report_item EMPTY>
<!ATTLIST report_item
type (ALGORITHM | DATE | HUMIDITY | DME_OUTPUT_MODE | TEMPERATURE_C |
TEMPERATURE_F | TEMPERATURE_W_C | TEMPERATURE_W_F | TIME) #REQUIRED
value CDATA #IMPLIED
>
<!ELEMENT report_data ((qis_data | report_item)+)>
<!ATTLIST report_data
label CDATA #REQUIRED
value CDATA #IMPLIED
>
<!ELEMENT report_data_list (report_data+)>
<!--
A pass or fail flag:
PASS - Part passed inspection analysis - all tolerances met.
FAIL - One or more tolerances not met.
REWORK - One or more tolerances not met but part can be reworked
such that tolerances can be met (example: hole size
increased).
ERROR - Error occured so part status could not be determined.
NOT_CALCULATED - Analysis has not been performed.
UNKNOWN - Unknown status.
-->
<!ELEMENT error_message (#PCDATA)>
<!ELEMENT part_inspection_status (error_message?)>
<!ATTLIST part_inspection_status
status (PASS | FAIL | REWORK | ERROR | UNKNOWN | NOT_CALCULATED) #REQUIRED
>
<!--
Put it all together: The results header information element.
-->
<!ELEMENT results_header (cad_info+,
part_inspection_status?,
part_program_info,
inspection_program_info?,
analysis_program_info?,
report_data_list?,
compensated_default,
inspection_start,
inspection_end,
inspection_machine_operator?,
inspection_location?)>