I'd like to express an objection to Harry's proposal for case
insensitiveness in media names. As I understand case insensitiveness, any
mixture of upper and lower case characters match and must be treated as
equivalent. Therefore, a recipient (client or Printer) has to convert to
some internal case convention before comparing for a match. But to be user
friendly, such a recipient (Printer) should remember the case that was
originally sent by the client, so that the user when querying the same
attributes subsequently, sees the original case that the user submitted. To
me, such implementation does not lead to "interoperability and
implementation efficiency", but just the opposite.
That is why IPP specifically uses all lower case for keyword attribute
values and so does UPnP. So do other protocols that use IPP semantics.
Even prtInputMediaType object in the Printer MIB (RFC 1759) has all lower
case values defined. Now that we have general agreement in the current
print protocols to use all lower case, why not at least RECOMMEND all lower
case be used by such referencing standards? So I'd like to see something
like Harry's approach, but RECOMMEND that values be all lower case. After
all, keywords are really tokens for programs, not people. Having to deal
with case conversion in a protocol for no benefit, seems a waste.
Also once keyword names are all lower case, then they are also "case
sensitive", allowing for more efficient matching. So if a client supplies a
keyword name with some uppercase characters, they won't match the supported
values that the Printer has (since they are all lower case).
BTW, IPP does RECOMMEND case insensitive matching for attributes with 'name'
data type, but the 'keyword' data type MUST be all lower case (and hence
case sensitive matching for keywords is simpler and correct).
Also I'd like to see the statement moved from the Media Size Self Describing
Names section to the general conformance section for all three kinds of
names, as suggested by Ron.
So using Harry's approach, but making it apply for Media Type Names, Media
Color Names, and Media Size Self Describing Names, the following two
paragraphs would be added to section 6 Conformance Requirements:
" Letters in the names defined in this standard use all lower case. For
interoperability and implementation efficiency, this standard RECOMMENDS
that other referencing standards also use these names in their
all-lower-case form. Then case sensitive matching can be used. However,
other referencing standards MAY allow substitution of any lower case letter
with its corresponding uppercase letter in the names defined in this
standard. Such standards MUST require that such substituted letters be
treated as equivalent to their corresponding lower case letters, i.e.,
case-insensitive matching.
For example, if a referencing standard allows uppercase letters in the names
defined in this standard, then the following examples MUST be equivalent:
'na-letter.8500-11000', 'NA-LETTER.8500-11000, 'NA-Letter.8500-11000',
'Na-LeTtEr.8500-11000'. "
Comments?
Tom
-----Original Message-----
From: Bergman, Ron [mailto:Ron.Bergman at Hitachi-hkis.com]
Sent: Tuesday, April 03, 2001 07:54
To: 'Harry Lewis'; Hastings, Tom N
Cc: 'ipp at pwg.org'; owner-ipp at pwg.org; pmp (E-mail); Bergman, Ron;
'upd at pwg.org'; 'RoBergman at aol.com'
Subject: RE: IPP> RE: Media Names, case sensitivity
Harry,
I like your proposal and unless others express an objection
will add this to the document.
Ron
-----Original Message-----
From: Harry Lewis [mailto:harryl at us.ibm.com]
Sent: Tuesday, April 03, 2001 7:32 AM
To: Hastings, Tom N
Cc: 'ipp at pwg.org'; owner-ipp at pwg.org; pmp (E-mail); Bergman, Ron;
'upd at pwg.org'
Subject: Re: IPP> RE: Media Names, case sensitivity
I suggest something more compact like -
"Media Size Self Describing Names are not case sensitive. As a convention,
they
are presented here using lower case characters. Other referencing standards
may impose case sensitive rules across their own interface. For
interoperability and implementation
efficiency, imposing case sensitivity is not recommended. "
----------------------------------------------
Harry Lewis
IBM Printing Systems
----------------------------------------------
-----Original Message-----
From: Bergman, Ron [mailto:Ron.Bergman at Hitachi-hkis.com]
Sent: Monday, April 02, 2001 18:16
To: 'Hastings, Tom N'; Bergman, Ron
Cc: 'ipp at pwg.org'; 'upd at pwg.org'; 'RonBergman at aol.com'; pmp (E-mail)
Subject: RE: Media Names, case sensitivity
Tom,
See my comments below
Ron
-----Original Message-----
From: Hastings, Tom N [mailto:hastings at cp10.es.xerox.com]
Sent: Monday, April 02, 2001 4:52 PM
To: Bergman, Ron
Cc: 'ipp at pwg.org'; 'upd at pwg.org'; 'RonBergman at aol.com'; pmp (E-mail)
Subject: RE: Media Names, case sensitivity
Ron,
About case sensitivity in names in the Media standard:
Draft 0.3 had:
Media Size Self Describing Names are not case sensitive but will always be
presented in this standard using lower case characters.
What I changed it to was:
While Media Size Self Describing Names are presented in this standard using
lower case characters, other standards that use these names, MUST indicate
the case sensitivity for their conformance. Such other standards MAY:
a) also require only lower case as in this standard
b) allow lower, upper case, and mixed case to be used with the same
meaning as the names in this standard, i.e., case insensitive matching
c) require all uppercase letters to be used with the same meaning as
the corresponding names in this standard.
Discussion:
The important question is what interface is the media standard defining
conformance requirements for? I had assumed that the media standard was NOT
trying to define an interface that the Printer would implement or that a
client would implement, but rather was giving a set of names and their
semantics that other standards would reference.
RB >> I agree!
It would be up to these
other standards to say whether or not case was important. For example, IPP
says that keywords are all lower case, so that both client and Printer can
count on having all lower case and not having to worry about case
conversion. Other protocol, such as the Printer MIB use of MediaType and
UPnP use of MediaType and MediaSize would have to say whether or not case
was important. We might want the Media standard to RECOMMEND that these
other standards only use all lower case. That would lower the burden on a
Printer that is supporting, say, IPP, UPnP, and Printer MIB, if all three
standards REQUIRED that the values be all lower case.
RB >> If IPP requires lower case and UpNP requires upper case, then
responses
from the printer that contain media names have to be converted for one
client
or the other, depending upon the printer table. Existing IPP printers most
likely have the table implemented as lower case. So, I would recommend that
to be compatible we should really REQUIRE lower case. Then it would be
compatible with current IPP clients and servers. The problem is not always
on the printer (server) side, since the client can also send media names to
the server.
RB >> I would prefer to specify "not case sensitive" but I see now that for
IPP compatibility it is best to require lower case.
RB >> A good design will always convert received characters to a specific
case and send any characters in the specified case. It would be best if
all protocols specified and then the sender could use common code for all.
BTW, I have seen some IANA Registries where the tokens are all upper case.
That is why I included alternative c) above as well.
Bottom line: The Media standard is writing conformance for other standards
that reference the Media standard (like the IPP Notification Standard placed
requirements on Delivery Method documents), not conformance for Printers or
clients.
RB >> I agree, and lower case would be the best choice for conformance.
See my replies to your message below preceded by TH>
Comments?
Tom
-----Original Message-----
From: Bergman, Ron [mailto:Ron.Bergman at Hitachi-hkis.com]
Sent: Monday, April 02, 2001 08:57
To: Hastings, Tom N
Cc: 'ipp at pwg.org'; 'upd at pwg.org'; 'RonBergman at aol.com'
Subject: Media Names, case sensitivity
Tom,
I am curious as to why you changed my original statement that the names are
not case sensitive to the the complicated set of requirements that, in
effect,
states "do whatever you want, but explicitly state what you want."
TH> The draft is stating that other standards that use these names do what
they want, but those standards (such as IPP, UPnP, Printer MIB, etc.) MUST
say what they require.
Your specification puts a larger burden on the Printer, since the printer
will
have to conform to the applications. (The printer may have to do a case
conversion for some applications and not others.) So the printer (or other
device) must know the exact format required by the application.
TH> The Printer will have to conform to whatever standards the Printer
chooses to support, i.e., IPP, UPnP, Printer MIB, ...
Just stating the names are not case sensitive, puts the burden on the
client.
TH> I disagree. It depends on what the other standards say about case
sensitivity. Perhaps the Media standard can RECOMMEND that other standards
REQUIRE all lower case, as I suggested above. Wouldn't that help?
RB >> Do any other standards, besides IPP exist?
But the client simply has to do a conversion on all names received to
whatever
case he has chosen for his tables. The client does not need to know what
the printer is sending.
Whatever we conclude,, this text needs will be moved from section 5 to
section 10, since it applies to all the names in the specification.
TH> I agree it should be moved to a section that is common for all the
names. However, section 10 is the authors section.
RB >> I should have said the conformance section.
Ron