I think this issue could be resolved by clarifying some of the wording
in the Model doc in some future revision. This issue arises from a
flaw in the IPP data model.
In the OO methodologies I'm familiar with, one strives to get the data
model to at least Second Normal Form. It's against the rules to have
some Printer attributes identified by a (Printer identifier,
document-format) tuple, while other Printer attributes depend only on
the Printer identifier. Failing to correct this leads to the kind of
problems we see now with document-format.
We could correct this problem by acknowledging that there is really
another object class hidden in the IPP model: the Interpreter. A
Printer contains one or more Interpreters. When appropriate, the
"document-format" operation attribute is really part of the operation
target: it selects the Interpreter which the current operation is to
be applied. Some of those attributes currently called Printer
attributes -- the ones that vary with "document-format" -- should
rightly be called Interpreter attributes.
Simply explaining this in the wording might be enough to avert
confusion without any changes to the actual protocol.
BTW, I've been complaining about this issue for over a year now. See
http://www.pwg.org/hypermail/ipp/0708.html
http://www.egroups.com/group/ipp/4162.html
-Carl