Attribute Types
All of the elements in the FypML namespace possess a number of defining attributes which (if explicit) appear in the element's "start" tag. In FypML, the set of supported attributes fall into a number of attribute classes. Each attribute class defines a "value space", the set of allowed values for any attribute in that class. This section describes the attribute types employed in FypML; with only a few exceptions, every attribute falls into one of these classes. On the Attributes page we will use these class names to indicate each attribute's type.
StringToken : Any string of printable ASCII characters with no leading or trailing whitespace. The string may not contain any tabs ("\u0009") or carriage returns ("\u000D"), but in certain cases it may contain line feed characters ("\u000A"). Non-ASCII characters may be included in the string using a Unicode escape sequence (eg, "\u00A9" = ©). An empty string is a valid StringToken. FypML only supports a very small portion of the entire Unicode character set. If the string token includes an unsupported character, that character will be replaced by a question mark ('?').
RestrictedStringToken : A StringToken restricted to the set of strings that satisfy a regular expression. In the description of a specific attribute of this type, the regular expression is included in parentheses: RestrictedStringToken( regex ).
Boolean : Admits only "true" or "false" as valid values.
Enumerated : A "multiple-choice" attribute value; it can only take on one from a very limited set of values. In the description of a specific attribute of this type, the set of allowed choices for an enumerated attribute is typically listed in parentheses: Enumerated( val1, val2, ... ).
Adornment : This is really an Enumerated attribute type. Its value space consists of the names of all end-cap adornments or symbol markers supported in DataNav, as illustrated in the figure on the right. For scalability, all markers are designed in a 1x1 "unit box". When rendered, the center of that design box coincides with the marker's target location. The symbols in the upper half of the figure are all centered within the unit box. All of the arrow-shaped symbols in the lower half are designed so that the arrow's "tip" lies at the center of the design box; that is why they are best-suited as end-cap adornments on a line segment or calibration bar, or as the data point symbols on a "compass plot" (a polar histogram with zero bar width).RGBColor : An RGB color, with or without an explicit alpha transparency component. It may be specified in 3 distinct forms: (1) A 6-digit hexadecimal string representing an opaque RGB color, where the first two hex digits encode red luminance, the next two encode green, and the last two encode blue -- "RRGGBB". For example, medium red is "800000", cyan is "00FFFF", and white is "FFFFFF". (2) An 8-digit hexadecimal string representing an RGB color with an explicit alpha component to support translucent colors -- "AARRGGBB". In this case, the first two digits represent the color's alpha component (FF = opaque, 00 = transparent). (3) The value "none", representing a fully transparent color, has been kept for backward compatibility. Some color attributes may require an opaque color.
BackFill : Attribute value type for the bkg attribute, specifying how to paint the background of the graphic object. It was introduced to support axial and radial gradient fills as well as solid-color fills. The string value contains 1, 3 or 4 tokens separated by whitespace. If there's a single token, then it must be an RGBColor identifying the color for a uniform fill. Three tokens defines an axial gradient fill "A C1 C2", where A is an integer string defining the angle of the gradient with respect to the bounding box of the target object. C1 and C2 are RGBColors (opaque colors only) specifying the color "stops" at each end of the gradient. By convention, the gradient is configured to just span the target object's bounding box. Finally, a 4-token string value defines a radial gradient fill "FX FY C1 C2". Here, (FX,FY) are the relative coordinates of the gradient's focal point in the target object's bounding box, expressed as a percentage of its width and height (integers restricted to [0..100]. C1 is the opaque RGBColor at the focal point, while C2 is the opaque RGBColor at the perimeter of the circle that just circumscribes the bounding box. For both kinds of gradient fills, the R/G/B color components vary linearly from C1 to C2.
Integer, Float : An attribute value that may be parsed as an integer or a floating-point number, respectively. It may optionally have a restricted range of allowed values. In the detailed attribute descriptions, any range restriction is indicated in brackets, e.g.: Float[-10 .. 10], Integer[1 .. +max_int].
IntegerList, FloatList : An attribute value that is parsed as a list of one or more whitespace-separated tokens, each of which represents an integer or floating-point number.
Measure : An attribute value representing a measurement (width, distance, offset relative to another object, and so on), including the unit of measure. The value consists of a floating-point number followed by one of the supported unit tokens: in, cm, mm, pt, %, or u. The first four are all unambiguous, physical units of measure. The % token is used often to specify a measurement relative to the viewport of a containing element. For example, a graph's dimensions may be specified as percentages of the containing figure's bounding box -- so the graph will resize whenever the figure is resized. The u token refers to "user" units, i.e., the units associated with the axes of a graph object. Many Measure-valued attributes in DataNav figures are constrained in some way. Many must be specified in physical units and are restricted to a narrow range of measurements. Such restrictions are listed in parentheses. For example: Measure (in/cm/mm/pt, [0..1in]).
MeasuredPoint: An attribute value representing a location (x, y), in which each coordinate is expressed as a Measure. A single space separates the coordinate values. Restrictions on the coordinate are listed in parentheses.