2.5.125 FeatSmartTag
The FeatSmartTag structure specifies data for a Shared Feature of type ISFFACTOID as described in SharedFeatureType.
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
3 |
|
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
hashValue |
|||||||||||||||||||||||||||||||
cSmartTags |
rgFactoid (variable) |
||||||||||||||||||||||||||||||
... |
hashValue (4 bytes): An unsigned integer that specifies a hash value for the string representation of the content of a cell. This hash value is used to detect cell changes with the purpose of validating, updating or removing the smart tags associated with the cell. If the string representation of the cell content is the empty string, hashValue MUST be 0; otherwise, hashValue MUST be computed using the following algorithm:
-
SET hashValue to zero FOR each byteValue (1-byte unsigned integer) in the input string Bitwise shift hashValue to the left by 4 and add byteValue SET overflow (4-byte unsigned integer) to the bitwise AND of hashValue and 0xF0000000 IF overflow is not zero THEN SET the most significant 4 bits of hashValue to zero Bitwise shift overflow to the right by 24 SET hashValue to XOR of hashValue and overflow END IF END FOR IF hashValue is zero SET hashValue to 1 END IF
cSmartTags (1 byte): An unsigned integer that specifies the number of items in the rgFactoid array.
rgFactoid (variable): An array of FactoidData. Each element specifies data for a smart tag.