IPP Mail Archive: Re: IPP> PRO Section 9.7 vs. MOD section 4.3: need clarifica

Re: IPP> PRO Section 9.7 vs. MOD section 4.3: need clarifica

Carl Kugler (kugler@us.ibm.com)
Tue, 7 Apr 1998 15:25:59 -0400

Tom Hastings wrote:
>At 16:24 04/06/1998 PDT, Carl Kugler wrote:
>>Tom Hastings wrote:
>>>At 14:28 04/06/1998 PDT, Carl Kugler wrote:
>>>>Thanks, Bob, I think I get it now.
>>>>
>>>>Maybe your answer also provides a clue to my next question:
>>>>
>>>>If attributes-charset and attributes-natural-language Job Descripti=
on
>>>>Attributes are MANDATORY according to MOD/4.3, why aren't they show=
n as
>>>>MANDATORY in "Group 3: Job Object Attributes" under
>>>>
>>>> Print-Job Response:
>>>> Print-URI Response:
>>>> Create-Job Response:
>>>> Send-Document Response:
>>>> Send-URI Response:
>>>> Get-Job-Attributes Response:
>>>> Get-Jobs Response:
>>>>
>>>>in MOD/15.3.4.3 "Validate the presence of a single occurrence of re=
quired
>>>>Operation attributes"?
>>>
>>>Because "attributes-charset" and "attributes-natural-language" MUST
>>>be returned in Group 1 (not Group 3) as shown.
>>>
>>>See sections 3.1.4.2 Response Operation Attributes and
>>>Sections 3.2 Printer Operations under each Xxx Response Group 1.
>>>
>>>As Bob explained, MANDATORY in the document mostly means that a
>>>Server MUST support the attribute. It is a separate question as to =
whether
>>>the client MUST supply a MANDATORY attribute and whether an IPP obje=
ct
>>>MUST return a MANDATORY attribute. In some cases, the client MUST
>>>supply a MANDATORY attribute and in other cases the client NEED NOT
>>>supply the MANDATORY attribute in a request. Similarly, in some cas=
es,
>>>an IPP object MUST supply a MANDATORY attribute and in other cases t=
he IPP
>>>object NEED NOT supply the MANDATORY attribute in a response.
>>>
>>>We tried to avoid using the word MANDATORY and OPTIONAL to mean whet=
her
>>>a sender had to supply in a request or a response. We tried to only=

>>>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=