[IPP] New ABNF for "printer-supply"

[IPP] New ABNF for "printer-supply"

Ira McDonald blueroofmusic at gmail.com
Fri Jul 29 19:29:30 UTC 2011


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.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.pwg.org/pipermail/ipp/attachments/20110729/ac6f918b/attachment-0001.html>


More information about the ipp mailing list