A resource binding contains a resource name list that can contain names, class names, or a mixture of both. A class name is a symbol or string that represents a group of related objects. The set of names used as class names are not specified by CLX. Instead, class names are defined by agreement between those who use class names when creating resource bindings (that is, users) and those who use class names when accessing resource values (that is, application programmers).
In order to access a value in a resource database, an application uses a key consisting of two items: a complete resource name and a complete resource class. A complete resource name is a resource name list containing no wildcard elements. A complete resource class is a list of exactly the same form. The distinction between a complete resource name and a complete resource class lies in how they are used to access resource bindings. The elements of a complete resource name are interpreted as names of individual objects; the elements of a complete resource class are interpreted as names of object classes. The complete resource name and class lists used in a resource database access must have the same length.
      Like any resource name list, a complete resource name consists of a 
      path list and an attribute name. The first path list element is 
      typically a symbol (or string) identifying the application as a whole. 
      The second element can be a screen root identifier. Subsequent elements 
      can be identifiers for each ancestor window of an application window. 
      Thus, a path list typically identifies a specific window by tracing a 
      path to it through the application window hierarchy. The final element 
      of a complete resource name (its attribute name) is typically the name 
      of a specific attribute of the window given by the path list (for 
      example, 'background). An attribute name can refer to 
      a feature associated with the window by the application but not by the 
      X server (for example, a font identifier). Similarly, a complete 
      resource class typically represents a path to a window in the 
      application window hierarchy and a specific window attribute. However, 
      a complete resource class contains the class name for each window and 
      for the window attribute.
    
      For instance, in the previous example, the mail 
      application can attempt to look up the value of the background
       resource for the reply button window by using the 
      following complete resource name:
    
      (mail screen-1 reply background)
    
and the following complete resource class:
      (application root button fill)
    
      This complete resource name contains a path list identifying the reply 
      button window -- (mail screen-1 reply) -- and an attribute 
      name for the window background. The corresponding resource class 
      contains the class names for the same path list and window attribute.