}
if (attributeValue == null) {
return;
}
try {
Property prop = null;
if (subPropertyName == null) { // base attribute only found
/* Do nothing if the base property has already been created.
* This is e.g. the case when a compound attribute was
* specified before the base attribute; in these cases
* the base attribute was already created in
* findBaseProperty()
*/
if (getExplicit(propId) != null) {
return;
}
prop = propertyMaker.make(this, attributeValue, parentFO);
} else { // e.g. "leader-length.maximum"
Property baseProperty = findBaseProperty(attributes,
parentFO, propId, basePropertyName, propertyMaker);
int subpropertyId = FOPropertyMapping.getSubPropertyId(subPropertyName);
if (subpropertyId == -1) {
handleInvalidProperty(attributeName);
return;