RFC Errata


Errata Search

 
Source of RFC  
Summary Table Full Records

RFC 3382, "Internet Printing Protocol (IPP): The 'collection' attribute syntax", September 2002

Note: This RFC has been obsoleted by RFC 8010 RFC 8011

Source of RFC: ipp (app)

Errata ID: 3019
Status: Held for Document Update
Type: Technical

Reported By: Michael Sweet
Date Reported: 2011-11-10
Held for Document Update by: Peter Saint-Andre

Section 7.4 says:

   The overall structure of the two collection values can be pictorially
   represented as:

      "media-col" =
        {  "media-color" =  'blue';
           "media-size" =
           {    "x-dimension" = 6;
                "y-dimension" = 4
             }
        },

   The full encoding is in table 5.  A simplified view of the encoding
   looks like this:

           Table 4 - Overview Encoding of "media-col" collection

      Tag Value             Name                  Value

      begCollection         media-col             ""

      memberAttrName        ""                    media-color

      keyword               ""                    blue

      memberAttrName        ""                    media-size

      begCollection         ""                    ""

      memberAttrName        ""                    x-dimension

      integer               ""                    6

      memberAttrName        ""                    y-dimension

      integer               ""                    4

      endCollection         ""                    ""

      endCollection         ""                    ""


           Table 5 - Example Encoding of "media-col" collection

      Octets       Symbolic Value  Protocol   comments
                                   field

      0x34         begCollection   value-tag  beginning of the "media-
                                              col" collection attribute

      0x0009                       name-      length of (collection)
                                   length     attribute name

      media-col    media-col       name       name of (collection)
                                              attribute

      0x0000                       value-     defined to be 0 for this
                                   length     type

                                              no value (since value-
                                              length was 0)

      0x4A         memberAttrName  value-tag  starts a new member
                                              attribute: "media-color"

      0x0000                       name-      defined to be 0 for this
                                   length     type, so part of 1setOf

                                              no name (since name-length
                                              was 0)

      0x000B                       value-     length of "media-color"
                                   length     keyword

      media-color  media-color     value      value is name of 1st
                                              member attribute


      0x44         keyword type    value-tag  keyword type

      0x0000                       name-      0 indicates 1setOf
                                   length

                                              no name (since name-length
                                              was 0)


      Octets       Symbolic Value  Protocol   comments
                                   field

      0x0004                       value-
                                   length

      blue         blue            value      value of 1st member
                                              attribute


      0x4A         memberAttrName  value-tag  starts a new member
                                              attribute: "media-size"

      0x0000                       name-      defined to be 0 for this
                                   length     type, so part of 1setOf

                                              no name (since name-length
                                              was 0)

      0x000A                       value-     length of "media-size"
                                   length     keyword

      media-size   media-size      value      Name of 2nd member
                                              attribute

      0x34         begCollection   value-tag  Beginning of the "media-
                                              size" collection attribute
                                              which is a sub-collection

      0x0000                       name-      0 indicates 1setOf
                                   length

                                              no name (since name-length
                                              was 0)

      0x0000                       value-     collection attribute names
                                   length     have no value

                                              no value (since value-
                                              length was 0)

      0x4A         memberAttrName  value-tag  starts a new member
                                              attribute: "x-dimension"



      Octets       Symbolic Value  Protocol   comments
                                   field

      0x0000                       name-      defined to be 0 for this
                                   length     type, so part of 1setOf

                                              no name (since name-length
                                              was 0)

      0x000B                       value-     length of "x-dimension"
                                   length     keyword

      x-dimension  x-dimension     value      name of  1st sub-
                                              collection member
                                              attribute


      0x21         integer type    value-tag  attribute type

      0x0000                       name-      0 indicates 1setOf
                                   length

                                              no name (since name-length
                                              was 0)

      0x0004                       value-     length of an integer = 4
                                   length

      0x0006                       value      value of  1st sub-
                                              collection member
                                              attribute

      0x4A         memberAttrName  value-tag  starts a new member
                                              attribute: "y-dimension"

      0x0000                       name-      defined to be 0 for this
                                   length     type, so part of 1setOf

                                              no name (since name-length
                                              was 0)

      0x000B                       value-     length of the "y-
                                   length     dimension" keyword


      Octets       Symbolic Value  Protocol   comments
                                   field

      y-dimension  y-dimension     value      name of  2nd sub-
                                              collection member
                                              attribute

      0x21         integer type    value-tag  attribute type

      0x0000                       name-      0 indicates 1setOf
                                   length

                                              no name (since name-length
                                              was 0)

      0x0004                       value-     length of an integer = 4
                                   length

      0x0004                       value      value of  2nd sub-
                                              collection member
                                              attribute

      0x37         endCollection   value-tag  end of the sub-collection

      0x0000                       name-      defined to be 0 for this
                                   length     type, so part of 1setOf

                                              no name (since name-length
                                              was 0)

      0x0000                       value-     defined to be 0 for this
                                   length     type

                                              no value (since value-
                                              length was 0)

      0x37         endCollection   value-tag  end of the 1st collection
                                              value in 1setOf

      0x0000                       name-      defined to be 0 for this
                                   length     type, so part of 1setOf


      Octets       Symbolic Value  Protocol   comments
                                   field

                                              no name (since name-length
                                              was 0)

      0x0000                       value-     defined to be 0 for this
                                   length     type

                                              no value (since value-
                                              length was 0)

