>>>use the words MANDATORY and OPTIONAL to mean whether an IPP object
>>>had to implement or not.
>>>
>>>So there are four combinations for attributes in requests, of which =
only
>>>three are possible:
>>>
>>> MANDATORY OPTIONAL for an IPP object to support
>>>
>>>MUST supply we have we don't have
>>>
>>>MAY omit we have we have
>>>
>>
>>So, attributes-charset and attributes-natural-language are MANDATORY =
Job
>>Description Attributes (4.3.23 and 4.3.24) only in the sense that a P=
rinter
>>must support them. I.e., it must be able return them if a client req=
uests
>>them specifically?
>
>More than that. An IPP object must accept attributes-charset and
>attributes-natural-language as operation attributes and take action as=
>specified
>by the semantics of those operation attributes.
But my question is specific to Job Description Attributes. Aren't thos=
e
distinct from Operation attributes?
>
>>
>>>
>>>Keep those questions coming. We can always improve the spec and fix=
>>>bugs that you find.
>>>
>>>>
>>>>Could it be that the word MANDATORY has different meanings in these=
two
>>>>sections?
>>>
>>>See above.
>>>
>>>>
>>>> 4.3: MANDATORY ... attribute[s] MUST be supported by Printer obje=
cts.
>>>>If it is not indicated as MANDATORY, then it is OPTIONAL
>>>>
>>>> 15.3.4.3: MANDATORY attributes [are those] that an IPP object MUS=
T
>>>>support and that a client MUST supply
>>>
>>>I think I see the confusion. The entire section in 15.3.4.3 is:
>>>
>>>The following tables list all the attributes for all the operations =
by
>>>attribute group in each request and each response. The left to righ=
t order
>>>of the groups is the order that the client supplies the groups as sp=
ecified
>>>in Section 3.3. The order of the attributes within a group is arbit=
rary,
>>>though the tables below lists the attributes in the following order =
with
>>>the following notation:
>>>
>>>(M) MANDATORY attributes that an IPP object MUST support and that a
>>client
>>>MUST supply
>>>
>>>(M*) 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 response=
>>>
>>>(O) OPTIONAL attributes that an IPP object NEED NOT support
>>>
>>>(O*) OPTIONAL attributes that an IPP object NEED NOT support and a
>>client
>>>may omit in a request or an IPP object may omit in a response
>>>
>>>The first line is NOT the definition of MANDATORY, but is explaining=
>>>the notation (M) which means MANDATORY and that a client MUST supply=