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

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

Hastings, Tom N hastings at cp10.es.xerox.com
Wed May 16 17:00:51 EDT 2001


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 at 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 at 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 at 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 at 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 at 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 at 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



More information about the Ipp mailing list