* @return The parsed, storable property value.
* @throws PropertyException For an invalid property value.
*/
private PropertyValue createPropertyValue(final FObj fobj,
final String value) throws PropertyException {
final PropertyValue pv = standardParse(fobj, value);
if (pv.canEvalKeyword()) {
return pv;
}
if (pv.canEvalPercentage()) {
if (pv.evalPercentage() < 0) {
throw unexpectedValue(value, fobj);
}
return pv;
}
if (pv.canEvalNumeric()) {
/* This test includes both expressions that can and cannot evaluate
* to a length, because <number> is one of the input values. */
if (pv.evalNumeric() >= 0) {
return pv;
}
}
if (pv instanceof DtSpace) {
return pv;