Download Inheritance - The Open Group
Transcript
The only key values that are supported are: ● KeyBinding::BOOLEAN ● KeyBinding::STRING ● KeyBinding::NUMERIC This limitation is imposed by the "XML Mapping Specification v2.0.0" specification. The CIM types are encoded as one of these three in the following way: boolean - BOOLEAN (the value must be "true" or "false") uint8 - NUMERIC sint8 - NUMERIC uint16 - NUMERIC sint16 - NUMERIC uint32 - NUMERIC sint32 - NUMERIC uint64 - NUMERIC sint64 - NUMERIC char16 - NUMERIC string - STRING datetime - STRING Notice that real32 and real64 are missing. Properties of these types cannot be used as keys. Notice that the keys in the object name may appear in any order. That is the following object names refer to the same object: TennisPlayer.first="Patrick",last="Rafter" TennisPlayer.last="Rafter",first="Patrick" And since CIM is not case sensitive, the following refer to the same object: TennisPlayer.first="Patrick",last="Rafter" tennisplayer.FIRST="Patrick",Last="Rafter" Therefore, the CIMReferences::operator==() would return true for the last two examples. The CIM standard leaves it an open question whether model paths may have spaces around delimiters (like '.', '=', and ','). We assume they cannot. So the following is an invalid model path: TennisPlayer . first = "Patrick", last="Rafter" We require that the '.', '=', and ',' have no spaces around them. For reasons of efficiency, the key bindings are internally sorted during initialization. This allows the key bindings to be compared more easily. This means that when the string is converted back to string (by calling toString()) that the keys may have been rearranged. There are two forms an object name can take: <namespace-path>:<model-path> http://donald/MSB/Manual/CIMReference.html (3 of 7) [5/5/2001 8:55:49 AM]