Element tagElement = document.createElement("tag");
addDescription(decl, tagElement, document, false);
addLeafTextElement(tag.name(), "name", tagElement, document);
addLeafTextElement(className, "tag-class", tagElement, document);
BodyContent bodyContent = tag.bodyContent();
BodyContentDescription contentDescription = decl.getAnnotation(BodyContentDescription.class);
// TODO more error checking
if (contentDescription != null) {
if (bodyContent.equals(BodyContent.JSP)
&& contentDescription.contentType().length() > 0) {
throw new IllegalArgumentException(
"contentType " + contentDescription.contentType() + " for bodyContent JSP not allowed!");
} else if (bodyContent.equals(BodyContent.TAGDEPENDENT)
&& contentDescription.contentType().length() == 0) {
throw new IllegalArgumentException("contentType should set for tagdependent bodyContent");
}
}
addLeafTextElement(bodyContent.toString(), "body-content", tagElement, document);
if (contentDescription != null) {
Element bodyContentDescription = document.createElement("body-content-description");
for (int i = 0; i < contentDescription.anyClassOf().length; i++) {
Element clazz = document.createElement("class");
String typeClass = contentDescription.anyClassOf()[i];