Issue #40: Section 5.6.8: Clarification needed about use of 1setOf to list multiple possible values for an attribute
 

Return to List

Information

Jul 11, 2016 by Smith Kennedy
Jul 10, 2019 by Smith Kennedy
None
Internet Printing Protocol (IPP)
PWG 5100.13-2012: IPP Job and Printer Extensions - Set 3 (JPS3)
Pending
Moderate
Section 5.6.8: Clarification needed about use of 1setOf to list multiple possible values for an attribute
Smith Kennedy

Smith Kennedy Jul 10, 2019

Resolved in https://ftp.pwg.org/pub/pwg/ipp/wd/wd-ippjobprinterext3v11-20190710-5100.13.docx

Smith Kennedy Jul 11, 2016

Concerning IPP job constraints and resolution, "job-constraints-supported" is a set of collections, where each collection contains the following member attributes
- "resolver-name": specifies an identifier of a collection in "job-resolvers-supported"
- 2+ Job Template attributes and corresponding values

The semantic is as follows: if the Job Template attributes in a collection is matched by the current settings, there is a conflict; resolve the conflict using the resolver with specified resolver name.  There may be cases where multiple values for a Job Template attribute may be considered a match.  For instance, for handling a constraint between two sided printing and the transparency media type, a Printer might list the following:

job-constraints-supported=
{
  resolver-name=“A”
  sides="two-sided-short-edge"
  media-col={
    media-type="transparency"
  }
},
{
  resolver-name=“A”
  sides="two-sided-long-edge"
  media-col=
  {
    media-type="transparency"
  }
}

job-resolvers-supported=
{
  resolver-name=“A”
  sides="one-sided"
  media-col=
  {
    media-type="stationery"
  }
}

To reduce the number of collections in job-constraints-supported, the Job Template attributes can be specified of a "1setOf <type-def-for-job-template-attribute>", so that multiple values may be listed, like so:

job-constraints-supported=
{
  resolver-name=“A”
  sides="two-sided-long-edge","two-sided-short-edge"
  media-col={
    media-type="transparency"
  }
}

job-resolvers-supported=
{
  resolver-name=“A”
  sides="one-sided"
  media-col={
    media-type="stationery"
  }
}

However, reading section 5.6.8, doing this isn't clearly legal.  Update the text in section 5.6.8 to make it unambiguously clear that this second form is allowable.

Smith Kennedy Jul 11, 2016

Concerning IPP job constraints and resolution, "job-constraints-supported" is a set of collections, where each collection contains the following member attributes
- "resolver-name": specifies an identifier of a collection in "job-resolvers-supported"
- 2+ Job Template attributes and corresponding values

The semantic is as follows: if the Job Template attributes in a collection is matched by the current settings, there is a conflict; resolve the conflict using the resolver with specified resolver name.  There may be cases where multiple values for a Job Template attribute may be considered a match.  For instance, for handling a constraint between two sided printing and the transparency media type, a Printer might list the following:

job-constraints-supported=
{
  resolver-name=“A”
  sides="two-sided-short-edge"
  media-col={
    media-type="transparency"
  }
},
{
  resolver-name=“A”
  sides="two-sided-long-edge"
  media-col=
  {
    media-type="transparency"
  }
}

job-resolvers-supported=
{
  resolver-name=“A”
  sides="one-sided"
  media-col=
  {
    media-type="stationery"
  }
}

To reduce the number of collections in job-constraints-supported, the Job Template attributes can be specified of a "1setOf <type-def-for-job-template-attribute>", so that multiple values may be listed, like so:

job-constraints-supported=
{
  resolver-name=“A”
  sides="two-sided-long-edge","two-sided-short-edge"
  media-col={
    media-type="transparency"
  }
}

job-resolvers-supported=
{
  resolver-name=“A”
  sides="one-sided"
  media-col={
    media-type="stationery"
  }
}

However, reading section 5.6.8, doing this isn't clearly legal.  Update the text in section 5.6.8 to make it unambiguously clear that this second form is allowable.