attachment-0001

Hi Mike,<br><br>Probably too late to fold into your JPS3 update, but we can review<br>this email next Wednesday.<br><br>Below is the revised ABNF for the &quot;printer-supply&quot; element, updated for<br>our review during the May PWG F2F.<br>
<br>I also corrected the encoding to always include the final &quot;;&quot; after the<br>last attribute (missing in &quot;printer-alert&quot;, which complicates parsing).<br><br>Mike, the attribute conformance table has also been updated:<br>
- prtMarkerSupplyIndex --&gt; OPTIONAL<br>- prtMarkerSupplyMaxCapacity --&gt; REQUIRED<br>- prtMarkerColorantValue (name) --&gt; RECOMMENDED<br><br>Comments?<br><br>Cheers,<br>- Ira<br><br>------------------------------------------------------------------------<br>
<br><span style="font-family: courier new,monospace;">Notes:</span><br style="font-family: courier new,monospace;"><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">(1) prtMarkerSuppliesIndex is OPTIONAL in &quot;printer-supply&quot;, because</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">correlation with the original MIB order is considered unimportant.</span><br style="font-family: courier new,monospace;"><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">(2) prtMarkerSuppliesMarkerIndex is OPTIONAL in &quot;printer-supply&quot;,</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">because most Printers don&#39;t have multiple markers.</span><br style="font-family: courier new,monospace;"><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">(3) prtMarkerSuppliesColorantIndex is omitted in &quot;printer-supply&quot;</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">because it is redundant with prtMarkerColorantIndex for the rows that</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">include colorant information.</span><br style="font-family: courier new,monospace;">
<br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">                Table 6 - Keywords for printer-supply</span><br style="font-family: courier new,monospace;"><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">SNMP Supply Object      IPP Datatype    IPP Keyword         Conformance</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">------------------      ------------    -----------         -----------</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">prtMarkerSupplies...</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">Index (note 1)          Integer         index               OPTIONAL</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">MarkerIndex (note 2)    Integer         markerindex         OPTIONAL</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">ColorantIndex (note 3)  Integer         ---                 ---</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">Class                   String          class               RECOMMENDED</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">Type                    String          type                REQUIRED</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">SupplyUnit              String          unit                RECOMMENDED</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">MaxCapacity             Integer         maxcapacity         REQUIRED</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">Level                   Integer         level               REQUIRED</span><br style="font-family: courier new,monospace;"><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">prtMarkerColorant...</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">Index                   Integer         colorantindex       OPTIONAL</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">Role                    String          colorantrole        OPTIONAL</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">Value                   String          colorantname        RECOMMENDED</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">Tonality                Integer         coloranttonality    OPTIONAL</span><br style="font-family: courier new,monospace;"><br style="font-family: courier new,monospace;">
<br style="font-family: courier new,monospace;"><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">printer-supply      = *supply-required *[supply-optional]</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">    ; set of supply elements encoded into one value</span><br style="font-family: courier new,monospace;"><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">supply-required     = supply-req &quot;;&quot;</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">supply-req          = supply-type /</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">                      supply-max-capacity</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">                      supply-level /</span><br style="font-family: courier new,monospace;"><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">supply-optional     = supply-opt &quot;;&quot;</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">supply-opt          = supply-index /</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">                      marker-index /</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">                      supply-class /</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">                      supply-unit /</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">                      colorant-index /</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">                      colorant-role /</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">                      colorant-name /</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">                      colorant-tonality</span><br style="font-family: courier new,monospace;">
<br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">supply-type         = &quot;code&quot; &quot;=&quot; 1*ALPHA</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">    ; enumerated value as an alpha string (e.g., &#39;toner&#39;) of</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">    ; prtMarkerSuppliesType in [RFC3805] mapped indirectly from</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">    ; the *label* in PrtMarkerSuppliesTypeTC in [IANAPRT]</span><br style="font-family: courier new,monospace;">
<br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">supply-max-capacity = &quot;maxcapacity&quot; &quot;=&quot; 1*[DIGIT / &quot;-&quot;]</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">    ; integer value as a numeric string mapped directly from</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">    ; prtMarkerSuppliesMaxCapacity in [RFC3805]</span><br style="font-family: courier new,monospace;">
<br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">supply-level        = &quot;level&quot; &quot;=&quot; 1*[DIGIT / &quot;-&quot;]</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">    ; integer value as a numeric string mapped directly from</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">    ; prtMarkerSuppliesLevel in [RFC3805]</span><br style="font-family: courier new,monospace;">
<br style="font-family: courier new,monospace;"><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">supply-index        = &quot;index&quot; &quot;=&quot; 1*DIGIT</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">    ; integer value as a numeric string mapped directly from</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">    ; prtMarkerSuppliesIndex in [RFC3805]</span><br style="font-family: courier new,monospace;">
<br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">marker-index        = &quot;markerindex&quot; &quot;=&quot; 1*DIGIT</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">    ; integer value as a numeric string mapped directly from</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">    ; prtMarkerSuppliesMarkerIndex in [RFC3805]</span><br style="font-family: courier new,monospace;"><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">supply-class        = &quot;class&quot; &quot;=&quot; 1*ALPHA</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">    ; enumerated value as an alpha string (e.g., &#39;other&#39;) of</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">    ; prtMarkerSuppliesClass in [RFC3805] mapped indirectly from</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">    ; the *label* in PrtMarkerSuppliesClassTC in [RFC3805]</span><br style="font-family: courier new,monospace;"><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">supply-unit         = &quot;unit&quot; &quot;=&quot; 1*ALPHA</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">    ; enumerated value as an alpha string (e.g., &#39;other&#39;) of</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">    ; prtMarkerSuppliesSupplUnit in [RFC3805] mapped indirectly from</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">    ; the *label* in PrtMarkerSuppliesSupplyUnitTC in [RFC3805]</span><br style="font-family: courier new,monospace;"><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">colorant-index      = &quot;colorantindex&quot; &quot;=&quot; 1*DIGIT</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">    ; integer value as a numeric string mapped directly from</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">    ; prtMarkerColorantIndex in [RFC3805]</span><br style="font-family: courier new,monospace;">
<br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">colorant-role       = &quot;colorantrole&quot; &quot;=&quot; 1*ALPHA</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">    ; enumerated value as an alpha string (e.g., &#39;other&#39;) of</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">    ; prtMarkerColorantRole in [RFC3805] mapped indirectly from</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">    ; the *label* in PrtMarkerColorantRoleTC in [RFC3805]</span><br style="font-family: courier new,monospace;"><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">colorant-name       = &quot;colorantname&quot; &quot;=&quot; 1*ALPHA</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">    ; string value as an alpha string mapped directly from</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">    ; prtMarkerColorantValue in [RFC3805]</span><br style="font-family: courier new,monospace;">
<br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">colorant-tonality   = &quot;coloranttonality&quot; &quot;=&quot; 1*DIGIT</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">    ; integer value as a numeric string mapped directly from</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">    ; prtMarkerColorantTonality in [RFC3805]</span><br style="font-family: courier new,monospace;">
<br style="font-family: courier new,monospace;"><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">                    Examples of printer-supply</span><br style="font-family: courier new,monospace;">
<br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">printer-supply[1] =</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">    type=toner;maxcapacity=100;level=75;index=1;markerindex=1;</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">    class=supplyThatIsConsumed;unit=percent;</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">    colorantindex=4;colorantrole=process;colorantname=cyan;</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">    coloranttonality=128;</span><br style="font-family: courier new,monospace;"><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">printer-supply[2] =</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">    type=toner;maxcapacity=100;level=72;index=2;markerindex=1;</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">    class=supplyThatIsConsumed;unit=percent;</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">    colorantindex=4;colorantrole=process;colorantname=magenta;</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">    coloranttonality=128;</span><br style="font-family: courier new,monospace;">
<br>
<div style="visibility: hidden; left: -5000px;" id="avg_ls_inline_popup"></div><style type="text/css">#avg_ls_inline_popup{position: absolute;z-index: 9999;padding: 0px 0px;margin-left: 0px;margin-top: 0px;overflow: hidden;word-wrap: break-word;color: black;font-size: 10px;text-align: left;line-height: 130%;}</style>
<br />-- 
<br />This message has been scanned for viruses and
<br />dangerous content by
<a href="http://www.mailscanner.info/"><b>MailScanner</b></a>, and is
<br />believed to be clean.