IPP> Re: MOD OLD NEW Issue: Contradictory NLO requirements

IPP> Re: MOD OLD NEW Issue: Contradictory NLO requirements

IPP> Re: MOD OLD NEW Issue: Contradictory NLO requirements

Brian R Glass briangl at pogo.WV.TEK.COM
Thu Oct 8 19:07:53 EDT 1998


(my apologies for the second email.  As I was thinking about
 this I realized that my diagrams needed some clearification)

All,

I find natual language in IPP somewhat confusing.  Usually,
drawing a picture helps me to clearify the issues.  Do the
following diagrams accurately describe the way natural
language is supposed to be used in IPP?  

Key:
        NL  = Natural Language          (MOD section 3.1.4.1)
        NLO = Natural Language Override (MOD section 4.1.1.2
                                         4.1.2.2)
        JNL = Job Natural Language      (MOD section 3.2.6.2)


Example 1: Both client and server are English (en)

        request = print-job
        Client (en)                    Server (en)
        --------+                    +--------
                |   request NL=en    |  (job 1)
                | -----------------> |
                |                    |
                |   response NL=en   |
                | <----------------  |

        Request = get-jobs
        Client (en)                     Server (en)
        --------+                    +--------
                |   request NL=en    |
                | -----------------> |
                |                    |
                |   response NL=en   |
                | <----------------  |  (job 1)

Example 2: Client is French (fr) and server is English (en)

        request = print-job
        Client (fr)                    Server (en)
        --------+                    +--------
                |   request NL=fr    |
                | -----------------> |  (job 1)
                |                    |
                |   response NL=en   |
                |           JNL=fr   |
                | <----------------  |

        request = get-jobs
        Client (fr)                     Server (en)
        --------+                    +--------
                |   request NL=fr    |
                | -----------------> |
                |                    |
                |   response NL=en   |
                |           JNL=fr   |
                | <----------------  |  (job 1)


Example 3: Client1 is English (en), client2 is French (fr),
	   and server is English (en)

        request = print-job
        Client1 (en)                    Server (en)
        --------+                    +--------
                |   request NL=en    |
                | -----------------> |  (job 1)
                |                    |
                |   response NL=en   |
                | <----------------  |

        request = get-jobs
        Client2 (fr)                     Server (en)
        --------+                    +--------
                |   request NL=fr    |
                | -----------------> |
                |                    |
                |   response NL=en   |
                |           JNL=fr   |
		|   NLO=en: for      |
		|   attrs that need  |
		|   it.              |
                | <----------------  |  (job 1)


Example 4: Client is French (fr) and server is English (en).  
           In addition the client uses NLO=el (Greek) for 
           requesting-user-name

        request = print-job
        Client (fr)                    Server (en)
        --------+                    +--------
                |   request NL=fr    |
                |   user name: NLO=el|
                | -----------------> |  (job 1)
                |                    |
                |   response NL=en   |
                |           JNL=fr   |
                |   user name: NLO=el|
                | <----------------  |

        request = get-jobs
        Client (fr)                     Server (en)
        --------+                    +--------
                |   request NL=fr    |
                | -----------------> |
                |                    |
                |   response NL=en   |
                |           JNL=fr   |
                |   user name: NLO=el|
                | <----------------  |  (job 1)

Note that all attributes returned are in the JNL language
(French in this case) except the user name (job-originating-
user-name) which is in Greek.

Example 5: Client1 is French (fr) and server is English (en).  
           In addition the client uses NLO=el (Greek) for 
           requesting-user-name.  Client2 is Greek (el).
           Client3 is German (de)

        request = print-job
        Client1 (fr)                    Server (en)
        --------+                    +--------
                |   request NL=fr    |
                |   user name: NLO=el|  (job 1)
                | -----------------> |
                |                    |
                |   response NL=en   |
                |           JNL=fr   |
                |   user name: NLO=el|
                | <----------------  |

        request = get-jobs
        Client2 (el)                    Server (en)
        --------+                    +--------
                |   request NL=el    |
                | -----------------> |
                |                    |
                |   response NL=en   |
                |           JNL=el   |
                | <----------------  |  (job 1)

        request = get-jobs
        Client3 (de)                    Server (en)
        --------+                    +--------
                |   request NL=de    |
                | -----------------> |
                |                    |
                |   response NL=en   |
                |           JNL=de   |
                |   user name: NLO=el|
                | <----------------  | (job 1)

Note how client2 and client3 differ in their need for NLO.
      

Example 6: Client is French (fr) and server is English (en)

        Request = get-printer-attributes
        Client (fr)                     Server (en)
        --------+                    +--------
                |   request NL=fr    |
                | -----------------> |
                |                    |
                |   response NL=en   |
                | <----------------  |



Carl stated in a previous email:
>There is a precedence hierarchy here:
>
>  1. Natural Language Override
>  2. Job object's "attributes-natural-language" value
>  3. "attributes-natural-language" operation attribute of the response.
>
> 1 overrides 2 and 3, 2 overrides 3.

Stated with regards to my diagrams:             
 1) all response attributes are returned in the language
    specified by the "response NL" 
 2) Number 1 above is true unless a JNL is being returned
    and then all response attributes are returned in the 
    language specified by the JNL.
 3) Number 1 and 2 above are true unless a NLO is used for
    a specific attribute.

Does this look correct?


Brian
-- 
=============================================================
Brian R. Glass                                 Tektronix, Inc
                                             26600 SW Parkway
Color Printing & Imaging Division                 PO Box 1000
                                                    MS 60-368
mailto:Brian.Glass at tek.com         Wilsonville, OR 97070-1000
http://www.tek.com/Color_Printers              (503) 685-2456
=============================================================



More information about the Ipp mailing list