/** * Ask whether values of this type are atomizable * * @return true if some or all instances of this type can be successfully atomized; false * * if no instances of this type can be atomized * @param th The type hierarchy cache */ @Override public boolean isAtomizable(TypeHierarchy th) { // An instance of a specific function type can be atomized only if it is an array, which // means there must be a single argument and it must be of type xs:integer or a supertype. if (getArity() != 1) { return false; } ItemType argType = getArgumentTypes()[0].getPrimaryType(); return th.isSubType(BuiltInAtomicType.INTEGER, argType); }
/** * Ask whether values of this type are atomizable * * @return true if some or all instances of this type can be successfully atomized; false * * if no instances of this type can be atomized * @param th The type hierarchy cache */ @Override public boolean isAtomizable(TypeHierarchy th) { // An instance of a specific function type can be atomized only if it is an array, which // means there must be a single argument and it must be of type xs:integer or a supertype. if (getArity() != 1) { return false; } ItemType argType = getArgumentTypes()[0].getPrimaryType(); return th.isSubType(BuiltInAtomicType.INTEGER, argType); }