15.3. BNF Terminals

Terminals are treated "as is" when they become content of XML elements between tags. Terminals can be enumdef (enum definitions). When an element is defined by enumdef, the element takes one enum value from the value list as its content when it is mapped to an XML element. For example, <length-unit> in NDF files takes one type of length unit from the available length unit list.

<length-unit> ::= "Meter"|"Centimeter"|"Millimeter"|"Micrometer"|"Foot"|"Inch"

Terminals can also be valuedef (value definitions), the type of valuedef can be one of the following:

  • object-name string named using the same style as C/C++ variables. The string must be unique.

  • object-reference looks like object-name["/"object-name]*

  • string-value

  • string-value-without-space

  • boolean-value

  • integer-value

  • double-value

  • time-value treated as a string without the format defined

  • void-value treated as string "void-value"