while (!at.isBuiltInType()) {
at = (AtomicType)at.getBaseType();
}
return SaxonXQDataFactory.mapSaxonTypeToXQJ(at.getFingerprint());
} else if (itemType instanceof NodeTest) {
NodeTest it = (NodeTest)itemType;
if (it instanceof DocumentNodeTest) {
it = ((DocumentNodeTest)it).getElementTest();
}
if ((it.getNodeKindMask() &
(1<<Type.DOCUMENT | 1<<Type.TEXT | 1<<Type.COMMENT | 1<<Type.PROCESSING_INSTRUCTION | 1<<Type.NAMESPACE)) != 0) {
throw new XQException("Wrong node kind for getBaseType()");
}
SchemaType contentType = it.getContentType();
if (contentType.isAtomicType()) {
AtomicType at = (AtomicType)contentType;
while (!at.isBuiltInType()) {
at = (AtomicType)at.getBaseType();
}