Вы хотите использовать метод
XSAttributeDeclaration.getTypeDefinition(); // returns XSSimpleTypeDefinition
для простых типов и / или, возможно,
XSAttributeDeclaration.getEnclosingCTDefinition(); // returns XSComplexTypeDefinition
для сложных типов.
Метод getActualVCType () устарел, и его альтернативный вызов getValueConstraintValue (). GetActualValueType () ищет так называемое ограничение значения
что не то, что вы ищете. Этот аргумент также поддерживается кодом в XSAttributeDecl.java :
// variable definition
48 // value constraint type: default, fixed or !specified
49 short fConstraintType = XSConstants.VC_NONE;
и
183 public short getActualVCType() {
184 return getConstraintType() == XSConstants.VC_NONE ?
185 XSConstants.UNAVAILABLE_DT :
186 fDefault.actualValueType;
187 }
с
136
137 public short getConstraintType() {
138 return fConstraintType;
139 }
предполагает, что вы действительно получаете UNAVAILABLE_DT, потому что он не установлен. Я предлагаю изучить методы XSSimpleTypeDefinition, это выглядит многообещающе для меня.