private static boolean isCustomTagRegion(IndexedRegion node) { if (node instanceof Element) { Element xmlElement = (Element) node; ModelQuery mq = ModelQueryUtil.getModelQuery(xmlElement.getOwnerDocument()); CMElementDeclaration decl = mq.getCMElementDeclaration(xmlElement); if (decl instanceof CMNodeWrapper) { CMNode cmNode = ((CMNodeWrapper) decl).getOriginNode(); return cmNode instanceof TLDElementDeclaration; } } return false; }
public String[] getPossibleValues() { String[] result = {}; switch (kind) { case KIND_ATTR_TEXT: case KIND_ELEMENT_ATTR: { // note intentional fall-thru!! ModelQuery modelQuery = ModelQueryUtil.getModelQuery(parent.getOwnerDocument()); if (modelQuery != null) { CMAttributeDeclaration ad = modelQuery.getCMAttributeDeclaration(attribute); if (ad != null) { result = modelQuery.getPossibleDataTypeValues(parent, ad); } } break; } case KIND_ELEMENT_CMATTRIBUTE: { ModelQuery modelQuery = ModelQueryUtil.getModelQuery(parent.getOwnerDocument()); if (modelQuery != null && cmNode != null) { result = modelQuery.getPossibleDataTypeValues(parent, cmNode); } break; } case KIND_ELEMENT_TEXT: { ModelQuery modelQuery = ModelQueryUtil.getModelQuery(parent.getOwnerDocument()); if (modelQuery != null) { CMElementDeclaration ed = modelQuery.getCMElementDeclaration(parent); if (ed != null) { result = modelQuery.getPossibleDataTypeValues(parent, ed); } } break; } } return result; }