18 qualifiedName(BAD_NAME),
19 namespaceStr(BAD_NAME),
22 nsSepIndex(std::string::npos),
23 versionSepIndex(std::string::npos),
27 majorVersionStr(BAD_NAME),
28 majorVersionParsed(false),
33 minorVersionStr(BAD_NAME),
34 minorVersionParsed(false),
38 nsSepIndex =
id.find(
'/');
39 nsQualified = nsSepIndex != std::string::npos;
40 size_t startIndex = nsQualified ? nsSepIndex+1 : 0;
41 versionSepIndex =
id.find(
':', startIndex);
42 hasVersion = versionSepIndex != std::string::npos;
102 if (majorVersionStr == BAD_NAME)
106 endMajorIndex = fullName.find(
'.', versionSepIndex+1);
107 majorVersionStr = (endMajorIndex != std::string::npos)
108 ? fullName.substr(versionSepIndex+1, endMajorIndex-(versionSepIndex+1)) :
109 fullName.substr(versionSepIndex+1);
112 majorVersionStr =
"";
114 return majorVersionStr;
147 if (minorVersionStr == BAD_NAME)
149 if (hasVersion && endMajorIndex != std::string::npos)
151 endMinorIndex = fullName.find(
'.', endMajorIndex+1);
152 minorVersionStr = (endMinorIndex != std::string::npos)
153 ? fullName.substr(endMajorIndex+1, endMinorIndex-(endMajorIndex+1)) :
154 fullName.substr(endMajorIndex+1);
157 minorVersionStr =
"";
159 return minorVersionStr;