Job Description attributes are one of two categories of Job (Object)
Attributes. The other category is job template attributes. =20
Operation attributes (i.e. those attributes in the operation attributes=20
group) are attributes that are passed as part of a request or response. Some=
of these attributes in a request set the values of job description=20
attributes which have the same name but they never set job template=20
attributes. Attributes in the job attributes group of a request cause job=20
template attributes in the job object to be set, but not job description=20
Now you're probably wondering why some job attributes are job template=20
attributes and others are job description attributes. Some attributes have=
gone back and forth between these two categrories several times. The=20
original idea was that job template attributes are those collection of job=
attributes which a client, even the end user, is allowed to modify. These=
attributes typically have a list of supported values for the client to=20
choose from and a default value if the client doesn't choose a value. The=
job description attributes are either set by the printer with no input from=
the client, e.g. job-id, or they are characteristics of a job that a user=20
has no choice about, e.g. job-k-octets and document-format. These latter=20
attributes have supported values and sometimes a default, but a client=20
doesn't have a choice. The number of octets and the document-format are=20
inherent qualities of the document.
>Section 4.3 says that attributes-charset and attributes-natural-language
>Job Description Attributes MUST be supported by printer objects.
>(M*) indicates MANDATORY attributes that an IPP object MUST support, but
>that a client may omit in a request or an IPP object may omit in a=
>Isn't that the case for these particular Job Description Attributes?=A0 Or=
>there some subtle difference between the "job-description" attribute group
>described in section 4.3 and the "Group 3: Job Object Attributes"
I hope the above explanation clears up the difference between job object=20
attributes and job description attributes for requests. For reponses, the=
job attributes group can contain any job attribute, including job=20
description and job template attributes.