EppCredsOptions * EppCredsOptions::fromXML( const DOMNode& root ) { DOMString version; DOMString lang; DOMNodeList* list = root.getChildNodes(); for( unsigned int i = 0; i < list->getLength(); i++ ) { DOMNode* node = list->item(i); DOMString name = node->getLocalName(); if( name.isNull() ) { name = node->getNodeName(); } if( name.isNull() ) { continue; } if( name.equals("version") ) { version = EppUtil::getText(*node); } else if( name.equals("lang") ) { lang = EppUtil::getText(*node); } } if( (version.isNotNull()) && (lang.isNotNull()) ) { return new EppCredsOptions(version, lang); } return null; }
EppAuthInfo * EppAuthInfo::fromXML( const DOMNode& root ) { DOMNodeList* list = root.getChildNodes(); for( unsigned int i = 0; i < list->getLength(); i++ ) { DOMNode* node = list->item(i); DOMString name = node->getLocalName(); if( name.isNull() ) { name = node->getNodeName(); } if( name.isNull() ) { continue; } // if( name.equals("pw") ) if( name.equals("pw") || name.equals("contact:pw") || name.equals("domain:pw") || name.equals("svcsub:pw") || name.equals("xriAU:pw") || name.equals("xriINU:pw") || name.equals("xriINA:pw") || name.equals("xriISV:pw") /* Uncomment for CodeString || name.equals("xriCS:pw")*/ ) { DOMElement * elm = (DOMElement *) node; DOMString roid = elm->getAttribute(XS("roid")); DOMString value = EppUtil::getText(*node); return new EppAuthInfo(XS(TYPE_PW), value, roid); } // else if( name.equals("ext") ) else if( name.equals("ext") || name.equals("contact:ext") || name.equals("domain:ext") || name.equals("svcsub:ext") || name.equals("xriAU:ext") || name.equals("xriINU:ext") || name.equals("xriINA:ext") || name.equals("xriISV:ext") ) { return new EppAuthInfo(XS(TYPE_EXT), NULLXS); } } return null; }
EppResponseDataPoll * EppResponseDataPoll::fromXML( const DOMNode& root ) { DOMString name = root.getLocalName(); EppPollable * object = null; if( name.isNull() ) { name = root.getNodeName(); } if( name.isNull() ) { return null; } //if( name.equals("transfer") ) if( name.equals("transfer") || name.equals("contact:transfer") || name.equals("domain:transfer") || name.equals("svcsub:transfer") ) { object = EppCommandTransfer::fromXMLPoll(root); } if( object == null ) { return null; } EppResponseDataPoll * rsp = new EppResponseDataPoll(); rsp->object = object; rsp->freeable = true; return rsp; }
void browseTree(DOMNode* root) { static int indent = 1; indent++; DOMNodeList* list = root->getChildNodes(); for( int i = 0; i < list->getLength(); i++ ) { DOMNode* node = list->item(i); DOMString name = node->getLocalName(); if( name.isNull() ) { name = node->getNodeName(); } if( name.isNull() ) { continue; } if ( name.equals("#text") ) continue; printDash(indent); cout<<name<<endl; browseTree(node); } indent--; }
EppMarkMark* EppMarkMark::fromXML( const DOMNode& root, const char* ns) { EppMarkMark *_ret = new EppMarkMark(ns); DOMNodeList* list = root.getChildNodes(); int nsLen = strlen(ns); if( list == 0 ) { delete _ret; return NULL; } for( unsigned int i = 0; i < list->getLength(); i++ ) { DOMNode* node = list->item(i); DOMString name = node->getLocalName(); if( name.isNull() ) { name = node->getNodeName(); } if( name.isNull() ) { continue; } if( name.substringData(0, nsLen + 1).equals((_ret->getNameSpace() + ":").c_str()) ) { name = name.substringData(nsLen + 1, name.length() - ( nsLen + 1 )); } if( name.equals("trademark") ) { EppTrademarkData *_tmd = EppTrademarkData::fromXML(*node, ns); if( NULL != _tmd ) { _ret->_marks.addElement(_tmd); } } else if ( name.equals("court") ) { EppCourtData *_cd = EppCourtData::fromXML(*node, ns); if( NULL != _cd ) { _ret->_marks.addElement(_cd); } } else if ( name.equals("treatyOrStatute") ) { EppTreatyOrStatuteData *_tsd = EppTreatyOrStatuteData::fromXML(*node, ns); if( NULL != _tsd ) { _ret->_marks.addElement(_tsd ); } } } return _ret; }
EppCreds * EppCreds::fromXML( const DOMNode& root ) { DOMString clID; DOMString pw; DOMString newPW; EppCredsOptions * opt = null; EppCreds * creds = null; DOMNodeList* list = root.getChildNodes(); for( unsigned int i = 0; i < list->getLength(); i++ ) { DOMNode* node = list->item(i); DOMString name = node->getLocalName(); if( name.isNull() ) { name = node->getNodeName(); } if( name.isNull() ) { continue; } if( name.equals("clID") ) { clID = EppUtil::getText(*node); } else if( name.equals("pw") ) { pw = EppUtil::getText(*node); } else if( name.equals("newPW") ) { newPW = EppUtil::getText(*node); } else if( name.equals("options") ) { if( opt != null ) { delete opt; } opt = EppCredsOptions::fromXML(*node); } } if( (clID.isNotNull()) && (pw.isNotNull()) ) { creds = new EppCreds(clID, pw, newPW); if( opt != null ) { creds->setOptions(*opt); } } if( opt != null ) { delete opt; } return creds; }
EppCommandInfoLaunchRegistration* EppCommandInfoLaunchRegistration::fromXML( const DOMNode& root ) { EppCommandInfoLaunchRegistration* cmd = new EppCommandInfoLaunchRegistration(); if( cmd == null ) { return null; } DOMNodeList* list = root.getChildNodes(); DOMNamedNodeMap* attrs = root.getAttributes(); for( unsigned int i = 0; i < list->getLength(); i++ ) { DOMNode* node = list->item(i); DOMString name = node->getLocalName(); if( name.isNull() ) { name = node->getNodeName(); } if( name.isNull() ) { continue; } if( (name.length() > 7) && name.substringData(0, 7).equals("launch:") ) { name = name.substringData(7, name.length() - 7); } if( name.equals("phase") ) { EppLaunchPhase *_pptr = EppLaunchPhase::fromXML(*node); if( null != _pptr ) { cmd->_phase = *_pptr; delete _pptr; } _pptr = null; } else if ( name.equals("applicationID") ) { cmd->_appId = EppUtil::getText(*node); } } for( unsigned int i = 0;i<attrs->getLength();i++ ) { DOMNode* attr = attrs->item(i); if( XS(attr->getNodeName()).equals("includeMark") ) { DOMString _v = attr->getNodeValue(); if( _v.length() > 0 ) { if( _v.equals("true") ) { cmd->includeMark(true); } } break; } } return cmd; }
EppCommandCreateSecDns* EppCommandCreateSecDns::fromXML( const DOMNode &root ) { EppCommandCreateSecDns * cmd = new EppCommandCreateSecDns(); if( cmd == null ) { return null; } DOMNodeList* list = root.getChildNodes(); for( unsigned int i = 0; i < list->getLength(); i++ ) { DOMNode* node = list->item(i); DOMString name = node->getLocalName(); if( name.isNull() ) { name = node->getNodeName(); } if( name.isNull() ) { continue; } if( name.substringData(0, 7).equals("secDNS:") ) { name = name.substringData(7, name.length() - 7); } if( name.equals("dsData") ) { EppSecDnsDsData * ds = EppSecDnsDsData::fromXML(*node); if( ds != null ) { cmd->add(*ds); delete ds; } } else if( name.equals("maxSigLife") ) { DOMString value = EppUtil::getText(*node); char *p = value.transcode(); if( p != null ) { cmd->maxSigLife = ::atoi(p); XercesString::Delete(p); } } else if( name.equals("keyData") ) { // FIXME(zhang) not supported cmd->keyDataPresent = true; EppSecDnsKeyData *kd = EppSecDnsKeyData::fromXML(*node); if( kd != null ) { cmd->add(*kd); delete kd; } } } return cmd; }
void EppResponseInfoFeeType::fromXMLCommon( const DOMNode& root, EppResponseInfoFeeType* data ) { if( NULL == data ) { return; } EppCommandInfoFeeType::fromXMLCommon(root, data); DOMNodeList* list = root.getChildNodes(); if( NULL == list ) { return; } for( unsigned int i = 0; i < list->getLength(); i++ ) { DOMNode* node = list->item(i); if( NULL == node ) { continue; } DOMString name = node->getLocalName(); if( name.isNull() ) { name = node->getNodeName(); } if( name.isNull() ) { continue; } if( name.equals("fee") || name.equals("fee:fee") ) { EppFeeFee* f = EppFeeFee::fromXML(*node); if( NULL != f ) { data->addFee(f); } continue; } if( name.equals("class") || name.equals("fee:class") ) { data->setFeeClass(EppUtil::getText(*node)); continue; } } }
bool DOM::operator==( const DOMString &a, const char *b ) { if ( !b ) return a.isNull(); unsigned int blen = strlen(b); if ( a.isNull() ) return (blen == 0); if(a.length() != blen) return false; const QChar* aptr = a.impl->s; while( blen-- ) { if((*aptr++).latin1() != *b++) return false; } return true; }
EppCommandTransferContact * EppCommandTransferContact::fromXML( const DOMNode& root ) { EppCommandTransferContact * cmd = null; EppAuthInfo * authInfo = null; DOMNodeList* list = root.getChildNodes(); for( unsigned int i = 0; i < list->getLength(); i++ ) { DOMNode* node = list->item(i); DOMString name = node->getLocalName(); if( name.isNull() ) { name = node->getNodeName(); } if( name.isNull() ) { continue; } //if( name.equals("id") ) if( name.equals("id") || name.equals("contact:id") ) { DOMString id = EppUtil::getText(*node); if( cmd == null ) { cmd = new EppCommandTransferContact(id); } } //else if( name.equals("authInfo") ) else if( name.equals("authInfo") || name.equals("contact:authInfo") ) { if( authInfo == null ) { authInfo = EppAuthInfo::fromXML(*node); } } } if( cmd != null ) { cmd->authInfo = authInfo; } else if( authInfo != null ) { delete authInfo; } return cmd; }
Value KJS::getStringOrNull(DOMString s) { if (s.isNull()) return Null(); else return String(s); }
DOMString HTMLButtonElement::value() const { if(!impl) return DOMString(); DOMString s = static_cast<ElementImpl*>(impl)->getAttribute(ATTR_VALUE); if (s.isNull()) return DOMString(""); return s; }
DOMString HTMLIFrameElement::src() const { if(!impl) return DOMString(); DOMString s = ((ElementImpl *)impl)->getAttribute(ATTR_SRC); if (!s.isNull()) s = ownerDocument().completeURL( s ); return s; }
DOMString HTMLInputElement::src() const { if(!impl) return DOMString(); DOMString s = static_cast<ElementImpl*>(impl)->getAttribute(ATTR_SRC); if (!s.isNull()) s = ownerDocument().completeURL( s ); return s; }
void EppCommandCheckFeeType::fromXMLCommon( const DOMNode& root, EppCommandCheckFeeType* data ) { if( NULL == data ) { return; } EppCommandInfoFeeType::fromXMLCommon(root, data); DOMNodeList* list = root.getChildNodes(); if( NULL == list ) { return; } for( unsigned int i = 0; i < list->getLength(); i++ ) { DOMNode* node = list->item(i); if( NULL == node ) { continue; } DOMString name = node->getLocalName(); if( name.isNull() ) { name = node->getNodeName(); } if( name.isNull() ) { continue; } if( name.equals("name") || name.equals("fee:name") ) { data->setName(EppUtil::getText(*node)); continue; } } }
EppResponseDataTransferSvcsub * EppResponseDataTransferSvcsub::fromXML( const DOMNode& root ) { EppResponseDataTransferSvcsub * res = null; DOMNodeList* list = root.getChildNodes(); for( unsigned int i = 0; i < list->getLength(); i++ ) { DOMNode* node = list->item(i); DOMString name = node->getLocalName(); if( name.isNull() ) { name = node->getNodeName(); } if( name.isNull() ) { continue; } //if( name.equals("id") ) if( name.equals("id") || name.equals("svcsub:id") ) { if( res == null ) { DOMString svcsub = EppUtil::getText(*node); res = new EppResponseDataTransferSvcsub(svcsub); } } //else if( name.equals("service") ) else if( name.equals("service") || name.equals("svcsub:service") ) { if( res != null ) { DOMString service = EppUtil::getText(*node); res->setService(service); } } else if( res != null ) { res->fromXMLCommon(*node, name); } } return res; }
EppResponseDataCreateLaunchRegistration* EppResponseDataCreateLaunchRegistration::fromXML( const DOMNode& root ) { EppResponseDataCreateLaunchRegistration *cmd = new EppResponseDataCreateLaunchRegistration(); if( cmd == null ) { return null; } DOMNodeList* list = root.getChildNodes(); for( unsigned int i = 0; i < list->getLength(); i++ ) { DOMNode* node = list->item(i); DOMString name = node->getLocalName(); if( name.isNull() ) { name = node->getNodeName(); } if( name.isNull() ) { continue; } if( (name.length() > 7) && name.substringData(0, 7).equals("launch:") ) { name = name.substringData(7, name.length() - 7); } if( name.equals("phase") ) { EppLaunchPhase *_pptr = EppLaunchPhase::fromXML(*node); if( null != _pptr ) { cmd->_phase = *_pptr; delete _pptr; } _pptr = null; } else if( name.equals("applicationID") ) { cmd->_appId = EppUtil::getText(*node); } } return cmd; }
UString::UString(const DOMString &d) { if (d.isNull()) { attach(&Rep::null); return; } unsigned int len = d.length(); UChar *dat = new UChar[len]; memcpy(dat, d.unicode(), len * sizeof(UChar)); rep = UString::Rep::create(dat, len); }
RenderObject *HTMLAppletElementImpl::createRenderer(RenderArena *arena, RenderStyle *style) { #ifndef Q_WS_QWS // FIXME(E)? I don't think this is possible with Qt Embedded... KHTMLPart *part = getDocument()->part(); if( part && part->javaEnabled() ) { QMap<QString, QString> args; args.insert( "code", getAttribute(ATTR_CODE).string()); DOMString codeBase = getAttribute(ATTR_CODEBASE); if(!codeBase.isNull()) args.insert( "codeBase", codeBase.string() ); DOMString name = getDocument()->htmlMode() != DocumentImpl::XHtml ? getAttribute(ATTR_NAME) : getAttribute(ATTR_ID); if(!name.isNull()) args.insert( "name", name.string() ); DOMString archive = getAttribute(ATTR_ARCHIVE); if(!archive.isNull()) args.insert( "archive", archive.string() ); args.insert( "baseURL", getDocument()->baseURL() ); DOMString mayScript = getAttribute(ATTR_MAYSCRIPT); if (!mayScript.isNull()) args.insert("mayScript", mayScript.string()); // Other arguments (from <PARAM> tags) are added later. return new (getDocument()->renderArena()) RenderApplet(this, args); } // ### remove me. we should never show an empty applet, instead // render the alternative content given by the webpage return new (getDocument()->renderArena()) RenderEmptyApplet(this); #else return 0; #endif }
DOMString CSSStyleDeclarationImpl::getShortHandValue( const int* properties, int number ) const { DOMString res; for ( int i = 0 ; i < number ; ++i ) { CSSValueImpl* value = getPropertyCSSValue( properties[i] ); if ( value ) { // TODO provide default value if !value if ( !res.isNull() ) res += " "; res += value->cssText(); } } return res; }
EppResponseDataRenewDomain * EppResponseDataRenewDomain::fromXML( const DOMNode& root ) { DOMString roid; DOMString domain; time_t exDate = 0; DOMNodeList* list = root.getChildNodes(); for( unsigned int i = 0; i < list->getLength(); i++ ) { DOMNode* node = list->item(i); DOMString name = node->getLocalName(); if( name.isNull() ) { name = node->getNodeName(); } if( name.isNull() ) { continue; } //if( name.equals("roid") ) if( name.equals("roid") || name.equals("domain:roid") ) { roid = EppUtil::getText(*node); } //else if( name.equals("name") ) else if( name.equals("name") || name.equals("domain:name") ) { domain = EppUtil::getText(*node); } //else if( name.equals("exDate") ) else if( name.equals("exDate") || name.equals("domain:exDate") ) { exDate = EppUtil::getDate(*node); } } return new EppResponseDataRenewDomain(domain, roid, exDate); }
EppLaunchProtection* EppLaunchProtection::fromXML( const DOMNode& root, const char* ns ) { EppLaunchProtection *_ret = new EppLaunchProtection(ns); if( null == _ret ) return null; DOMNodeList* list = root.getChildNodes(); int nsLen = strlen(ns); for( unsigned int i = 0; i < list->getLength(); i++ ) { DOMNode* node = list->item(i); DOMString name = node->getLocalName(); if( name.isNull() ) { name = node->getNodeName(); } if( name.isNull() ) { continue; } if( name.substringData(0, nsLen + 1).equals((_ret->getNameSpace() + ":").c_str() ) ) { name = name.substringData(nsLen + 1, name.length() - (nsLen + 1)); } if( name.equals("cc") ) { _ret->_cc = (EppUtil::getText(*node)).substringData(0, 2); } else if( name.equals("region") ) { _ret->_region = EppUtil::getText(*node); } else if( name.equals("ruling") ) { _ret->_ruling = EppUtil::getText(*node); } } return _ret; }
short EppUtil::getDnsSecMajorMinor(const DOMString &root, unsigned short &_major, unsigned short &_minor) { char major[4] = "\0"; char minor[4] = "\0"; int8_t iter = 0; if( 0 >= root.length() || root.isNull() ) return -1; char *str_val = root.transcode(); if( null == str_val ) return -1; char *needle = strrchr(str_val, '-'); if( NULL == needle ) { delete []str_val; } needle++;/*we already have '-' in it */ char *part = major; while( *needle != '\0' ) { if( *needle == '.' ) { needle++; part = minor; iter = 0; continue; } if( iter > 2 ) { iter = -1; break; } part[iter] = *needle; iter++; needle++; } XercesString::Delete(str_val); if( iter != -1 ) { _major = (unsigned short)atoi(major); _minor = (unsigned short)atoi(minor); return 0; } return -1; }
EppTransactionId * EppTransactionId::fromXML( const DOMNode& root ) { DOMString clTRID = NULLXS; DOMString svTRID = NULLXS; DOMNodeList* list = root.getChildNodes(); for( unsigned int i = 0; i < list->getLength(); i++ ) { DOMNode* node = list->item(i); DOMString name = node->getLocalName(); if( name.isNull() ) { name = node->getNodeName(); } if( name.isNull() ) { continue; } if( name.equals("clTRID") || name.equals("epp:clTRID") ) { clTRID = EppUtil::getText(*node); } else if( name.equals("svTRID") || name.equals("epp:svTRID") ) { svTRID = EppUtil::getText(*node); } } if( svTRID.isNotNull() ) { return new EppTransactionId(clTRID, svTRID); } return null; }
short EppUtil::getDnsSecMajorMinor(const DOMNode &root, unsigned short &_major, unsigned short &_minor) { char major[4] = "\0"; char minor[4] = "\0"; int8_t iter = 0; DOMString value = ((DOMElement*)&root)->getAttribute(XS("xmlns:secDNS")); if( value.isNull() ) { return -1; } EppUtil::getDnsSecMajorMinor( value, _major, _minor ); return 0; }
DOMString EppUtil::substring(char sep , const DOMString & src) { DOMString name; if ( src.isNull() ) return name; name = src; char * nameStr = name.transcode(); if ( nameStr == null ) return name; int totalLen = name.length(); char * indexPtr = strchr(nameStr, sep); if ( indexPtr != null ) { int len = indexPtr - nameStr; name = name.substringData(len+1, totalLen); } XercesString::Delete(nameStr); return name; }
void HTMLFontElementImpl::parseAttribute(AttributeImpl *attr) { switch(attr->id()) { case ATTR_SIZE: { DOMString s = attr->value(); if(!s.isNull()) { int num = s.toInt(); if ( *s.unicode() == '+' || *s.unicode() == '-' ) { num += 3; } int size = 0; switch (num) { case 1: size = CSS_VAL_X_SMALL; break; case 2: size = CSS_VAL_SMALL; break; case 3: size = CSS_VAL_MEDIUM; break; case 4: size = CSS_VAL_LARGE; break; case 5: size = CSS_VAL_X_LARGE; break; case 6: size = CSS_VAL_XX_LARGE;break; default: if (num >= 6) size = CSS_VAL__KONQ_XXX_LARGE; else if (num < 1) size = CSS_VAL_XX_SMALL; } if ( size ) addCSSProperty(CSS_PROP_FONT_SIZE, size); } break; } case ATTR_COLOR: addCSSProperty(CSS_PROP_COLOR, attr->value()); // HTML4 compatibility hack addCSSProperty(CSS_PROP_TEXT_DECORATION_COLOR, attr->value()); break; case ATTR_FACE: addCSSProperty(CSS_PROP_FONT_FAMILY, attr->value()); break; default: HTMLElementImpl::parseAttribute(attr); } }
static bool parseAspectRatio(CSSValueImpl* value, int& h, int& v) { if (value->isValueList()){ CSSValueListImpl* valueList = static_cast<CSSValueListImpl*>(value); if (valueList->length() == 3) { CSSValueImpl* i0 = valueList->item(0); CSSValueImpl* i1 = valueList->item(1); CSSValueImpl* i2 = valueList->item(2); if (i0->isPrimitiveValue() && static_cast<CSSPrimitiveValueImpl*>(i0)->primitiveType() == CSSPrimitiveValue::CSS_NUMBER && i1->isPrimitiveValue() && static_cast<CSSPrimitiveValueImpl*>(i1)->primitiveType() == CSSPrimitiveValue::CSS_STRING && i2->isPrimitiveValue() && static_cast<CSSPrimitiveValueImpl*>(i2)->primitiveType() == CSSPrimitiveValue::CSS_NUMBER) { DOMString str = static_cast<CSSPrimitiveValueImpl*>(i1)->getStringValue(); if (!str.isNull() && str.length() == 1 && str[0] == '/') { h = (int)static_cast<CSSPrimitiveValueImpl*>(i0)->floatValue(CSSPrimitiveValue::CSS_NUMBER); v = (int)static_cast<CSSPrimitiveValueImpl*>(i2)->floatValue(CSSPrimitiveValue::CSS_NUMBER); return true; } } } } return false; }
void AttrImpl::setValue(const DOMString &v, int &exceptioncode) { exceptioncode = 0; // ### according to the DOM docs, we should create an unparsed Text child // node here // do not interprete entities in the string, its literal! // NO_MODIFICATION_ALLOWED_ERR: Raised when the node is readonly if(isReadOnly()) { exceptioncode = DOMException::NO_MODIFICATION_ALLOWED_ERR; return; } // ### what to do on 0 ? if(v.isNull()) { exceptioncode = DOMException::DOMSTRING_SIZE_ERR; return; } if(m_value == v.implementation()) return; if(m_element && m_attrId == ATTR_ID) m_element->updateId(m_value, v.implementation()); m_value->deref(); m_value = v.implementation(); m_value->ref(); if(m_element) { m_element->parseAttribute(m_attrId, m_value); m_element->attributeChanged(m_attrId); } }