Subject: [IPP] New ABNF for "printer-supply"

From: Ira McDonald <[email-masked]>
Date: Fri, 29 Jul 2011 15:29:30 -0400

Hi Mike,

Probably too late to fold into your JPS3 update, but we can review
this email next Wednesday.

Below is the revised ABNF for the "printer-supply" element, updated for
our review during the May PWG F2F.

I also corrected the encoding to always include the final ";" after the
last attribute (missing in "printer-alert", which complicates parsing).

Mike, the attribute conformance table has also been updated:
- prtMarkerSupplyIndex --> OPTIONAL
- prtMarkerSupplyMaxCapacity --> REQUIRED
- prtMarkerColorantValue (name) --> RECOMMENDED

Comments?

Cheers,
- Ira

------------------------------------------------------------------------

Notes:

(1) prtMarkerSuppliesIndex is OPTIONAL in "printer-supply", because
correlation with the original MIB order is considered unimportant.

(2) prtMarkerSuppliesMarkerIndex is OPTIONAL in "printer-supply",
because most Printers don't have multiple markers.

(3) prtMarkerSuppliesColorantIndex is omitted in "printer-supply"
because it is redundant with prtMarkerColorantIndex for the rows that
include colorant information.

                Table 6 - Keywords for printer-supply

SNMP Supply Object      IPP Datatype    IPP Keyword         Conformance
------------------      ------------    -----------         -----------
prtMarkerSupplies...
Index (note 1)          Integer         index               OPTIONAL
MarkerIndex (note 2)    Integer         markerindex         OPTIONAL
ColorantIndex (note 3)  Integer         ---                 ---
Class                   String          class               RECOMMENDED
Type                    String          type                REQUIRED
SupplyUnit              String          unit                RECOMMENDED
MaxCapacity             Integer         maxcapacity         REQUIRED
Level                   Integer         level               REQUIRED

prtMarkerColorant...
Index                   Integer         colorantindex       OPTIONAL
Role                    String          colorantrole        OPTIONAL
Value                   String          colorantname        RECOMMENDED
Tonality                Integer         coloranttonality    OPTIONAL

printer-supply      = *supply-required *[supply-optional]
    ; set of supply elements encoded into one value

supply-required     = supply-req ";"
supply-req          = supply-type /
                      supply-max-capacity
                      supply-level /

supply-optional     = supply-opt ";"
supply-opt          = supply-index /
                      marker-index /
                      supply-class /
                      supply-unit /
                      colorant-index /
                      colorant-role /
                      colorant-name /
                      colorant-tonality

supply-type         = "code" "=" 1*ALPHA
    ; enumerated value as an alpha string (e.g., 'toner') of
    ; prtMarkerSuppliesType in [RFC3805] mapped indirectly from
    ; the *label* in PrtMarkerSuppliesTypeTC in [IANAPRT]

supply-max-capacity = "maxcapacity" "=" 1*[DIGIT / "-"]
    ; integer value as a numeric string mapped directly from
    ; prtMarkerSuppliesMaxCapacity in [RFC3805]

supply-level        = "level" "=" 1*[DIGIT / "-"]
    ; integer value as a numeric string mapped directly from
    ; prtMarkerSuppliesLevel in [RFC3805]

supply-index        = "index" "=" 1*DIGIT
    ; integer value as a numeric string mapped directly from
    ; prtMarkerSuppliesIndex in [RFC3805]

marker-index        = "markerindex" "=" 1*DIGIT
    ; integer value as a numeric string mapped directly from
    ; prtMarkerSuppliesMarkerIndex in [RFC3805]

supply-class        = "class" "=" 1*ALPHA
    ; enumerated value as an alpha string (e.g., 'other') of
    ; prtMarkerSuppliesClass in [RFC3805] mapped indirectly from
    ; the *label* in PrtMarkerSuppliesClassTC in [RFC3805]

supply-unit         = "unit" "=" 1*ALPHA
    ; enumerated value as an alpha string (e.g., 'other') of
    ; prtMarkerSuppliesSupplUnit in [RFC3805] mapped indirectly from
    ; the *label* in PrtMarkerSuppliesSupplyUnitTC in [RFC3805]

colorant-index      = "colorantindex" "=" 1*DIGIT
    ; integer value as a numeric string mapped directly from
    ; prtMarkerColorantIndex in [RFC3805]

colorant-role       = "colorantrole" "=" 1*ALPHA
    ; enumerated value as an alpha string (e.g., 'other') of
    ; prtMarkerColorantRole in [RFC3805] mapped indirectly from
    ; the *label* in PrtMarkerColorantRoleTC in [RFC3805]

colorant-name       = "colorantname" "=" 1*ALPHA
    ; string value as an alpha string mapped directly from
    ; prtMarkerColorantValue in [RFC3805]

colorant-tonality   = "coloranttonality" "=" 1*DIGIT
    ; integer value as a numeric string mapped directly from
    ; prtMarkerColorantTonality in [RFC3805]

                    Examples of printer-supply

printer-supply[1] =
    type=toner;maxcapacity=100;level=75;index=1;markerindex=1;
    class=supplyThatIsConsumed;unit=percent;
    colorantindex=4;colorantrole=process;colorantname=cyan;
    coloranttonality=128;

printer-supply[2] =
    type=toner;maxcapacity=100;level=72;index=2;markerindex=1;
    class=supplyThatIsConsumed;unit=percent;
    colorantindex=4;colorantrole=process;colorantname=magenta;
    coloranttonality=128;

-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.

_______________________________________________
ipp mailing list
[email-masked]
https://www.pwg.org/mailman/listinfo/ipp

---

From: Michael Sweet <[email-masked]>
Date: Fri, 29 Jul 2011 14:31:04 -0700

Ira,

It isn't too late, and I'll be posting new documents over the weekend (hopefully PWG Raster and JPS3 tonight...)

> - prtMarkerColorantValue (name) --> RECOMMENDED

________________________________________________________________________
Michael Sweet, Senior Printing System Engineer, PWG Chair