attachment-0001

<br clear="all">Hi Mike,                                       Sunday (6 November 2011)<br><br>Below is ABNF for new &quot;printer-input-tray&quot; and &quot;printer-output-tray&quot;<br>string attributes (i.e., 1setOf (octetString) since they&#39;re fixed in<br>
UTF-8 only and not variable charset).<br><br>They are based on Printer MIB v2 conformance requirements, media source<br>key properties, and DMTF CIM ranking activity by WIMS WG in 2006.  The<br>reference for that activity (I think we should add as an Informative<br>
reference) is:<br><br>DMTF CIM Ranking of Printer MIB v2 Objects, WIMS WG, September 2006,<br><a href="ftp://ftp.pwg.org/pub/pwg/wims/cim/">ftp://ftp.pwg.org/pub/pwg/wims/cim/</a><br>    PrinterMibObjectsToAdd_conclusions_20060921_F.pdf<br>
<br>Mike - note the attribute conformance tables have been included.  Also<br>note I fixed the table headers to more accurate &quot;Printer MIB Object&quot;.<br><br>Comments?<br><br>Cheers,<br>- Ira<br><br>------------------------------------------------------------------------<br>
<br>Notes:<br><br>(1) prtInputIndex is OPTIONAL in &quot;printer-input-tray&quot;, because<br>correlation with the original MIB order is considered unimportant.<br><br>(2) prtInputMediaName, prtInputMediaType, and prtInputMediaColor are<br>
RECOMMENDED in &quot;printer-input-tray&quot;, because they are important but<br>often unknown to the printer (while loaded media dimensions are usually<br>known).<br><br>(3) prtInputMediaWeight is OPTIONAL in &quot;printer-input-tray&quot;, because<br>
because most Printers can&#39;t sense loaded media weight.<br><br>(4) Printer MIB objects without corresponding IPP keywords are *not*<br>mapped, per DMTF CIM ranking activity in WIMS WG in 2006.<br><br>            Table X - Keywords for printer-input-tray<br>
<br>Printer MIB Object      IPP Datatype    IPP Keyword         Conformance<br>------------------      ------------    -----------         -----------<br>prtInput...<br>Index (note 1)          Integer         index               OPTIONAL<br>
Type                    String          type                REQUIRED<br>DimUnit                 String          dimunit             RECOMMENDED<br>MediaDimFeedDirDeclared Integer         mediafeed           REQUIRED<br>MediaDimXFeedDirDeclared Integer        mediaxfeed          REQUIRED<br>
MediaDimFeedDirChosen   ---             ---                 ---<br>MediaDimXFeedDirChosen  ---             ---                 ---<br>CapacityUnit            String          unit                RECOMMENDED<br>MaxCapacity             Integer         maxcapacity         REQUIRED<br>
CurrentLevel            Integer         level               REQUIRED<br>Status                  Integer         status              REQUIRED<br>MediaName (note 2)      String          medianame           RECOMMENDED<br>Name                    String          name                REQUIRED<br>
VendorName              ---             ---                 ---<br>Model                   ---             ---                 ---<br>Version                 ---             ---                 ---<br>SerialNumber            ---             ---                 ---<br>
Security                ---             ---                 ---<br>MediaWeight (note 3)    Integer         mediaweight         OPTIONAL<br>MediaType (note 2)      String          mediatype           RECOMMENDED<br>MediaColor (note 2)     String          mediacolor          RECOMMENDED<br>
MediaFormParts          ---             ---                 ---<br>MediaLoadTimeout        ---             ---                 ---<br>NextIndex               ---             ---                 ---<br><br><br>                    Examples of printer-input-tray<br>
<br>printer-input-tray[1] =<br>    type=sheetFeedAutoRemovableTray;<br>    mediafeed=110000;mediaxfeed=85000;<br>    maxcapacity=500;level=100;status=8;name=Tray1;<br>    index=1;dimunit=tenThousandthsOfInches;unit=sheets;<br>
    medianame=na-letter;mediaweight=-2;<br>    mediatype=stationery;mediacolor=blue;<br><br>printer-input-tray[2] =<br>    type=sheetFeedAutoRemovableTray;<br>    mediafeed=110000;mediaxfeed=85000;<br>    maxcapacity=100;level=20;status=8;name=Tray2;<br>
    index=2;dimunit=tenThousandthsOfInches;unit=sheets;<br>    medianame=na-letter;mediaweight=-2;<br>    mediatype=photographic;mediacolor=white;<br><br><br>            Figure X - ABNF for &quot;printer-input-tray&quot; values<br>
