// Javadoc inherited.
protected void initialiseElementSpecificAttributes(
XDIMEContextInternal context, XDIMEAttributes attributes)
throws XDIMEException {
MessageAttributes messageAttributes = getMessageAttributes();
String messageType = attributes.getValue("", "type");
messageAttributes.setType(messageType);
if (parent instanceof ValidateElement) {
ValidateElement validateElement = (ValidateElement) parent;
ValidateAttributes validateAttributes = validateElement.getValidateAttributes();
VolantisProtocol protocol = getProtocol(context);
// Generate ID for the message element
if (messageAttributes.getId() == null) {
messageAttributes.setId(protocol.getMarinerPageContext()
.generateUniqueFCID());
}
// Process the 'type' attribute, and propagate it to the enclosing validate element.
if ((messageType == null) || messageType.equals("invalid")) {
validateAttributes.setInvalidMessageElementId(messageAttributes.getId());
} else if (messageType.equals("empty")) {
validateAttributes.setEmptyMessageElementId(messageAttributes.getId());
}
}
}