It should say:

   The overall structure of the two collection values can be pictorially
   represented as:

      "media-col" =
        {  "media-color" =  'blue';
           "media-size" =
           {    "x-dimension" = 15240;
                "y-dimension" = 10160
             }
        },

   The full encoding is in table 5.  A simplified view of the encoding
   looks like this:

           Table 4 - Overview Encoding of "media-col" collection

      Tag Value             Name                  Value

      begCollection         media-col             ""

      memberAttrName        ""                    media-color

      keyword               ""                    blue

      memberAttrName        ""                    media-size

      begCollection         ""                    ""

      memberAttrName        ""                    x-dimension

      integer               ""                    15240

      memberAttrName        ""                    y-dimension

      integer               ""                    10160

      endCollection         ""                    ""

      endCollection         ""                    ""


           Table 5 - Example Encoding of "media-col" collection

      Octets       Symbolic Value  Protocol   comments
                                   field

      0x34         begCollection   value-tag  beginning of the "media-
                                              col" collection attribute

      0x0009                       name-      length of (collection)
                                   length     attribute name

      media-col    media-col       name       name of (collection)
                                              attribute

      0x0000                       value-     defined to be 0 for this
                                   length     type

                                              no value (since value-
                                              length was 0)

      0x4A         memberAttrName  value-tag  starts a new member
                                              attribute: "media-color"

      0x0000                       name-      defined to be 0 for this
                                   length     type, so part of 1setOf

                                              no name (since name-length
                                              was 0)

      0x000B                       value-     length of "media-color"
                                   length     keyword

      media-color  media-color     value      value is name of 1st
                                              member attribute


      0x44         keyword type    value-tag  keyword type

      0x0000                       name-      0 indicates 1setOf
                                   length

                                              no name (since name-length
                                              was 0)


      Octets       Symbolic Value  Protocol   comments
                                   field

      0x0004                       value-
                                   length

      blue         blue            value      value of 1st member
                                              attribute


      0x4A         memberAttrName  value-tag  starts a new member
                                              attribute: "media-size"

      0x0000                       name-      defined to be 0 for this
                                   length     type, so part of 1setOf

                                              no name (since name-length
                                              was 0)

      0x000A                       value-     length of "media-size"
                                   length     keyword

      media-size   media-size      value      Name of 2nd member
                                              attribute

      0x34         begCollection   value-tag  Beginning of the "media-
                                              size" collection attribute
                                              which is a sub-collection

      0x0000                       name-      0 indicates 1setOf
                                   length

                                              no name (since name-length
                                              was 0)

      0x0000                       value-     collection attribute names
                                   length     have no value

                                              no value (since value-
                                              length was 0)

      0x4A         memberAttrName  value-tag  starts a new member
                                              attribute: "x-dimension"



      Octets       Symbolic Value  Protocol   comments
                                   field

      0x0000                       name-      defined to be 0 for this
                                   length     type, so part of 1setOf

                                              no name (since name-length
                                              was 0)

      0x000B                       value-     length of "x-dimension"
                                   length     keyword

      x-dimension  x-dimension     value      name of  1st sub-
                                              collection member
                                              attribute


      0x21         integer type    value-tag  attribute type

      0x0000                       name-      0 indicates 1setOf
                                   length

                                              no name (since name-length
                                              was 0)

      0x0004                       value-     length of an integer = 4
                                   length

      0x3b88                       value      value of  1st sub-
                                              collection member
                                              attribute

      0x4A         memberAttrName  value-tag  starts a new member
                                              attribute: "y-dimension"

      0x0000                       name-      defined to be 0 for this
                                   length     type, so part of 1setOf

                                              no name (since name-length
                                              was 0)

      0x000B                       value-     length of the "y-
                                   length     dimension" keyword


      Octets       Symbolic Value  Protocol   comments
                                   field

      y-dimension  y-dimension     value      name of  2nd sub-
                                              collection member
                                              attribute

      0x21         integer type    value-tag  attribute type

      0x0000                       name-      0 indicates 1setOf
                                   length

                                              no name (since name-length
                                              was 0)

      0x0004                       value-     length of an integer = 4
                                   length

      0x27b0                       value      value of  2nd sub-
                                              collection member
                                              attribute

      0x37         endCollection   value-tag  end of the sub-collection

      0x0000                       name-      defined to be 0 for this
                                   length     type, so part of 1setOf

                                              no name (since name-length
                                              was 0)

      0x0000                       value-     defined to be 0 for this
                                   length     type

                                              no value (since value-
                                              length was 0)

      0x37         endCollection   value-tag  end of the 1st collection
                                              value in 1setOf

      0x0000                       name-      defined to be 0 for this
                                   length     type, so part of 1setOf


      Octets       Symbolic Value  Protocol   comments
                                   field

                                              no name (since name-length
                                              was 0)

      0x0000                       value-     defined to be 0 for this
                                   length     type

                                              no value (since value-
                                              length was 0)

Notes:

The "media-col" attribute was defined in PWG 5100.3 (ftp://ftp.pwg.org/pub/pwg/candidates/cs-ippprodprint10-20010212-5100.3.pdf) with units consistent with RFC 3805 - namely hundredths of millimeters. However, since the example in RFC 3382 was for the same attribute, many implementers have made mistakes by using the RFC 3382 example information instead of the normative definitions in PWG 5100.3.

These changes make the example in RFC 3382 match the normative definition in PWG 5100.3.

Report New Errata