Format specification of .fieldproperties files(DRAFT)
======================================================================================

[Field]
Uri=$URI
ParentUri=$PARENTURI
Name=$NAME
Name[$LANG]=$LOCALIZED_NAME
Description=$DESCRIPTION
Description[$LANG]=$LOCALIZED_DESCRIPTION
TypeUri=$TYPE
Values=$VALUES
Values[$LANG]=$LOCALIZED_VALUES
Range=$RANGE
MinCardinality=$MIN_CARDINALITY
MaxCardinality=$MAX_CARDINALITY
Indexing=$INDEXING
Relevance=$RELEVANCE
Comment=$COMMENT

$URI(required)
  Unique resource identifier of the property. Internally properties are identified by this ID.
  Alternative to this would be [$URI] instead of [Field].

$PARENTURI
  URI of parent property. Parent relation is similar to inheritance. Usually child property
  introduces some specifics/limitations/implications compared to its parent.

$NAME(required), $LOCALIZED NAME
  Short user-friendly name. This is the name users will see when file metadata is displayed to them.

$DESCRIPTION(required), $LOCALIZED_DESCRIPTION
  User-friendly property description. This is the description of property suitable for tooltips.

$TYPE(required)
  Property data type.
  Valid values: string, string_enum, string_enum_ext, integer, float, boolean, datetime, binary.
  string_enum type is a property that can only take one of the list of valid values provided by $VALUES.
  string_enum_ext type is a property that can take any string value, however $values list provides
  suggested values of this property.

$VALUES(required if $TYPE=string_enum or string_enum_ext), $LOCALIZED_VALUES
  Property value constraints. Default =  no constraints.
  if $TYPE=integer|datetime|float, $VALUES=value1|value2|value3
  if $TYPE=string, $VALUES=validation regexp
  if $TYPE=string_enum, $VALUES=value1|value2|value3
  if $TYPE=string_enum_ext, $VALUES=value1|value2|value3|*(or)
  This syntax lets us directly use $VALUES as a regexp for validating user input. Yet it's syntax
  is developer- and translator- friendly.
  Suggestions on regex subset are welcome. KDE and Strigi is going to use QValidator and QRegExp for this.

$RANGE
  Numeric property allowed value range. Default = no constraints.
  $RANGE=[minValue,maxValue>
  [ and ] = inclusive. < and > = exclusive.

$MIN_CARDINALITY
  Minimum cardinality. Minimum number of properties of this type you must set for a given file.
  Lets specify mandatory properties. Default is 0.

$MAX_CARDINALITY
  Maximum cardinality. Maximum number of properties of this type you can set for a given file.
  Default is infinity.

$INDEXING
  Values=fulltext, atomic, none, TBD. Default = TBD.

$RELEVANCE
  Defines how relevance of the file is affected if a match is found in this field. Default = 1.0

$COMMENT
  Developer comment. Users won't see this.