<!-- SMLFORMS DTD Version 1.0 -->
<!-- For use with SML Dialog Specifications in XML -->
<!-- MicroImages, Inc. -->

<!-- ======================================= -->
<!--             MAIN ELEMENTS               -->
<!-- ======================================= -->

<!ELEMENT root (dialog | script)* >
<!ELEMENT script (#PCDATA)>
<!ELEMENT dialog (book | pane | groupbox | label | pushbutton |
	togglebutton | colorbutton | edittext | editnumber | radiogroup |
	combobox | menubutton | listbox )*>

<!-- ======================================= -->
<!--             LAYOUT ELEMENTS             -->
<!-- ======================================= -->
	
<!ELEMENT book (page+)>
<!ELEMENT page (book | pane | groupbox | label | pushbutton |
	togglebutton | colorbutton | edittext | editnumber | radiogroup |
	combobox | menubutton | listbox )*>
<!ELEMENT pane (book | pane | groupbox | label | pushbutton |
	togglebutton | colorbutton | edittext | editnumber | radiogroup |
	combobox | menubutton | listbox )*>	
<!ELEMENT groupbox (book | pane | label | pushbutton | togglebutton | colorbutton |
	edittext | editnumber | radiogroup | combobox | menubutton |
	listbox )+>

<!-- ======================================= -->
<!--             CONTROL ELEMENTS            -->
<!-- ======================================= -->
	
<!ELEMENT label (#PCDATA)>
<!ELEMENT pushbutton EMPTY>
<!ELEMENT colorbutton EMPTY>
<!ELEMENT togglebutton EMPTY>
<!ELEMENT edittext EMPTY>
<!ELEMENT editnumber EMPTY>
<!ELEMENT item (#PCDATA)>
<!ELEMENT radiogroup (item*)>
<!ELEMENT combobox (item*)>
<!ELEMENT listbox (item*)>
<!ELEMENT menubutton (item*)>

<!-- ======================================= -->
<!--  COMMON ATTRIBUTE ENTITY DEFINITIONS    -->
<!-- ======================================= -->

<!ENTITY % id "id ID #IMPLIED">
<!ENTITY % Buttons "Buttons (OK | Cancel | Apply | Close | Help ) #IMPLIED">
<!ENTITY % Orientation "Orientation (horizontal | vertical) #IMPLIED">
<!ENTITY % HorizAlign "HorizAlign (Left | Right | Center) #IMPLIED">
<!ENTITY % VertAlign "VertAlign	(Top | Bottom | Center)	#IMPLIED">
<!ENTITY % HorizResize "HorizResize (Expand | Fixed | Relative) #IMPLIED">
<!ENTITY % VertResize "VertResize (Expand | Fixed | Relative) #IMPLIED">
<!ENTITY % ChildSpacing "ChildSpacing CDATA #IMPLIED">
<!ENTITY % ExtraBorder "ExtraBorder CDATA #IMPLIED">
<!ENTITY % WidthGroup "WidthGroup CDATA #IMPLIED">
<!ENTITY % ResourceLookup "ResourceLookup (true | false | yes | no | 1 | 0) #IMPLIED">
<!ENTITY % Enabled "Enabled (true | false | yes | no | 1 | 0) #IMPLIED">
<!ENTITY % Name "Name CDATA #IMPLIED">
<!ENTITY % ReadOnly "ReadOnly (true | false | yes | no | 1 | 0) #IMPLIED">
<!ENTITY % IconList "ADD_BLOCK_RED | ADD_CIRCLE_RED | ADD_CIRCULAR_ARC_RED | ADD_CIRCULAR_ARC_CHORD_RED |
ADD_CIRCULAR_ARC_WEDGE_RED | ADD_CROSSING_LINE_RED | ADD_DASHED_LINE_RED | ADD_ELLIPSE_RED |
ADD_ELLIPTICAL_ARC_RED | ADD_ELLIPTICAL_ARC_CHORD_RED | ADD_ELLIPTICAL_ARC_WEDGE_RED |
ADD_MESH_RED | ADD_NODE_RED | ADD_POINT_RED | ADD_POLYLINE_RED | ADD_POLYGON_RED | ADD_RECTANGLE_RED |
ADD_SOLID_LINE_RED | ADD_TEXT_RED | ADD_VERTEX_RED | BLANK | BULLET_GRAY | BULLET_RED | CHECKBOX_BLACK |
CHECKBOX_DKGRAY | CHECKBOX_EMPTY | CHECKBOX_EMPTY_S | CHECKBOX_RED | CHECKBOX_RED_S | CHECKMARK_BLACK |
COMBINE_AREA_INTERSECT | COMBINE_AREA_SUBTRACT | COMBINE_AREA_UNION | COMBINE_AREA_XOR | CONTROL_ADD_ALL_CYAN |
CONTROL_ADD_CYAN | CONTROL_FAST_FORWARD_CYAN | CONTROL_FAST_REVERSE_CYAN | CONTROL_MAGICWAND_CYAN |
CONTROL_PAUSE_CYAN | CONTROL_PLAY_FORWARD_CYAN | CONTROL_PLAY_REVERSE_CYAN | CONTROL_REFRESH_CYAN |
CONTROL_SKIP_FORWARD_CYAN | CONTROL_SKIP_REVERSE_CYAN | CONTROL_STOP_CYAN | CONTROL_SUBTRACT_ALL_CYAN |
CONTROL_SUBTRACT_CYAN  | CREATE_FILE | CREATE_FILE_MI | CREATE_FOLDER | CREATE_FOLDER_MI | CREATE_OBJECT |
DESKTOP_COMPUTER | DESKTOP_DRIVE_CDROM | DESKTOP_DRIVE_FIXED | DESKTOP_DRIVE_FLOPPY | DESKTOP_DRIVE_NETWORK |
DESKTOP_DRIVE_REMOVABLE | DESKTOP_FILE | DESKTOP_FOLDER_CLOSED | DESKTOP_FOLDER_OPEN | DESKTOP_NETWORK |
DOC_BOOK | DOC_BOOKS | DOC_PAGE | EDIT_APPLY_RED | EDIT_CIRCLESLASH_DKGRAY | EDIT_CIRCLESLASH_RED | EDIT_CONTROLS |
EDIT_COPY | EDIT_CUT | EDIT_DELETE_RED | EDIT_PASTE | EDIT_PENCIL | EDIT_REDO_RED | EDIT_RENAME | EDIT_SELECT_RED |
EDIT_SELECT_RED_SLASH | EDIT_UNDO_RED | ELEMENT_EDGE_CYAN | ELEMENT_LABEL_CYAN | ELEMENT_LINE_CYAN |
ELEMENT_NODE_CYAN | ELEMENT_POINT_CYAN | ELEMENT_POLYGON_CYAN | ELEMENT_TRIANGLE_CYAN | FILE_BROWSE | FILE_NEW |
FILE_OPEN | FILE_RENAME | FILE_SAVE | FILE_SAVEAS | FOLDER_NAVIGATE_OUT | FOLDER_NEW | GRE_GROUP_3D |
GRE_LAYER_GEOFORMULA | GRE_LAYER_MAPGRID | GRE_LAYER_PINMAP | GRE_LAYER_SCALEBAR | GRE_LAYER_SCRIPT |
GRE_LAYER_SKETCH | GRE_LAYER_SURFACE | HELP | HYPER_NAVIGATE_BACK | HYPER_NAVIGATE_HOME | LAYER_ADD_RED |
LAYER_ADD_YELLOW | LAYER_BOTTOM_RED | LAYER_BOTTOM_YELLOW | LAYER_DELETE_ALL_YELLOW | LAYER_DELETE_RED |
LAYER_DELETE_YELLOW | LAYER_DOWN_RED | LAYER_DOWN_YELLOW | LAYER_PLAY_RED | LAYER_TOOL_YELLOW |
LAYER_TOP_RED | LAYER_TOP_YELLOW | LAYER_UP_RED | LAYER_UP_YELLOW | LINE_HORIZONTAL_RED | LINE_WAVY_RED |
LINE_ZIGZAG_RED | LOGO_MI | MATH_MAX | MATH_MEAN | MATH_MIN | MATH_N | MATH_SIGMA | MATH_STDDEV |
MEASURE_CROSS_SECTION | MEASURE_HISTOGRAM | MEASURE_PROFILE | MESSAGES_ERROR | MESSAGES_EXCLAMATION |
MESSAGES_INFORMATION | MESSAGES_QUESTION | MESSAGES_WORK | NAVIGATE_GOTO | NEW_RECORD | RVCOBJ_CAD |
RVCOBJ_COLORPALETTE | RVCOBJ_CONTRAST | RVCOBJ_DATABASE | RVCOBJ_DB_QUERY | RVCOBJ_DB_TABLE |
RVCOBJ_DB_TABLE_INTERNAL | RVCOBJ_DB_TABLE_LINKED | RVCOBJ_DB_TABLE_STANDARD | RVCOBJ_DB_TABLE_STYLE |
RVCOBJ_DISP_GROUP | RVCOBJ_DISP_LAYOUT | RVCOBJ_DISP_SIM3D | RVCOBJ_DISP_TEMPLATE | RVCOBJ_FILE |
RVCOBJ_FOLDER | RVCOBJ_GENERIC | RVCOBJ_GEOREFERENCE | RVCOBJ_HISTOGRAM | RVCOBJ_HYPERSPECTRAL |
RVCOBJ_LEGEND | RVCOBJ_METADATA | RVCOBJ_RASTER | RVCOBJ_RASTER_BLUE | RVCOBJ_RASTER_CYAN | RVCOBJ_RASTER_GRAY |
RVCOBJ_RASTER_GREEN | RVCOBJ_RASTER_HUE | RVCOBJ_RASTER_MAGENTA | RVCOBJ_RASTER_RED | RVCOBJ_RASTER_SATURATION |
RVCOBJ_RASTER_YELLOW | RVCOBJ_REGION | RVCOBJ_SMLSCRIPT | RVCOBJ_STYLE | RVCOBJ_TEXT | RVCOBJ_TIEPOINT |
RVCOBJ_TIN | RVCOBJ_VECTOR | SELECT_MULTI_CYAN | SELECT_ONE_CYAN | SELECT_TOGGLE_CYAN | SELECT_UNDO_CYAN |
SML_CLASS | SML_CLASSMEMBER | SML_CLASSMEMBER_R | SML_CLASSMEMBER_RW | SML_CLASSMEMBER_W | SML_FUNCTION |
SML_STRING | SML_SYNTAX | STYLE_PATTERN_COPY | STYLE_PATTERN_EDIT | STYLE_PATTERN_EDITSET | STYLE_PATTERN_NEW |
STYLE_STYLE_COPY | STYLE_STYLE_NEW | STYLE_VIEW_ICONS | STYLE_VIEW_LIST | TOOLBOX_ARC | TOOLBOX_ARC_CHORD |
TOOLBOX_ARC_WEDGE | TOOLBOX_CIRCLE | TOOLBOX_ELLIPSE | TOOLBOX_POINT | TOOLBOX_POLYGON | TOOLBOX_POLYLINE |
TOOLBOX_RECTANGLE | TOOLBOX_REGION | TOOLBOX_REGULAR_POLYGON | TOOLBOX_SEGMENT | TOOLBOX_TEXT | VIEW_ACTIVE_ELEMENT |
VIEW_ALL_ELEMENTS | VIEW_SELECTED_ELEMENTS | VIEW_TOOL_GEOTOOLBOX | VIEW_TOOL_HYPEREDIT | VIEW_TOOL_HYPERNAVIGATE |
VIEW_TOOL_VIEWINVIEW | VIEW_TOOL_ZOOMBOX | ZOOM_1 | ZOOM_2 | ZOOM_3 | ZOOM_4 | ZOOM_FULL | ZOOM_IN | ZOOM_OUT |
ZOOM_UNDO | TEST_BOGUS">

<!ENTITY % Icon "Icon (%IconList;) #IMPLIED">
<!ENTITY % ToolTip "ToolTip CDATA #IMPLIED">
<!ENTITY % OnChanged "OnChanged CDATA #IMPLIED">
<!ENTITY % OnActivate "OnActivate CDATA #IMPLIED">
<!ENTITY % Width "Width	CDATA #IMPLIED">
<!ENTITY % Height "Height CDATA #IMPLIED">
<!ENTITY % MaxLength "MaxLength	CDATA #IMPLIED">
<!ENTITY % Justify "Justify (left | right) #IMPLIED">
<!ENTITY % Default "Default CDATA #IMPLIED">
<!ENTITY % Sort "Sort (true | false | yes | no | 1 | 0) #IMPLIED">
<!ENTITY % Selected "Selected (true | false | yes | no | 1 | 0) #IMPLIED">
<!ENTITY % OnSelection "OnSelection CDATA #IMPLIED">
<!ENTITY % truefalse "(true | false | yes | no | 1 | 0)">


<!-- ======================================= -->
<!--     ATTRIBUTES FOR DIALOG ELEMENTS      -->
<!-- ======================================= -->

<!ATTLIST dialog %id; %HorizAlign; %VertAlign; %HorizResize; %VertResize; %ChildSpacing;
	%ExtraBorder; %ResourceLookup; %Orientation; %Buttons;
	id		ID		#REQUIRED
	OnApply		CDATA		#IMPLIED
	OnOK		CDATA		#IMPLIED
	OnCancel	CDATA		#IMPLIED
	OnOpen		CDATA		#IMPLIED
	OnClose		CDATA		#IMPLIED
	Title		CDATA		#IMPLIED
	HelpID		CDATA		#IMPLIED
>	
<!ATTLIST script %id;
	language	(SML)		#IMPLIED
	Usage		(standalone | style-point | style-line | style-poly |
			select-point | select-line | select-poly |
			geoformula | macroscript | toolscript )		#IMPLIED
	StrictSyntax	%truefalse;	#IMPLIED
>
<!ATTLIST book %id; %HorizAlign; %VertAlign; %HorizResize; %VertResize; %ChildSpacing;
	%ExtraBorder; %ResourceLookup;
>
<!ATTLIST page %id; %Orientation; %ResourceLookup; %Name;
	OnSetActive	CDATA		#IMPLIED
>
<!ATTLIST pane %id; %HorizAlign; %VertAlign; %HorizResize; %VertResize; %ChildSpacing;
	%ExtraBorder; %ResourceLookup; %Orientation;
	>
<!ATTLIST groupbox %id; %HorizAlign; %VertAlign; %HorizResize; %VertResize; %ChildSpacing;
	%ExtraBorder; %ResourceLookup; %Orientation; %Enabled; %Name;
>
<!ATTLIST label %id; %HorizAlign; %VertAlign; %HorizResize; %VertResize;
	%ResourceLookup; %WidthGroup; %Enabled;
	TextAlign	(LeftNoWrap | Left | Center | Right)	#IMPLIED
>
<!ATTLIST pushbutton  %id; %HorizAlign; %VertAlign; %HorizResize; %VertResize;
	%ResourceLookup; %WidthGroup; %Enabled; %Name; %Icon; %ToolTip;
	OnPressed	CDATA		#IMPLIED
>
<!ATTLIST colorbutton %id; %HorizAlign; %VertAlign; %HorizResize; %VertResize; %WidthGroup; 
	%Enabled; %ReadOnly;
	AllowTransparent %truefalse;  #IMPLIED
	OnChangeColor	CDATA		#IMPLIED
>
<!ATTLIST togglebutton %id; %HorizAlign; %VertAlign; %HorizResize; %VertResize;
	%ResourceLookup; %WidthGroup; %Enabled; %Name; %Icon; %ToolTip; %OnChanged; %Selected;
	Type	(check | radio)		#IMPLIED
>
<!ATTLIST edittext %id; %HorizAlign; %VertAlign; %HorizResize; %VertResize;
	%ResourceLookup; %WidthGroup; %Enabled; %ReadOnly; %OnChanged; %OnActivate;
	%Width; %MaxLength; %Justify;
	Opaque	%truefalse;  #IMPLIED
>	
<!ATTLIST editnumber %id; %HorizAlign; %VertAlign; %HorizResize; %VertResize;
	%ResourceLookup; %WidthGroup; %Enabled; %ReadOnly; %OnChanged; %OnActivate;	
	%Width; %MaxLength; %Justify; %Default;
	MinVal	CDATA	#IMPLIED
	MaxVal	CDATA	#IMPLIED
	AddOne	%truefalse;	#IMPLIED
	BlankZero %truefalse;	#IMPLIED
	Format (Decimal | Exponential | Latitude | Longitude | DegMinSec)	#IMPLIED
	Precision	CDATA	#IMPLIED
>
<!ATTLIST radiogroup %id; %HorizAlign; %VertAlign; %HorizResize; %VertResize;
	%ResourceLookup; %WidthGroup; %Enabled; %Orientation; %Default; %OnSelection;
>
<!ATTLIST item %ResourceLookup; %Icon; %Selected;
	Value	CDATA	#IMPLIED
>
<!ATTLIST combobox %id; %HorizAlign; %VertAlign; %HorizResize; %VertResize;
	%ResourceLookup; %WidthGroup; %Enabled; %Default; %Width; %Height; %Sort; %OnSelection;
>
<!ATTLIST listbox %id; %HorizAlign; %VertAlign; %HorizResize; %VertResize; %ResourceLookup; 
	%WidthGroup; %Enabled; %Default;%Width; %Height; %Sort;
	OnChangeSelection	CDATA			#IMPLIED
	SelectStyle	(single | multi | extended)	#IMPLIED
>
<!ATTLIST menubutton %id; %HorizAlign; %VertAlign; %HorizResize; %VertResize; %ResourceLookup; 
	%WidthGroup; %Enabled; %Name; %Icon; %ToolTip; %OnSelection;
	OnMenuPopup	CDATA	#IMPLIED
>

