I think this text from MOD section 3.1.4.1 is misleading:
"The IPP object SHALL remember that natural language for all client sup=
plied
attributes, and when returning those attributes in response to a query=
, the
IPP object SHALL indicate that natural language.
"For example, the "job-name" attribute MAY be supplied by the client in=
a
create request. The text value for this attribute will be in the natur=
al
language identified by the "attribute-natural-language" attribute, or i=
f
different, as identified by the Natural Language Override mechanism. I=
f
supplied, the IPP object will use the value of the "job-name" attribute=
to
populate the Job object's "job-name" attribute. Whenever any client qu=
eries
the Job object's "job-name" attribute, the IPP object returns the attri=
bute as
stored and uses the Natural Language Override mechanism to specify the =
natural
language, if it is different from that reported in the
"attributes-natural-language" operation attribute of the response.
It subtly conflicts with this text from MOD section 3.2.6.2:
"For any job submitted in a different natural language than the natural=
language that the Printer object is returning in the
"attributes-natural-language" operation attribute in the Get-Jobs respo=
nse, the
Printer SHALL indicate the submitted natural language by returning the =
Job
object's "attributes-natural-language" as the first Job object attribut=
e, which
overrides the "attributes-natural-language" operation attribute value b=
eing
returned by the Printer object. If any returned 'text' or 'name' attri=
bute
includes a Natural Language Override as described in the sections 4.1.2=
and
4.1.4, the Natural Language Override overrides the Job object's
"attributes-natural-language" value and/or the "attributes-natural-lang=
uage"
operation attribute value.
There is a precedence hierarchy here:
1. Natural Language Override
2. Job object's "attributes-natural-language" value
3. "attributes-natural-language" operation attribute of the response.
1 overrides 2 and 3, 2 overrides 3.
So this statement in 3.1.4.1:
"Whenever any client queries the Job object's "job-name" attribute, the=
IPP
object returns the attribute as stored and uses the Natural Language Ov=
erride
mechanism to specify the natural language, if it is different from that=
reported in the "attributes-natural-language" operation attribute of th=
e
response.
and this one in 3.1.4.2:
"For any 'text' or 'name' attribute or status message in the response t=
hat is
in a different natural language than the value returned in the
"attributes-natural-language" operation attribute, the IPP object SHALL=
use the
Natural Language Override mechanism (see sections 4.1.2 and 4.1.4) on e=
ach
attribute value returned.
are incorrect. The IPP object uses the Natural Language Override mecha=
nism to
specify the natural language if it is different from Job object's
"attributes-natural-language" value, which is the case only when the cl=
ient
used the Natural Language Override at submission time. The Printer nev=
er needs
to use the Natural Language Override in a response except for those att=
ributes
that the client supplied with Natural Language Override.
Somewhat related question: is it ALLOWABLE for an IPP object to use th=
e
Natural Language Override mechanism in cases where it is NOT necessary =
(i.e.,
would be redundant with a default specified by a Job object's
"attributes-natural-language" value or the "attributes-natural-language=
"
operation attribute of the response)?
Could a printer convert all 'text' and 'name' attributes into
'textWithLanguage' and 'nameWithLanguage'?
=