SchemaAttDef::SchemaAttDef(const SchemaAttDef* other) : XMLAttDef(other->getValue(), other->getType(), other->getDefaultType(), other->getEnumeration(), other->getMemoryManager()) , fElemId(XMLElementDecl::fgInvalidElemId) , fAttName(0) , fDatatypeValidator(other->fDatatypeValidator) , fAnyDatatypeValidator(other->fAnyDatatypeValidator) , fMemberTypeValidator(other->fMemberTypeValidator) , fNamespaceList(0) , fValidity(other->fValidity) , fValidation(other->fValidation) , fPSVIScope(other->fPSVIScope) , fBaseAttDecl(other->fBaseAttDecl) { QName* otherName = other->getAttName(); fAttName = new (getMemoryManager()) QName(otherName->getPrefix(), otherName->getLocalPart(), otherName->getURI(), getMemoryManager()); if (other->fNamespaceList && other->fNamespaceList->size()) { fNamespaceList = new (getMemoryManager()) ValueVectorOf<unsigned int>(*(other->fNamespaceList)); } }
Bool Tree::cmpQNamesForeign(const QName &q, const HashTable& dictForeign, const QName &qForeign) { /* printf("comparing names (%s,%s,%s) and (%s,%s,%s)\n", (char*)(((Tree*)this)->expand(q.getPrefix())), (char*)(((Tree*)this)->expand(q.getUri())), (char*)(((Tree*)this)->expand(q.getLocal())), (char*)(dictForeign.getKey(qForeign.getPrefix())), (char*)(dictForeign.getKey(qForeign.getUri())), (char*)(dictForeign.getKey(qForeign.getLocal())) ); */ if (q.getLocal() == stdPhrase(PHRASE_STAR)) { return (Bool)(q.getPrefix() == UNDEF_PHRASE || (dict().getKey(q.getUri()) == dictForeign.getKey(qForeign.getUri()))); } else { return (Bool) (dict().getKey(q.getUri()) == dictForeign.getKey(qForeign.getUri()) && dict().getKey(q.getLocal()) == dictForeign.getKey(qForeign.getLocal())); } }
Bool Tree::cmpQNames(const QName &first, const QName &second) const { /* printf("comparing names (%s,%s,%s) and (%s,%s,%s)\n", (char*)(((Tree*)this)->expand(first.getPrefix())), (char*)(((Tree*)this)->expand(first.getUri())), (char*)(((Tree*)this)->expand(first.getLocal())), (char*)(((Tree*)this)->expand(second.getPrefix())), (char*)(((Tree*)this)->expand(second.getUri())), (char*)(((Tree*)this)->expand(second.getLocal())) ); */ if (first.getLocal() == stdPhrase(PHRASE_STAR)) return (Bool)(first.getPrefix() == UNDEF_PHRASE || first.getUri() == second.getUri()); else return (Bool) (first.getUri() == second.getUri() && first.getLocal() == second.getLocal()); }
void EQName::set(const QName& q, const HashTable& dict) { prefix = dict.getKey(q.getPrefix()); uri = dict.getKey(q.getUri()); local = dict.getKey(q.getLocal()); }
void Tree::expandQ(const QName& q, EQName& expanded) { expanded.setLocal(expand(q.getLocal())); expanded.setUri(expand(q.getUri())); expanded.setPrefix(expand(q.getPrefix())); }