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