Данный элемент определяет правила проверки правильности содержимого ячеек таблицы. Элемент <table:content-validation> определяет такое правило. Все правила проверки, имеющиеся в документе, содержатся в элементе <table:content-validations>. Сами правила проверки именуются, и эти имена используются для ссылок на них из ячейки таблицы.
С элементом <table:content-validation> могут быть связаны следующие атрибуты:
имя;
условие;
адрес базовой ячейки;
допустимость пустых ячеек;
отображение списка.
Имя
Атрибут table:name определяет имя проверки содержимого. Он используется в ячейке, к которой должно быть применено правило, для ссылки на правило проверки. Имя создается приложением автоматически.
Условие
Атрибут table:condition определяет условие, которое должно принимать значение true для всех ячеек, к которым применено правило проверки. Значение атрибута должно быть префиксом пространства имен, за которым следует логическое выражение.
Типовой синтаксис выражения может быть подобен синтаксису XPath. Ниже приведены существующие условия.
Condition ::= ExtendedTrueCondition | TrueFunction 'and' TrueCondition
TrueFunction ::= cell-content-is-whole-number () | cell-content-is-decimal-number () | cell-content-is-date () | cell-content-is-time () | cell-content-is-text ()
ExtendedTrueCondition ::= ExtendedGetFunction | cell-content-text-length () Operator Value
TrueCondition ::= GetFunction | cell-content () Operator Value
GetFunction ::= cell-content-is-between (Value, Value) | cell-content-is-not-between (Value, Value)
ExtendedGetFunction ::= cell-content-text-length-is-between (Value, Value) | cell-content-text-length-is-not-between (Value, Value) | cell-content-is-in-list (StringList)
Operator ::= '<' | '>' | '<=' | '>=' | '=' | '!='
Value ::= NumberValue | String | Formula
StringList ::= StringList ';' String | String
Formula - это формула без знака равно (=) в начале. Более подробные сведения приведены в разделе 8.1.3.
String - включает один или более символов, заключенных в кавычки.
NumberValue - целое или вещественное число. Оно не должно содержать десятичный разделитель, если число больше или равно 1000.