Files
qt5-legatus-legacy/Lts/Viewer/SituationMap/GeometryModel/geometry_model.dtd
T
2026-08-13 18:33:10 +02:00

401 lines
17 KiB
DTD
Executable File

<!--
DTD fuer Plan-Formate
(c)RDE 2009
Stephan Kuhagen
-->
<!--
The Top-Element of the Plan. Defines global variables in the Attributes.
-->
<!ELEMENT GeometryModelDocument (GeometryModel|MapSettings) >
<!ELEMENT GeometryModel (dictionarySymbol|ellipse|line|polyline|rectangle|spline|symbol|text|node)>
<!ELEMENT MapSettings EMPTY>
<!--
utm_zone: UTM-zone and band (two digits, one char)
utm_grid: UTM-grid-Square (two chars)
utm_east: UTM-easting-value (int)
utm_north: UTM-northing-value (int)
pe_show_utm: bool to indicate, if the PE should display the UTM-grid
pe_map_saturation: saturation in % of the map in the PE
pe_map_brightness: brightness in % of the map in the PE
pe_map_zoom: zoom-value of the map in the PE
pe_map_rotation: The rotation of the map (double)
pe_map_type: The type of the map (Raster, Vector, Contour, Elevation, RasterElevation)
pe_map_centerx: center-x of the map in the PE
pe_map_centery: center-y of the map in the PE
-->
<!ATTLIST MapSettings
utm_zone CDATA #REQUIRED
utm_grid CDATA #REQUIRED
utm_east CDATA #REQUIRED
utm_north CDATA #REQUIRED
pe_show_utm CDATA #REQUIRED
pe_map_saturation CDATA #REQUIRED
pe_map_brightness CDATA #REQUIRED
pe_map_zoom CDATA #REQUIRED
pe_map_rotation CDATA #REQUIRED
pe_map_type CDATA #REQUIRED
pe_map_centerx CDATA #REQUIRED
pe_map_centery CDATA #REQUIRED
pe_symbol_transparency CDATA #IMPLIED
pe_symbol_fill_type CDATA #IMPLIED
pe_symbol_scale CDATA #IMPLIED>
<!--
A node is a grouping element, which can hold any number of primitives or
other nodes, thus creating a tree.
-->
<!ELEMENT node (dictionarySymbol|ellipse|line|polyline|rectangle|spline|symbol|text|node)*>
<!--
The symbology library provides a symbol dictionary. Each symbol is defined by a list of coordinates and one non-ambiguous SIDC code. The SIDC
is a string with 15 character. See symbology library for further details.
-->
<!ELEMENT dictionarySymbol (point+)>
<!ATTLIST dictionarySymbol
GuiDisplayName CDATA #IMPLIED
SIDC CDATA #REQUIRED
SIDC_Norm CDATA #REQUIRED >
<!--
Defines ellipsis and circles. Can have start-angle and extent for sections of
circles/ellipsis. The point defines the center of the primitive. The
Attributes width and height define the metric dimensions, resulting in a
centered bounding box. The primitive can be rotated with attribute
rotate. Start-angle and extent are defined for the axis-parallel bounding-box
and are rotated with the box. Rotation is done around the center-point.
The optional text-tag is used for text directly assigned to this primitive.
-->
<!ELEMENT ellipse (point,text?)>
<!--
width: The metric width of the ellipse.
height: The metric height of the ellipse.
rotate: The bounding rectangle, that defines the ellipse is rotated according
to the angle here (360° for full rotation). Double-Value.
start: Sets the start-angle of an open ellipse before (!) rotation. Double-Value.
extent: Sets the extent of the ellipse. For a full ellipse this must be
360. Double-Value.
color: Color in 32-Bit hex RGBA (#RRGGBBAA)
linewidth: Line-width. Double-Value.
linestyle: An enum defining the line-style
fill: A bool, if true, the primitive should be filled with the given color and pattern.
fill_color: Fill-Color in 32-Bit hex RGBA (#RRGGBBAA)
fill_pattern: An enum defining the fill-pattern.
fill_style: An enum defining the style for a filles ellipse:
- "chord": A straight line between the start-point and end-point
defines the inner region to be filled.
- "pieslice": A line from the start-point to the center and from the
center to the end-point define the inner region to be filled.
-->
<!ATTLIST ellipse
GuiDisplayName CDATA #IMPLIED
rotate CDATA #IMPLIED
width CDATA #REQUIRED
height CDATA #REQUIRED
start CDATA #IMPLIED
extent CDATA #IMPLIED
color CDATA #REQUIRED
linewidth CDATA #REQUIRED
linestyle (solid|dashed|dotted|dashed_dotted) #IMPLIED
fill CDATA #IMPLIED
fill_color CDATA #IMPLIED
fill_pattern (none|dots|hor1|hor2|ver1|ver2|diag1|diag2|solid) #IMPLIED
fill_style (chord|pieslice) #IMPLIED>
<!--
Defines a line with start- and endpoint.
The optional text-tag is used for text directly assigned to this primitive.
-->
<!ELEMENT line (point,point,text?)>
<!--
color: Color in 32-Bit hex RGBA (#RRGGBBAA)
arrows: Enum defining, if and where to add arrows to the line.
arrow_height: The height of the arrow from the arrow-head to the outer points,
parallel to the middle axis of the arrow.
arrow_clamp_height: The height from the the arrow-neck to the outer points,
parallel to the middle axis of the arrow.
arrow_width: The distance between the outer points of the arrow.
arrow_line_width: The line width of the line used to draw the arrow.
linewidth: Line-width. Double-Value.
linestyle: An enum defining the line-style
-->
<!ATTLIST line
GuiDisplayName CDATA #IMPLIED
color CDATA #REQUIRED
arrows (none|start|end|both) #IMPLIED
arrow_height CDATA #IMPLIED
arrow_clamp_height CDATA #IMPLIED
arrow_width CDATA #IMPLIED
arrow_line_width CDATA #IMPLIED
linewidth CDATA #REQUIRED
linestyle (solid|dashed|dotted|dashed_dotted) #IMPLIED>
<!--
Defines a polyline with at least three points.
The optional text-tag is used for text directly assigned to this primitive.
-->
<!ELEMENT polyline (point,point,point+,text?)>
<!--
color: Color in 32-Bit hex RGBA (#RRGGBBAA)
linewidth: Line-width. Double-Value.
linestyle: An enum defining the line-style
arrows: Enum defining, if and where to add arrows to the line. If the
primitive is closed, no arrows should be drawn.
arrow_height: The height of the arrow from the arrow-head to the outer points,
parallel to the middle axis of the arrow.
arrow_clamp_height: The height from the the arrow-neck to the outer points,
parallel to the middle axis of the arrow.
arrow_width: The distance between the outer points of the arrow.
arrow_line_width: The line width of the line used to draw the arrow.
close: A bool. If true, connect the start- and end-point.
fill: A bool, if true, the primitive should be filled with the given color and pattern.
fill_color: Fill-Color in 32-Bit hex RGBA (#RRGGBBAA)
fill_pattern: An enum defining the fill-pattern.
-->
<!ATTLIST polyline
GuiDisplayName CDATA #IMPLIED
color CDATA #REQUIRED
linewidth CDATA #REQUIRED
linestyle (solid|dashed|dotted|dashed_dotted) #IMPLIED
arrows (none|start|end|both) #IMPLIED
arrow_height CDATA #IMPLIED
arrow_clamp_height CDATA #IMPLIED
arrow_width CDATA #IMPLIED
arrow_line_width CDATA #IMPLIED
close CDATA #REQUIRED
fill CDATA #IMPLIED
fill_color CDATA #IMPLIED
fill_pattern (none|dots|hor1|hor2|ver1|ver2|diag1|diag2|solid) #IMPLIED>
<!--
Defines a rectangle with a center-point and width/height.
The optional text-tag is used for text directly assigned to this primitive.
-->
<!ELEMENT rectangle (point,text?)>
<!--
color: Color in 32-Bit hex RGBA (#RRGGBBAA)
width: The metric width of the rectangle.
height: The metric height of the rectangle.
rotate: The rectangle is rotated according to the angle here (360° for full
rotation). Double-Value.
linewidth: Line-width. Double-Value.
linestyle: An enum defining the line-style
rounding: A percentage-value (double) for round edges
fill: A bool, if true, the primitive should be filled with the given color and pattern.
fill_color: Fill-Color in 32-Bit hex RGBA (#RRGGBBAA)
fill_pattern: An enum defining the fill-pattern.
-->
<!ATTLIST rectangle
GuiDisplayName CDATA #IMPLIED
color CDATA #REQUIRED
width CDATA #REQUIRED
height CDATA #REQUIRED
rotate CDATA #IMPLIED
linewidth CDATA #REQUIRED
linestyle (solid|dashed|dotted|dashed_dotted) #IMPLIED
rounding CDATA #IMPLIED
fill CDATA #IMPLIED
fill_color CDATA #IMPLIED
fill_pattern (none|dots|hor1|hor2|ver1|ver2|diag1|diag2|solid) #IMPLIED>
<!--
Defines a spline with at least three points. The first and the last point
define the endpoints, all other points define the curve between them.
The optional text-tag is used for text directly assigned to this primitive.
-->
<!ELEMENT spline (point,point,point+,text?)>
<!--
color: Color in 32-Bit hex RGBA (#RRGGBBAA)
linewidth: Line-width. Double-Value.
linestyle: An enum defining the line-style
arrows: Enum defining, if and where to add arrows to the line. If the
primitive is closed, no arrows should be drawn.
arrow_height: The height of the arrow from the arrow-head to the outer points,
parallel to the middle axis of the arrow.
arrow_clamp_height: The height from the the arrow-neck to the outer points,
parallel to the middle axis of the arrow.
arrow_width: The distance between the outer points of the arrow.
arrow_line_width: The line width of the line used to draw the arrow.
close: A bool. If true, connect the start- and end-point.
fill: A bool. If true, the primitive should be filled with the given color and
pattern. This also means, that the start-point is automatically
connected to the end-point to get a closed shape to fill.
fill_color: Fill-Color in 32-Bit hex RGBA (#RRGGBBAA)
fill_pattern: An enum defining the fill-pattern.
-->
<!ATTLIST spline
GuiDisplayName CDATA #IMPLIED
color CDATA #REQUIRED
linewidth CDATA #REQUIRED
linestyle (solid|dashed|dotted|dashed_dotted) #IMPLIED
arrows (none|start|end|both) #IMPLIED
arrow_height CDATA #IMPLIED
arrow_clamp_height CDATA #IMPLIED
arrow_width CDATA #IMPLIED
arrow_line_width CDATA #IMPLIED
close CDATA #REQUIRED
fill CDATA #IMPLIED
fill_color CDATA #IMPLIED
fill_pattern (none|dots|hor1|hor2|ver1|ver2|diag1|diag2|solid) #IMPLIED>
<!--
A symbol to display in the plan.
position, offsetx (in Pixel), offsety (in Pixel), direction of movement
-->
<!ELEMENT symbol (point)>
<!--
text_w: Text for symbols text-field w.
text_xy: Text for symbols text-field xy.
text_v: Text for symbols text-field v.
text_t: Text for symbols text-field t.
text_z: Text for symbols text-field z.
text_ef: Text for symbols text-field ef.
text_g: Text for symbols text-field g.
text_h: Text for symbols text-field h.
text_m: Text for symbols text-field m.
text_jklnp: Text for symbols text-field jklnp.
symbol_id: ID of the symbol (int).
force_id: Force-ID of the symbol (int).
abc_protection: Flag for abc_protection (bool).
affil: Enum for affiliation of the symbol.
mobility: Enum for the mobility of the symbol.
w_vbg_et: Enum for tactical state of the symbol. Corresponds to enum w_vbg_et
in zskssmal_teilnehmer.h.
rotate: The Symbol is rotated according
to the angle here (360° for full rotation). Double-Value.
-->
<!ATTLIST symbol
GuiDisplayName CDATA #IMPLIED
text_w CDATA #IMPLIED
text_xy CDATA #IMPLIED
text_v CDATA #IMPLIED
text_t CDATA #IMPLIED
text_z CDATA #IMPLIED
text_ef CDATA #IMPLIED
text_g CDATA #IMPLIED
text_h CDATA #IMPLIED
text_m CDATA #IMPLIED
text_jklnp CDATA #IMPLIED
symbol_id CDATA #IMPLIED
symbol_offsetX CDATA #IMPLIED
symbol_offsetY CDATA #IMPLIED
symbol_direction CDATA #IMPLIED
force_id CDATA #IMPLIED
symbol_state CDATA #IMPLIED
symbol_uncertainty CDATA #IMPLIED
damage_force_id CDATA #IMPLIED
abc_protection CDATA #IMPLIED
affil (unknown|friend|neutral|enemy) #REQUIRED
mobility (wheel|wheel_all_terrain|chain|chain_all_terrain|trailer|train) #REQUIRED
w_vbg_et (einsatzbereit|treffer_ohne_wirkung|annaehender_treffer|zeitlicher_ausfall|leichter_treffer|mittlerer_treffer|schwerer_treffer|bewegungsunfaehig|bewegungsunfaehig_sichtb|ausfall_waffenanlage|ausfall_waffenanlage_sichtb|totalausfall) #REQUIRED
rotate CDATA #IMPLIED>
<!--
A one-line or multiline-text with optional background and frame.
If used as a child to another primitive, the point position of the text is
ignored. The alignment attributes define the text-position in relation to the
primitive instead.
-->
<!ELEMENT text (point,text_data)>
<!--
anchor_horizontal: Horizontal position of the text on its point
anchor_vertical: Vertical position of the text on its point
margin_horizontal: Horizontal margin in Pixels between the texts bounding box and the surrounding frame
margin_vertical: Vertical margin in Pixels between the texts bounding box and the surrounding frame
color: Color in 32-Bit hex RGBA (#RRGGBBAA)
font: Font-Type
font_size: Font-Size. Int.
font_italic: A bool. If true, the font should be italic.
font_bold: A bool. If true, the font should be bold.
box: A bool, if true, the primitive should be filled with the given color and pattern.
linewidth: Line-width for the box. Double-Value.
linestyle: An enum defining the line-style for the box.
linecolor: Color in 32-Bit hex RGBA (#RRGGBBAA) for the outline of the box.
fill: A bool, if true, the box should be filled with the given color and pattern.
fill_color: Fill-Color for the box in 32-Bit hex RGBA (#RRGGBBAA)
fill_pattern: An enum defining the fill-pattern for the box.
rotate: The bounding rectangle, that defines the ellipse is rotated according
to the angle here (360° for full rotation). Double-Value.
-->
<!ATTLIST text
GuiDisplayName CDATA #IMPLIED
anchor_horizontal (left|center|right) #REQUIRED
anchor_vertical (top|center|bottom) #REQUIRED
margin_horizontal CDATA #IMPLIED
margin_vertical CDATA #IMPLIED
color CDATA #REQUIRED
font (SansSerif|Serif|Fixed|Decorative) #REQUIRED
font_size CDATA #REQUIRED
font_italic CDATA #IMPLIED
font_bold CDATA #IMPLIED
box CDATA #IMPLIED
linewidth CDATA #IMPLIED
linestyle (solid|dashed|dotted|dashed_dotted) #IMPLIED
linecolor CDATA #IMPLIED
fill CDATA #IMPLIED
fill_color CDATA #IMPLIED
fill_pattern (none|dots|hor1|hor2|ver1|ver2|diag1|diag2|solid) #IMPLIED
rotate CDATA #IMPLIED>
<!--
A tag that contains the actual text-data of a text-tag.
-->
<!ELEMENT text_data (#PCDATA)>
<!--
alignment: If this text contains more than one line, this defines the
alignment of the text in the bounding box of all lines.
-->
<!ATTLIST text_data
alignment (left|center|right) #REQUIRED>
<!--
Defines a point with a double precision x and y-value.
-->
<!ELEMENT point EMPTY>
<!--
x: The x-coordinate of the point.
y: The y-coordinate of the point.
-->
<!ATTLIST point
x CDATA #REQUIRED
y CDATA #REQUIRED>