本文整理汇总了C++中DatatypeValidator::getTypeLocalName方法的典型用法代码示例。如果您正苦于以下问题:C++ DatatypeValidator::getTypeLocalName方法的具体用法?C++ DatatypeValidator::getTypeLocalName怎么用?C++ DatatypeValidator::getTypeLocalName使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类DatatypeValidator
的用法示例。
在下文中一共展示了DatatypeValidator::getTypeLocalName方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: getBuiltInBaseValidator
DatatypeValidator* DatatypeValidatorFactory::getBuiltInBaseValidator(const DatatypeValidator* const dv)
{
DatatypeValidator *curdv = (DatatypeValidator*)dv;
while (curdv)
{
if (curdv == getBuiltInRegistry()->get(curdv->getTypeLocalName()))
return curdv;
else
curdv = curdv->getBaseValidator();
}
return 0;
}
示例2: getActualValue
XSValue* PSVIItem::getActualValue() const
{
/***
* assessment
* VALIDATION_PARTIAL
* VALIDATION_FULL
* validity
* VALIDITY_VALID
***/
if ((fAssessmentType==VALIDATION_NONE) || (fValidityState!=VALIDITY_VALID))
return 0;
/***
* XSSimpleType or
* XSComplexType's CONTENTTYPE_SIMPLE
* allowed
***/
if ((!fType) ||
((fType->getTypeCategory() == XSTypeDefinition::COMPLEX_TYPE) &&
(((XSComplexTypeDefinition*)fType)->getContentType() != XSComplexTypeDefinition::CONTENTTYPE_SIMPLE)))
return 0;
/***
* Resolve dv
*
* 1. If fMemberType is not null, use the fMemberType->fDataTypeValidator
* 2. If fType is XSSimpleType, use fType->fDataTypeValidator
* 3. If fType is XSComplexType, use fType->fXSSimpleTypeDefinition-> fDataTypeValidator
*
***/
DatatypeValidator *dv = 0;
if (fMemberType)
{
/***
* Now that fType is either XSSimpleTypeDefinition or
* XSComlextTypeDefinition with CONTENTTYPE_SIMPLE, the
* fMemberType must be XSSimpleTypeDefinition if present
***/
dv=((XSSimpleTypeDefinition*) fMemberType)->getDatatypeValidator();
}
else if (fType->getTypeCategory() == XSTypeDefinition::SIMPLE_TYPE)
{
dv=((XSSimpleTypeDefinition*) fType)->getDatatypeValidator();
}
else
{
XSSimpleTypeDefinition* simType = ((XSComplexTypeDefinition*)fType)->getSimpleType();
if (simType)
dv = simType->getDatatypeValidator();
}
if (!dv) return 0;
/***
* Get the ultimate base dv in the datatype registry
***/
DatatypeValidator *basedv = DatatypeValidatorFactory::getBuiltInBaseValidator(dv);
if (!basedv) return 0;
XSValue::Status status=XSValue::st_Init;
return XSValue::getActualValue(fNormalizedValue
, XSValue::getDataType(basedv->getTypeLocalName())
, status
, XSValue::ver_10
, false
, fMemoryManager);
}