<br>printer-input-tray  = *input-required *[input-optional]<br>    ; set of input elements encoded into one value<br><br>input-required      = input-req &quot;;&quot;<br>input-req           = input-type /<br>                      input-media-feed /<br>
                      input-media-xfeed /<br>                      input-max-capacity /<br>                      input-level /<br>                      input-status /<br>                      input-name<br><br>input-optional      = input-opt &quot;;&quot;<br>
input-opt           = input-index /<br>                      input-dim-unit /<br>                      input-unit /<br>                      input-media-name /<br>                      input-media-weight /<br>                      input-media-type /<br>
                      input-media-color<br><br>input-type          = &quot;type&quot; &quot;=&quot; 1*ALPHA<br>    ; enumerated value as an alpha string<br>    ; (e.g., &#39;sheetFeedAutoRemovableTray&#39;) of prtInputType<br>
    ; in [RFC3805] mapped indirectly from<br>    ; the *label* in PrtInputTypeTC in [IANAPRT]<br><br>input-media-feed    = &quot;mediafeed&quot; &quot;=&quot;  1*[DIGIT / &quot;-&quot;]<br>    ; integer value as a numeric string mapped directly from<br>
    ; prtInputMediaDimFeedDirDeclared in [RFC3805]<br><br>input-media-xfeed   = &quot;mediaxfeed&quot; &quot;=&quot;  1*[DIGIT / &quot;-&quot;]<br>    ; integer value as a numeric string mapped directly from<br>    ; prtInputMediaDimXFeedDirDeclared in [RFC3805]<br>
<br>input-max-capacity  = &quot;maxcapacity&quot; &quot;=&quot; 1*[DIGIT / &quot;-&quot;]<br>    ; integer value as a numeric string mapped directly from<br>    ; prtInputMaxCapacity in [RFC3805]<br><br>input-level         = &quot;level&quot; &quot;=&quot; 1*[DIGIT / &quot;-&quot;]<br>
    ; integer value as a numeric string mapped directly from<br>    ; prtInputCurrentLevel in [RFC3805]<br><br>input-status        = &quot;status&quot; &quot;=&quot; 1*DIGIT<br>    ; integer value as a numeric string mapped directly from<br>
    ; prtInputStatus in [RFC3805]<br><br>input-name          = &quot;name&quot; &quot;=&quot; 1*ALPHA<br>    ; string value as an alpha string mapped directly from<br>    ; prtInputName in [RFC3805]<br><br><br>input-index         = &quot;index&quot; &quot;=&quot; 1*DIGIT<br>
    ; integer value as a numeric string mapped directly from<br>    ; prtInputIndex in [RFC3805]<br><br>input-dim-unit      = &quot;dimunit&quot; &quot;=&quot; 1*ALPHA<br>    ; enumerated value as an alpha string (e.g., &#39;other&#39;) of<br>
    ; prtInputDimUnit in [RFC3805] mapped indirectly from<br>    ; the *label* in PrtMediaUnitTC in [RFC3805]<br><br>input-unit          = &quot;unit&quot; &quot;=&quot; 1*ALPHA<br>    ; enumerated value as an alpha string (e.g., &#39;other&#39;) of<br>
    ; prtInputCapacityUnit in [RFC3805] mapped indirectly from<br>    ; the *label* in PrtCapacityUnitTC in [RFC3805]<br><br>input-media-name    = &quot;medianame&quot; &quot;=&quot; 1*ALPHA<br>    ; string value as an alpha string mapped directly from<br>
    ; prtInputMediaName in [RFC3805]<br><br>input-media-weight  = &quot;mediaweight&quot; &quot;=&quot; 1*[DIGIT / &quot;-&quot;]<br>    ; integer value as a numeric string mapped directly from<br>    ; prtInputMediaWeight in [RFC3805]<br>
<br>input-media-type    = &quot;mediatype&quot; &quot;=&quot; 1*ALPHA<br>    ; string value as an alpha string mapped directly from<br>    ; prtInputMediaType in [RFC3805]<br><br>input-media-color   = &quot;mediacolor&quot; &quot;=&quot; 1*ALPHA<br>
    ; string value as an alpha string mapped directly from<br>    ; prtInputMediaColor in [RFC3805]<br><br>------------------------------------------------------------------------<br><br>Notes:<br><br>(1) prtOutputIndex is OPTIONAL in &quot;printer-output-tray&quot;, because<br>
correlation with the original MIB order is considered unimportant.<br><br>(2) prtOutputDimUnit, prtOutputMaxDimFeedDir, prtOutputMaxDimXFeedDir,<br>prtOutputMinDimFeedDir, and prtOutputMinDimXFeedDir are *not* mapped,<br>
because they were rated &quot;C&quot; (low priority) in the DMTF CIM ranking<br>activity in WIMS WG in 2006.<br><br>(3) prtOutputStackingOrder, prtOututPageDeliveryOrientation, and<br>prtOutputOffsetStacking are OPTIONAL in &quot;printer-output-tray&quot;, because<br>
they were rated &quot;B&quot; (medium priority) in the DMTF CIM ranking activity<br>in WIMS WG in 2006.<br><br>(4) Printer MIB objects without corresponding IPP keywords are *not*<br>mapped, per DMTF CIM ranking activity in WIMS WG in 2006.<br>
<br>            Table Y - Keywords for printer-output-tray<br><br>Printer MIB Object      IPP Datatype    IPP Keyword         Conformance<br>------------------      ------------    -----------         -----------<br>prtOutput...<br>
Index (note 1)          Integer         index               OPTIONAL<br>Type                    String          type                REQUIRED<br>CapacityUnit            String          unit                RECOMMENDED<br>MaxCapacity             Integer         maxcapacity         REQUIRED<br>
RemainingCapacity       Integer         remaining           REQUIRED<br>Status                  Integer         status              REQUIRED<br>Name                    String          name                REQUIRED<br>VendorName              ---             ---                 ---<br>
Model                   ---             ---                 ---<br>Version                 ---             ---                 ---<br>SerialNumber            ---             ---                 ---<br>Security                ---             ---                 ---<br>
DimUnit (note 2)        ---             ---                 ---<br>MaxDimFeedDir (note 2)  ---             ---                 ---<br>MaxDimXFeedDir (note 2) ---             ---                 ---<br>MinDimFeedDir (note 2)  ---             ---                 ---<br>
MinDimXFeedDir (note 2) ---             ---                 ---<br>StackingOrder (note 3)  String          stackingorder       OPTIONAL<br>PageDeliveryOrientation String          pagedelivery        OPTIONAL<br>    (note 3)<br>
Bursting                ---             ---                 ---<br>Decollating             ---             ---                 ---<br>PageCollated            ---             ---                 ---<br>OffsetStacking (note 3) String          offsetstacking      OPTIONAL<br>
<br><br>                    Examples of printer-output-tray<br><br>printer-output-tray[1] =<br>    type=removableBin;<br>    maxcapacity=500;remaining=-3;status=12;name=LeftOutputBin;<br>    index=1;unit=sheets;stackingorder=firstToLast;<br>
    pagedelivery=faceDown;offsetstacking=notPresent;<br><br>printer-output-tray[2] =<br>    type=removableBin;<br>    maxcapacity=300;remaining=-3;status=0;name=RightOutputBin;<br>    index=2;unit=sheets;stackingorder=firstToLast;<br>
    pagedelivery=faceDown;offsetstacking=notPresent;<br><br><br>            Figure Y - ABNF for &quot;printer-output-tray&quot; values<br><br>printer-output-tray = *output-required *[output-optional]<br>    ; set of output elements encoded into one value<br>
<br>output-required     = output-req &quot;;&quot;<br>output-req          = output-type /<br>                      output-max-capacity /<br>                      output-remaining /<br>                      output-status /<br>
                      output-name<br><br>output-optional     = output-opt &quot;;&quot;<br>output-opt          = output-index /<br>                      output-unit /<br>                      output-stacking-order /<br>                      output-page-delivery /<br>
                      output-offset-stacking<br><br>output-type         = &quot;type&quot; &quot;=&quot; 1*ALPHA<br>    ; enumerated value as an alpha string<br>    ; (e.g., &#39;removableBin&#39;) of prtOutputType<br>    ; in [RFC3805] mapped indirectly from<br>
    ; the *label* in PrtOutputTypeTC in [IANAPRT]<br><br>output-max-capacity = &quot;maxcapacity&quot; &quot;=&quot; 1*[DIGIT / &quot;-&quot;]<br>    ; integer value as a numeric string mapped directly from<br>    ; prtOutputMaxCapacity in [RFC3805]<br>
<br>output-remaining    = &quot;remaining&quot; &quot;=&quot; 1*[DIGIT / &quot;-&quot;]<br>    ; integer value as a numeric string mapped directly from<br>    ; prtOutputRemainingCapacity in [RFC3805]<br><br>output-status       = &quot;status&quot; &quot;=&quot; 1*DIGIT<br>
    ; integer value as a numeric string mapped directly from<br>    ; prtOutputStatus in [RFC3805]<br><br>output-name         = &quot;name&quot; &quot;=&quot; 1*ALPHA<br>    ; string value as an alpha string mapped directly from<br>
    ; prtOutputName in [RFC3805]<br><br><br>output-index        = &quot;index&quot; &quot;=&quot; 1*DIGIT<br>    ; integer value as a numeric string mapped directly from<br>    ; prtOutputIndex in [RFC3805]<br><br>output-unit         = &quot;unit&quot; &quot;=&quot; 1*ALPHA<br>
    ; enumerated value as an alpha string (e.g., &#39;other&#39;) of<br>    ; prtOutputCapacityUnit in [RFC3805] mapped indirectly from<br>    ; the *label* in PrtCapacityUnitTC in [RFC3805]<br><br>output-stacking-order = &quot;stackingorder&quot; &quot;=&quot; 1*ALPHA<br>
    ; enumerated value as an alpha string (e.g., &#39;firstToLast&#39;) of<br>    ; prtOutputStackingOrder in [RFC3805] mapped indirectly from<br>    ; the *label* in PrtOutputStackingOrderTC in [RFC3805]<br><br>output-page-delivery = &quot;pagedelivery&quot; &quot;=&quot; 1*ALPHA<br>
    ; enumerated value as an alpha string (e.g., &#39;faceUp&#39;) of<br>    ; prtOutputPageDeliveryOrientation in [RFC3805] mapped indirectly<br>    ; from the *label* in PrtOutputPageDeliveryOrientationTC in<br>    ; [RFC3805]<br>
<br>output-offset-stacking = &quot;offsetstacking&quot; &quot;=&quot; 1*ALPHA<br>    ; enumerated value as an alpha string (e.g., &#39;notPresent&#39;) of<br>    ; prtOutputOffsetStacking in [RFC3805] mapped indirectly from<br>
    ; the *label* in PresentOnOff in [RFC3805]<br><br>------------------------------------------------------------------------<br><br>
<div style="visibility: hidden; left: -5000px;" id="avg_ls_inline_popup"></div>
<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.