} else {
if (attrValue instanceof ConvertibleToContent) {
ConvertibleToContent ctc = (ConvertibleToContent)attrValue;
attrValue = ctc.getSubexpression();
}
values.add(new Conditional(element, elementSchema,
attrValue,
buildBooleanAttrExpression(attr, element),
empty));
}
} else {
Expression condition = attr.getCondition();
if (condition != null) {
values.add(new Conditional(element, elementSchema, condition,
buildAttrExpression(attr, element), empty));
} else {
values.add(buildAttrExpression(attr, element));
}
}
}
for (String attrBundle : element.getAttrBundles()) {
values.add(new EscapeExpression(elementSchema,
new AttrBundleReference(element, attrBundle)));
}
if (elementValidator.isFlagSet(ElementValidator.Flag.NOENDTAG)) {
values.add(new Conditional(
element, elementSchema,
new IsXmlExpression(element, elementSchema),
new StringConstant(element, elementSchema, " /"),
new StringConstant(element, elementSchema, "")));
}