Each domain is assigned its own XML element. Each XML element for a domain can have an attribute scalingfactor
for the scaling factor. This may be omitted, if the scaling factor is , respectively the scaling factor is if it is omitted.
The scaling factor scalingfactor
is a floating point number, with which the values of the unscaled domain or the basic domain are multiplied to obtain the scaled domain.
Example: The domain is 2 bit natural numbers with the scaling factor of . Possible values for the element to the domain are: ; ; ; . If in the element to the domain a number is set that would mean unscaled, it means with the scaling .
The XML Element for the domain: <naturalNumberB scalingfactor="0.5" bit="2"/>
The table 16 lists the names of XML elements and attributes of XML elements for the various domains.
name | description | parameter |
naturalNumberB | The basic domain are the natural numbers. | The attribute bit is a natural number, which indicates the number of bits for values of the domain. The corresponding basic domain is
. |
integerB | The basic domain are the integer numbers. | The attribute bit is a natural number, which indicates the number of bits for values of the domain. The corresponding basic domain is
. |
naturalNumber | The basic domain are the natural numbers. | The attribute max is a natural number, which is the largest natural number in the domain. The corresponding basic domain is . |
integer | The basic domain are the integer numbers. | The two attributes min and max are two integers. The attribute min is the smallest number in the domain. The attribute max is the biggest number in the domain. The corresponding basic domain is
. |
integerValues | The basic domain are the integer numbers. | For each value of the basic domain the integerValues element contains one value element, in which the value is given (for example <value>17</value> ). |
real | The basic domain are floating point numbers. A floating point number consists of two integer fields, one the first, for the exponent and one, the second, for the mantissa . The floating point number is then . | This element contains two elements. The first element specifies the domain of the mantissa and the second for the exponent. The specification of the domains is as described in this table. Both domains must come from the domains of integers (ie. integer... or naturalNumber...). Example: <real>
<integer min="-100" max="100"/> <naturalNumberB scalingfactor="0.1" bit="8"/></real> The mantissa is a natural number from to and the exponent is an eight-bit natural number scaled by . |
realValues | The basic domain are floating point numbers. A floating point number consists of two integer fields, one the first, for the exponent and one, the second, for the mantissa . The floating point number is then . | This element contains several elements. The first element specifies the domain of the mantissa and the second for the exponent. The specification of the domains is as described in this table. Both domains must come from the domains of integers (ie. integer... or naturalNumber...). After the first two parameters the value -elements for the possible floating point numbers of the domain follow (e.g. <value>17.14</value> ). Example: <real> <integer min="-100" max="100"/> <naturalNumberB scalingfactor="0.1" bit="8"/> <value>7*2^0.5</value> <value>31*2^10</value> </real> The mantissa is a natural number from to and the exponent is an eight-bit integer scaled by . The values in the domain are
and
|
vector | The basic domain are vectors. | The element has one attribute elements , which indicates the number of elements in the vectors. The XML element vector also contains for each of the vector elements (this means elements piece) a XML element with the domain for the element of the vector. Where the first XML element contains the domain of the first vector element, the second of the second and so on. All the values of the vector domain will have the form
, where is a value of the i'th domain in the domains list. |
vectorValues | The basic domain are vectors. | The element has one attribute elements , which indicates the number of elements in the vectors. The XML element vectorValues also contains for each of the vector elements (this means elements piece) an XML element with the domain for the element of the vector. Where the first XML element contains the domain of the first vector element, the second of the second and so on. Then follows a list with the vectors, as described in section 22.3.1 on page without the type attributes. The domains of the vectors are the given domains of the preceding list. Variables can also occur in the stored vectors. If a variable is an element in a the vector the identifier for the variable is omitted. Example: <vectorValues elements="2"> <integer min="-100" max="100"/> <naturalNumberB scalingfactor="0.1" bit="8"/> <vector> <value>99</value> <value>2</value> </vector> <vector> <value>-17</value> <variable></variable> </vector> </vectorValues> ; This domain dosn't change anything for the notation of a vector in a Fib element in the XML format. Vectors will be stored like with the vector domain. |
vectorOpenEnd | The basic domain are vectors. | The element has one attribute elements , which indicates the minimum number of elements in the vectors. The XML element vectorOpenEnd also contains for each of the vector elements (this means elements piece) an XML element with the domain for the element of the vector. Where the first XML element contains the domain of the first vector element, the second of the second and so on and the 'te domain is for 'th and the following elements. All the values of the vector domain will have the form
, where is a value of the i'th domain in the domains list. This domain is for elements that may contain vectors of different size. The number of elements for a vector of this domain is determined by the element containing the vector. |
domainReference | This is a reference to the (sub-)domain of an other element. The domain is the domain of the element with the given type element. | The element can contain the optional attribute subdomain . The attribute subdomain specifies the subdomain which should be used. In it the numbers (counting starts with 1) of the subdomains to use is stored. Subdomains of more levels can be given separated by a point betwean them. In which the number of a subdomain stands befor the number of the subdomains contained in it. The domainReference contains a XML element for the type element to which it refers to. This XML element is generated as described in table 15 on page . Example <domainReference subdomain="3.1"> <matrixElement/> </domainReference> : The used domain is the first subdomain of the third subdoamin of the matrix element. |
defaultDomain | The specified domain will be used only if for the corresponding element so far no other domain was given. | The element contains a Xml element of a domain as described in this table. The specified domain is only used, if for the corresponding element so far no other domain was given. |
An example for the domains:
<domains> <dim count="2"> <dimension number="1" direction="horizontal"/> <dimension number="2" direction="vertical"/> <vector elements="2"> <naturalNumberB scalingfactor="0.1" bit="8"/> <integer scalingfactor="0.1" min="10" max="110"/> </vector> </dim> <property name="colorRGB"> <vector elements="3"> <naturalNumberB bit="8"/> <integer min="-10" max="246"/> <naturalNumberB bit="9"/> </vector> </property> </domains> <valueDomains> <property name="colorRGB"> <vector elements="3"> <naturalNumberB bit="4"/> <integer min="-10" max="10"/> <integerValues> <value>17</value> <value>-3</value> <value>12</value> <value>124</value> </integerValues> </vector> </property> </valueDomains>