attachment-0001
<html>
<font size=3>I vote NO for the proposal to remove textWithoutLanguage and
<br>
nameWithoutLanguage. I could be persuaded to change my vote with cogent
<br>
arguments.<br>
<br>
If this change had been proposed 9 months ago, I might have supported it.
<br>
<br>
But now I have written the code, and I suspect others have too. If
an <br>
implementer views textWithLanguage and nameWithLanguage as the true
internal <br>
data types, and views textWithoutLanguage and nameWithoutLangage as
protocol <br>
optimizations, then the code for handling textWithoutLanguage and <br>
nameWithoutLangage is trivial. Ripping out the existing code to conform
with <br>
the proposal is probably about as much work as adding code to handle the
<br>
existing specification.<br>
<br>
There are more severe implementation problems with the IPP design, such
as <br>
the encoding of an empty set. It is the keyword "none"
for some values and <br>
the enum 3 (for 'none') for other values. An out-of-bound value of
"none" <br>
would have been a better choice. <br>
<br>
Historically, we arrived at this solution because we believed that <br>
textWithoutLanguage and nameWithoutLangage were a 95% or better
solution. <br>
We added the textWithLanguage and nameWithLanguage types to handle the
very <br>
unusual case where a server is operating in a multilingual
environment. <br>
When we added the textWithLanguage and nameWithLanguage types, we decided
<br>
not to delete the textWithoutLanguage and nameWithoutLangage types
because <br>
we didn't want clients and servers operating in the most typical
environment <br>
to deal with the overhead of textWithLanguage and nameWithLanguage.
Perhaps <br>
we were overly concerned with overhead for this mechanism where we
weren't <br>
in other parts of the protocol.<br>
<br>
<br>
Bob Herriot<br>
<br>
<br>
At 07:53 AM 10/21/98 , Hastings, Tom N wrote:<br>
>Summary: This mail messages proposes to remove the
'textWithoutLanguage'<br>
>and 'nameWithoutLanguage' attribute syntaxes and require all 'text'
and<br>
>'name' attributes to always explicitly include the natural language
using<br>
>the 'textWithLanguage' and 'nameWithLanguage' syntaxes.<br>
><br>
>*************************************************************<br>
>* The proposal to vote on is to require all attributes to
always<br>
>* use the 'textWithLanguage' and 'nameWithLanguage' forms<br>
>* and to delete the 'textWithoutLanguage' and <br>
<font size=3>>* 'nameWithoutLanguage' forms.<br>
>*<br>
>* Please indicate your acceptance or rejection of this <br>
>* proposal on the mailing list by Monday, Nov 2.<br>
>*************************************************************<br>
><br>
>This change will affect implementations that correctly implement the
June<br>
>1998 Mode and Semantics specification. Implementations that
only support<br>
>the 'textWithoutLanguage' and 'nameWithoutLanguage' would need to be
changed<br>
>to conform to either the June specification or this proposal (and
changing<br>
>to this proposal would be easier than the June specification which
requires<br>
>supporting both forms of 'text' and both forms of 'name').<br>
><br>
>Background:<br>
><br>
>Currently requests and responses that supply 'text' and 'name'
attributes in<br>
>a different natural language than that supplied for the request or
response<br>
>as a whole as indicated in the
"attributes-natural-language" Operation<br>
>attribute MUST include the different natural language explicitly as
an<br>
>override (and MAY include it explicitly even when they are the same
--<br>
>according to the NLO 2 of 4 clarification). <br>
><br>
>This proposal is to change the Natural Language Override mechanism so
that<br>
>the 'text' attribute syntax is only 'textWithLanguage' and the
'name'<br>
>attribute syntax is only 'nameWithLanguage'. In other words,
each 'text'<br>
>and 'name' attribute would always contain the natural language
explicitly as<br>
>part of the value. (The Encoding and Transport specification -
PRO -<br>
>specifies that 'textWithLanguage' and 'nameWithLanguage' values MUST
be<br>
>encoded as 2 octets of length, the natural-language string, 2 octets
of<br>
>length, and the text or name value.)<br>
><br>
>Eliminating one of the two forms of 'text' and one of the two forms
of<br>
>'name' attribute syntax will simplify comparison in job validation,
since<br>
>the "xxx" attribute syntax code would have to match the
corresponding<br>
>"xxx-supported".<br>
><br>
>The PRO document would simply delete the 'textWithoutLanguage'
and<br>
>'nameWithoutLanguage' attribute syntaxes.<br>
><br>
><br>
>This proposal does not change any other parts of the Model:<br>
><br>
>1. The "attributes-natural-language" operation attribute in
requests MUST<br>
>still be supplied by the client to indicate its preference for
natural<br>
>language to be returned in responses as currently specified in
Section<br>
>3.1.4.1 and 3.2.1.1. <br>
><br>
>Rationale: So that an implementation that implements the
OPTIONAL<br>
>"status-message" response attribute will know which natural
language to use.<br>
><br>
>2. For create operations, the IPP Printer MUST still copy
the<br>
>"attributes-natural-language" operation attribute supplied
by the client to<br>
<font size=3>>the job object as currently specified in Section
3.2.1.1. <br>
><br>
>Rationale: Subsequent communication with the submitting user,
such as<br>
>operator messages, notification using e-mail, and the job-sheets MAY
want to<br>
>use the natural language of the job submitter.<br>
><br>
>3. All responses MUST return the
"attributes-natural-language" operation<br>
>attribute as specified in 3.1.4.2, though it no longer has any effect
on the<br>
>interpretation of any of the returned attributes. <br>
><br>
>Rationale: no need to change this behavior, since all
implementations seem<br>
>to be doing it. Removing it would save only 37-40 octets per
response.<br>
><br>
><br>
><br>
>Tom Hastings<br>
>(310) 333-6413<br>
> </font><br>
</html>