# pdaValue

none, and value is the expression in the content. The difference with attributes is that they are more like annotation; basically key/value string to add more information in a software specified way.## Structure

This element does not have elements. The attributes are shown below, in a*sorted per type*fashion.

<value allowedValues="..." type="..." unit="..." pdaValueDouble:doc="..." pdaValueDouble:max="..." pdaValueDouble:min="..." pdaValueDouble:tex="..." ... > ... </value>

### XSD

The schema file can be downloaded or viewed at xPDK_Base.## Details

#### Type pdaValueDouble

degrees for angles. The expression is in the content.#### Type pdaExpression

Expression need to be commonly evaluated by many software, so having a restricted set of math / types and so on is key. In PDAFlow lib2/expr there is a yacc/lex parser available with some unit support as well as double / complex expressions. An alternative is tinyexpr, but this is more restrictive, so may be very unhandy for things like waveguide model expressions.

### allowedValues

*Type pdaStringList documentation:*text (attribute or element).

### type

*Type pdaValueType documentation:*expression is an extension to what the 'simple code' can do, but runs partly in

*xPDK:expr*spt.

Allowed types:

`boolean`

:`int`

:*xPDK:expr*supported`unsigned`

:*xPDK:expr*supported`double`

:*xPDK:expr*supported`string`

:`point`

:*xPDK:expr*supported`complex`

:*xPDK:expr*supported

### unit

*Type pdaUnit documentation:*

The use of units is strongly recommended to ensure that values are consistent between provider and user of data. The XSD schema allows a series of "basic units" with a

`*`

and `/`

them. A
basic unit uses the standard prefixes *qryzafpnumckMGTPEZYRQ*followed by its type and an optional

`^`

. So a unit can be something like `1/cm*3kV/m^3/degree*dB`

A few additional names are added. You can use them with the common prefixes.

`Loss`

: dB/cm`bps`

: byte/second`degC`

: temperature in degree Celcius`degree`

or`deg`

: angle in degree (0-360)`radian`

or`rad`

: angle in radians (0-2PI)`dB`

: Decibel`eV`

: Electron Volt (no prefix)`none`

: No type / dimensionless value (no prefix)

### doc

*Type pdaDocumentation documentation:*

This field allows some (short, few lines) documentation to be written. It can be a long string, but the idea is not to replace a design manual.

This fields is like

`tex`

which allows documentation in LaTex format; `doc`

is restricted to plain text.### max

rule checking or user interface aspects.*Type pdaExpression documentation:*

Expression need to be commonly evaluated by many software, so having a restricted set of math / types and so on is key. In PDAFlow lib2/expr there is a yacc/lex parser available with some unit support as well as double / complex expressions. An alternative is tinyexpr, but this is more restrictive, so may be very unhandy for things like waveguide model expressions.

### min

rule checking or user interface aspects.*Type pdaExpression documentation:*

Expression need to be commonly evaluated by many software, so having a restricted set of math / types and so on is key. In PDAFlow lib2/expr there is a yacc/lex parser available with some unit support as well as double / complex expressions. An alternative is tinyexpr, but this is more restrictive, so may be very unhandy for things like waveguide model expressions.

### tex

*Type pdaTexDocumentation documentation:*