private void bindSaxDataValue(SAXElement element, ExecutionContext executionContext) {
String propertyName;
if(mapKeyAttribute != null) {
propertyName = SAXUtil.getAttribute(mapKeyAttribute, element.getAttributes(), null);
if(propertyName == null) {
propertyName = element.getName().getLocalPart();
}
} else if(property != null) {
propertyName = property;
} else {
propertyName = element.getName().getLocalPart();
}
String dataString = null;
if(expressionEvaluator == null || expressionHasDataVariable) {
if (isAttribute) {
if(valueAttributeNS != null) {
dataString = SAXUtil.getAttribute(valueAttributeNS, valueAttributeName, element.getAttributes(), null);
} else {
dataString = SAXUtil.getAttribute(valueAttributeName, element.getAttributes(), null);
}
} else {
dataString = element.getTextContent();
}
}
if(expressionEvaluator != null) {
bindExpressionValue(propertyName, dataString, executionContext, new Fragment(element));
} else {
decodeAndSetPropertyValue(propertyName, dataString, executionContext, new Fragment(element));
}
}