bool BuiltinNodeType<kind>::xdtTypeMatches(const ItemType::Ptr &other) const { if(!other->isNodeType()) return false; return *static_cast<const BuiltinNodeType *>(other.data()) == *this ? true : xdtTypeMatches(other->xdtSuperType()); }
bool XSLTNodeTest::xdtTypeMatches(const ItemType::Ptr &other) const { if(!other->isNodeType()) return false; return *static_cast<const XSLTNodeTest *>(other.data()) == *this ? true : xdtTypeMatches(other->xdtSuperType()); }
bool AtomicType::xdtTypeMatches(const ItemType::Ptr &other) const { if(other->isAtomicType()) { if(*other == *this) return true; else return xdtTypeMatches(other->xdtSuperType()); } else return false; }
bool AbstractNodeTest::xdtTypeMatches(const ItemType::Ptr &other) const { Q_ASSERT(other); if(other->isNodeType()) { if(*other == *this) return true; else return xdtTypeMatches(other->xdtSuperType()); } else return false; }