Good concept and good writeup.
I have a few detailed issues/suggestions:
1. Interaction with Document objects
Another reason for more than one value at the job level might be that
different documents have different values.
On the other hand, for the Document object, won't we want to have -actual
for the Document Description attributes too? If so, which -actual
attributes would be Job Description attributes and which would be Document
Description? media-actual would be a Document Description attribute and
job-priority-actual would be a Job Description attribute.
2. Even though "document-format" isn't a Job Template (or a Document
Template) attribute, I think that for a file sniffing Printer, having a
"document-format-actual" (which has to be multi-valued since a
multi-document job could be sniffed to different values).
And for the Document object it would be a Document Description attribute.
3. A printer that doesn't support a Job Template attribute, say, resolution,
but does in the PDL, could have a resolution-actual attribute, right? This
case needs to be indicated.
4. ISSUE: If a job is submitted with none or few Job Templates supplied,
does the Printer fill in the remaining -actual with its default value?
When? Can it supply the default values for these immediately, before it has
processed the PDL? And then change the value if the PDL has a specification
for that attribute? I suggest yes, and then clients know that -actual
values when the job is 'pending' or 'pending-held' are subject to change.