anchor.diff:     `(("ObjectName" ,object-name ,(cond
   								  ((cim-instance-p object-name)
   								   :value.namedinstance)
  -								  ((typep object-name 'cim-class)
  +								  ((cim-class-declaration-p object-name)
   								   :class)
  -								  (t (error "OBJECT-NAME must be a CIM-INSTANCE or a CIM-CLASS"))))
  +								  (t (error "OBJECT-NAME must be a CIM-INSTANCE or a CIM-CLASS-DECLARATION"))))
   	 ,@(when assoc-class `(("AssocClass" ,assoc-class :classname)))
   	 ,@(when result-class `(("ResultClass" ,result-class :classname)))
   	 ,@(when role `(("Role" ,role :value)))
  
positive.code:    `(("ObjectName" ,object-name ,(cond
  								  ((cim-instance-p object-name)
  								   :value.namedinstance)
  								  ((typep object-name 'cim-class)
  								   :class)
  								  (t (error "OBJECT-NAME must be a CIM-INSTANCE or a CIM-CLASS"))))
  	 ,@(when assoc-class `(("AssocClass" ,assoc-class :classname)))
  	 ,@(when result-class `(("ResultClass" ,result-class :classname)))
  	 ,@(when role `(("Role" ,role :value)))
  
negative.code: (defun encode-cimxml-value.objectwithpath (object namespace-path)
    (eformat "<VALUE.OBJECTWITHPATH>~%")
    (cond
  	((cim-class-declaration-p object)
  	 (encode-cimxml-classpath namespace-path (cim-name object))
  	 (encode-cimxml-class object))
  	(t
  