IPP Mail Archive: IPP> RE: Revised ABNF per Monday's Phone C

IPP> RE: Revised ABNF per Monday's Phone Conference [today's telecon s uggestion]

From: Hastings, Tom N (hastings@cp10.es.xerox.com)
Date: Wed May 16 2001 - 17:00:51 EDT

  • Next message: Hastings, Tom N: "IPP> Proposed deletions and additions to Media Types for Media Std"

    Ron,

    Ira, Norbert, Bob, and I met today for the Media Standardized Name telecon.

    Here is our suggestion for the ABNF which should meet everyone's objectives:

    1. Treat in and mm class names equally in the ABNF.

    2. Do include the class names for both in and mm in the ABNF (as you
    suggested).

    3. Also include two new productions for registered in and mm class names to
    show their allowed syntaxes. Otherwise, what can be registered and what can
    Recipient code be expected to accept?

    4. Invent more suggestive names for the four class productions, than class1,
    class2, class3, and class4. We suggest: class-in, class-mm,
    class-registered-in, and class-registered-mm.

    5. Allow the "." for registered class names.

    So here is the complete ABNF section that we suggest, followed by the custom
    ABNF:

    5.1 Media Size Self Describing Name Format
    This specification defines a new Media Size Self Describing Name format that
    is recommended to be used by all new implementations. This new format has
    the Media Size Name and the Media Dimensions embedded within the string and
    allows a device to operate without a Media Size Name to Media Dimensions
    table. The Media Size Self Describing Name format is structured as follows
    using ABNF:

    media-size-self-describing-name =
              ( class-na "_" size-name "_" short-dim "x" long-dim "in" ) |
              ( class-mm "_" size-name "_" short-dim "x" long-dim "mm" ) |
              ( class-registered-na "_" size-name "_" short-dim "x" long-dim
    "in" ) |
              ( class-registered-mm "_" size-name "_" short-dim "x" long-dim
    "mm" )

       class-na = "na" | "asme" | "oe"

       class-mm = "iso" | "jis" | "jpn" | "prc" | "roc" | "om"

       class-registered-na = lowalpha *( lowalpha | digit | "." )

       class-registered-mm = lowalpha *( lowalpha | digit | "." )

       size-name = ( lowalpha | digit ) *( lowalpha | digit | "-" )

       short-dim = dim

       long-dim = dim

       dim = integer-part [fraction-part] | "0" fraction-part

       integer-part = non-zero-digit *digit

       fraction-part = "." *digit non-zero-digit

       lowalpha = "a" | "b" | "c" | "d" | "e" | "f" | "g" | "h" | "i" |
                  "j" | "k" | "l" | "m" | "n" | "o" | "p" | "q" | "r" |
                  "s" | "t" | "u" | "v" | "w" | "x" | "y" | "z"

       non-zero-digit = "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9"

       digit = "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9"

    5.1.1 class-in This string part is present to indicate the name space or
    jurisdiction for the size name in order to prevent name clashes for English
    (inch) dimensions. Examples include "na" for North America, "asme" for the
    American Society of Mechanical Engineers, "oe" for other English.

    5.1.2 class-mm This string part is present to indicate the name space or
    jurisdiction for the size name in order to prevent name clashes for metric
    (millimeter) dimensions. Examples include "iso" for the International
    Standards Organization, "jis" for Japanese Information Standard, "jpn" for
    Japan, "prc" for People's Republic of China, "roc" for Republic of China
    (Taiwan), and "om" for other metric.

    5.1.3 class-registered-in This string part is present to indicate a
    registered class name that uses the English (in) dimensions. See section
    TBD for the registration procedures that define additional standardized
    names after this standard is published.

    5.1.4 class-registered-nn This string part is present to indicate a
    registered class name that uses the metric (mm) dimensions. See section TBD
    for registration procedures that define additional standardized names after
    this standard is published.

    5.1.5 size-name This string provides a textual description of the media
    size. It is normally derived from the Legacy or Alias name associated with
    the media size. The size-name can consist of multiple parts, with each part
    separated by a hyphen (0x2D).

    5.1.6 short-dim and long-dim These values define the media size. The
    short-dim is always the smaller of the two dimensions. The dimensions are
    presented in decimal format to as many places as necessary to define the
    size. Trailing zeros must never be used if a decimal portion is present.

    5.1.7 ( "in" | "mm" ) These values define the units of measure for the
    media size which are inches (in) and millimeters (mm). For interchange
    between programs, the dimensions are never converted to the other system of
    units, but must remain as defined in this standard. Furthermore, an
    identical size shall never appear in this standard [I propose we delete the
    previous 3 words, since the requirement should apply wherever these names
    are interchanges - Tom] with different units. Programs may convert the
    dimensions to other units when displaying these names to human users and for
    internal use, both of which are outside the scope of this standard.

    5.1.8 General
    The Media Size Self Describing Name shall not contain any space characters
    (0x20).
    Wherever possible, the Media Size Self Describing Name has been derived from
    the Legacy Name. In many cases the class portion is identical to the Legacy
    Name. In the remaining cases, the class portion must be ignored to match
    the Legacy Name.

    5.1.6 Examples:
    The letter size (8.5 inches by 11 inches) used in North America:
    na_letter_8.5x11in
    The iso A4 size (210 mm by 297 mm) used in metric countries:
    iso_a4_210x297mm

    5.2 Custom Media Size Self Describing Name Format
    The Custom Media Size Self Describing Name format allows extensibility of
    the media size set without an update to this specification. This feature is
    primarily intended for special media sizes that are used at a minimum number
    of locations. The Media Size Self Describing Name format for custom sizes
    is almost identical to the format for the standardized sizes:

       custom-media-size-self-describing-name =
          "custom" "_" [ size-name ] "_" short-dim "x" long-dim ( "in" | "mm" )

    Refer to section 5.1 for the remaining ABNF definitions for the above.
        
    5.2.1 Example: A custom form measuring 6 inches by 14 inches known as
    "long and narrow".

       custom_long-and-narrow_6x14in or custom_ln_6x14in

    5.2.2 The size-name "max" shall be reserved to indicate an upper size
    limit of either a device or application. Also, the size-name "min" shall be
    reserved to indicate a lower size limit. Example: For a device that can
    process forms as small as 2 x 3 inches to 18 x 36 inches:

        custom_max_18x36in and custom_min_2x3in

    Comments?

    Thanks,
    Tom

    -----Original Message-----
    From: Bergman, Ron [mailto:Ron.Bergman@Hitachi-hkis.com]
    Sent: Tuesday, May 15, 2001 15:54
    To: 'Hastings, Tom N'; Bergman, Ron; Ira McDonald (E-mail); Don Wright
    (E-mail)
    Cc: 'ipp@pwg.org'
    Subject: RE: Revised ABNF per Monday's Phone Conference

    Tom,

    I known we discussed both of your issues, but I do not recall such an
    agreement.

    It was my understanding that all class names need to be registered as either
    "inch class" or "mm class". This was the only way to guarantee their
    uniqueness.

    And to keep the class names simple, they were to be a single word.

    What is the advantage of not adding the class to the ABNF? We must always
    update the document to add any new names, and the ABNF can be updated at the
    same time.

            Ron

    -----Original Message-----
    From: Hastings, Tom N [mailto:hastings@cp10.es.xerox.com]
    Sent: Tuesday, May 15, 2001 11:01 AM
    To: Bergman, Ron; Ira McDonald (E-mail); Don Wright (E-mail)
    Cc: 'ipp@pwg.org'
    Subject: RE: Revised ABNF per Monday's Phone Conference

    I believe that we agreed that the mm class names wouldn't need to be
    explicitly listed in the ABNF, since most new class names that are
    registered will be using the "mm" units. Then we don't have to update the
    ABNF, except in the unlikely event that a class name that uses "in" units is
    registered.

    Also we agreed that the registered class names couldn't have "-" in them,
    but could have "." (as in registry path names).

    So here is my suggested ABNF instead (which just changes the class2 line):

    media-size-self-describing-name =
              ( class1 "_" size-name "_" short-dim "x" long-dim "in" ) |
              ( class2 "_" size-name "_" short-dim "x" long-dim "mm" )

       class1 = "na" | "asme" | "oe"

       class2 = lowalpha *( lowalpha | digit | "." )

       size-name = ( lowalpha | digit ) *( lowalpha | digit | "-" )

       short-dim = dim

       long-dim = dim

       dim = integer-part [fraction-part] | "0" fraction-part

       integer-part = non-zero-digit *digit

       fraction-part = "." *digit non-zero-digit

       lowalpha = "a" | "b" | "c" | "d" | "e" | "f" | "g" | "h" | "i" |
                  "j" | "k" | "l" | "m" | "n" | "o" | "p" | "q" | "r" |
                  "s" | "t" | "u" | "v" | "w" | "x" | "y" | "z"

       non-zero-digit = "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9"

       digit = "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9"

    -----Original Message-----
    From: Bergman, Ron [mailto:Ron.Bergman@Hitachi-hkis.com]
    Sent: Tuesday, May 15, 2001 09:18
    To: Tom Hastings (E-mail); Ira McDonald (E-mail); Don Wright (E-mail)
    Cc: 'ipp@pwg.org'
    Subject: Revised ABNF per Monday's Phone Conference

    Here is my proposed ABNF to document the agreed restrictions in yesterday's
    phone call. I may be missing some of the class names but this should
    correctly linl\k each class to only one set of units.

    media-size-self-describing-name =
              ( class1 "_" size-name "_" short-dim "-" long-dim "in" ) |
              ( class2 "_" size-name "_" short-dim "-" long-dim "mm" )

       class1 = "na" | "asme" | "oe"

       class2 = "iso" | "jis" | "jpn" | "prc" | "roc" | "om"

       size-name = ( lowalpha | digit ) *( lowalpha | digit | "-" )

       short-dim = dim

       long-dim = dim

       dim = integer-part [fraction-part] | "0" fraction-part

       integer-part = non-zero-digit *digit

       fraction-part = "." *digit non-zero-digit

       lowalpha = "a" | "b" | "c" | "d" | "e" | "f" | "g" | "h" | "i" |
                  "j" | "k" | "l" | "m" | "n" | "o" | "p" | "q" | "r" |
                  "s" | "t" | "u" | "v" | "w" | "x" | "y" | "z"

       non-zero-digit = "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9"

       digit = "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9"

    Any comments?

            Ron



    This archive was generated by hypermail 2b29 : Wed May 16 2001 - 17:02:28 EDT