<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet type="text/xsl" href="xmlspec.xsl"?>
<!DOCTYPE spec PUBLIC "-//W3C//DTD Specification V2.2//EN" "xmlspec.dtd" [
<!ENTITY DD "20">
<!ENTITY LatestWSi18nUS "http://www.w3.org/TR/ws-i18n-scenarios">
<!ENTITY MM "12">
<!ENTITY WSi18nUS "http://www.w3.org/TR/2002/WD-ws-i18n-scenarios-20021220">
<!ENTITY day "20">
<!ENTITY month "December">
<!ENTITY status "W3C Working Draft">
<!ENTITY year "2002">
]>

<spec w3c-doctype="wd">
<header>
  <title>Web Services Internationalization Usage Scenarios</title>

  <w3c-designation>ws-i18n-scenarios-&year;&MM;&DD;</w3c-designation>
  <w3c-doctype>&status;</w3c-doctype>
  <pubdate><day>&day;</day><month>&month;</month><year>&year;</year></pubdate>


  <publoc>
    <loc href="&WSi18nUS;/">&WSi18nUS;</loc>
  </publoc>

  <altlocs>
    <!--<loc role="available-format" href="&WSi18nUS;/Overview.html">HTML</loc>-->
    <loc role="available-format" href="&WSi18nUS;/Overview.xml">XML</loc>	 
  </altlocs>
  <prevlocs>
     <loc href="">none</loc>
  </prevlocs>
  <latestloc>
    <loc href="&LatestWSi18nUS;/">&LatestWSi18nUS;</loc>
  </latestloc>

  <authlist>
  <author>
    <name>Kentaroh Noji</name>
    <affiliation>IBM</affiliation>
    <email href="mailto:nojik@jp.ibm.com">nojik@jp.ibm.com</email>
  </author>
  <author>
    <name>Martin J. Dürst</name>
    <affiliation>W3C</affiliation>
    <email href="mailto:duerst@w3.org">duerst@w3.org</email>	 
  </author>
  <author>
    <name>Addison Phillips</name>
    <affiliation>webMethods</affiliation>
  </author>
  <author>
    <name>Takao Suzuki</name>
    <affiliation>Microsoft</affiliation>
  </author>
  <author>
    <name>Tex Texin</name>
    <affiliation>XenCraft</affiliation>
  </author>
  </authlist>

  <status>
  <p><emph>
     This section describes the status of this document at the time of its publication. 
     Other documents may supersede this document. The latest status of this series of 
     documents is maintained at the W3C.</emph></p>



  <p>This is the first working draft of a document which describes Web Services 
     internationalization usage scenarios for review by W3C members and other
     interested parties. It has been produced by the 
     <loc xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" href="http://www.w3.org/International/ws/" xlink:show="replace" xlink:actuate="onRequest">Web Services Internationalization
     Task Force</loc> of the
     <loc xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" href="http://www.w3.org/International/" xlink:show="replace" xlink:actuate="onRequest">W3C Internationalization Working Group</loc>, as part of the
     <loc href="http://www.w3.org/International/Activity">W3C Internationalization Activity</loc>.</p> 

   <p>Discussion of this document takes place on the public mailing list 
     <loc href="mailto:public-i18n-ws@w3.org">public-i18n-ws@w3.org</loc>.
     To follow and contribute, please subscribe by sending mail to 
     <loc href="mailto:public-i18n-ws-request@w3.org">public-i18n-ws-request@w3.org</loc>
     with <code>subscribe</code> as the subject. The 
     <loc xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" href="http://lists.w3.org/Archives/Public/public-i18n-ws/" xlink:show="replace" xlink:actuate="onRequest">archive</loc> of this list can be read 
     by the general public.</p> 

  <p>We invite contributions of additional Usage Scenarios and Use Cases to document
     aspects of Web Services internationalization that are not covered yet in this document.
     To contribute, please use a format similar to the one used in this document,
	  and send your contribution to the
	  <loc href="mailto:www-i18n-comments@w3.org">www-i18n-comments@w3.org</loc> mailing list
	  (<loc href="http://lists.w3.org/">public archive</loc>). Please use [Web Services]
	  or [WSUS] in the subject.</p>
 

  <!--<p>Comments on this document should be sent to the public mailing list  
     <loc href="mailto:public-i18n-ws@w3.org">public-i18n-ws@w3.org</loc>.</p>-->
 <p>At the time of publication, the Working Group believed there were no
    patent disclosures relevant to this specification. A current list of
    patent disclosures relevant to this specification may be found on the
    <loc href="http://www.w3.org/International/2002/Disclosures">Working Group's patent disclosure page</loc>.</p>

 <p>This document is work in progress and does not imply endorsement by, or the consensus of, 
     either W3C, or members of the Web Services Task Force of the W3C Internationalization 
     Working Group. This document still contains incomplete descriptions in various places. </p>
 

  <p>This document is a draft version, and may be updated, replaced or obsoleted by
     other documents at any time. It is inappropriate to use W3C Working Drafts as 
     reference material or to cite them as other than "work in progress". A list of 
     all technical reports can be found at <loc xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" href="http://www.w3.org/TR/" xlink:show="replace" xlink:actuate="onRequest">http://www.w3.org/TR/</loc>.</p>

  </status>

  <abstract>
    <p>This document describes a variety of Web Services internationalization
    usage scenarios and use cases.</p>

    <p>Some of the usage scenarios and use cases of this document may be used
	 to generate internationalization
    requirements for Web Services technologies, and best practices for  
    the internationalization of Web Services.</p>
  </abstract>

  <langusage>
    <language id="EN">English</language>
  </langusage>
  <revisiondesc>
     <p>Last Modified: $Date: 2002/12/20 17:12:39 $</p>
  </revisiondesc>
</header>




<body>

<div1>
 <head>Introduction</head>

<p>This document describes a variety of Web Services internationalization
usage scenarios and use cases.</p>

<p>The goal of the <loc xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" href="http://www.w3.org/International/ws/" xlink:show="replace" xlink:actuate="onRequest">Web Services Internationalization Task Force</loc> is to ensure
that Web Services have robust support for global use, including all of the
world's languages and cultures.</p> 

<p>The goal of this document is to examine the different ways that language,
culture, and related issues interact with Web Services architecture and
technology. Ultimately this will allow us to develop standards and best
practices for those interested in implementing internationalized Web Services.
We may also discover latent international considerations in the various Web
Services standards and propose solutions to the responsible groups working
in these areas.</p>

<p>Web Services provide a world-wide distributed environment that uses XML based
messaging for access to distributed objects, application integration,
data/information exchange, presentation aggregation, and other rich machine-to-machine
interaction. The global reach of the Internet requires support for the international
creation, publication and discovery of Web Services. Although the technologies
and protocols used in Web Services (such as HTTP <bibref ref="RFC2616"/>,
XML <bibref ref="XML"/>, XML Schema, and so forth)
are generally quite mature as "international-ready" technologies, Web Services
may require additional perspective in order to provide the best internationalized
performance, because they represent a way of accessing distributed logic via a URI.</p>

<p>As a result, this document attempts to describe the different scenarios in
which international use of Web Services may require care on the part of the
implementer or user or to demonstrate potential issues with Web Services
technology.</p>

<p>This document describes the followings scenarios:</p>
<olist>
  <item><p>Locale neutral vs. locale-sensitive XML messages and data exchange</p></item>
  <item><p>Interaction between Web services and the underlying software
           system's international functionality</p></item>
  <item><p>Message processing in Web Services, e.g. SOAP Fault messages etc.</p></item>
</olist>

<p>The scope of this document is described in Section 1.1 below.</p>

<div2>
<head>Scope</head>

<p>This document follows the definition of Web Services specified in
Chapter 2 of the Web Services Architecture document <bibref ref="WSA"/>.</p>

<p>Definition: A Web service is a software system identified by a URI,
whose public interfaces and bindings are defined and described using XML.
Its definition can be discovered by other software systems. These systems
may then interact with the Web service in a manner prescribed by its
definition, using XML based messages conveyed by Internet protocols.</p>

<p>In order to narrow down the scope, the usage scenarios in this document
are limited to the following W3C technologies and deliverables:</p>

<ulist>

  <item><p>Web Services Architecture Documents <bibref ref="WSA"/><bibref ref="WSAUS"/><bibref ref="WSAR"/><bibref ref="WSAG"/></p></item>
  <item><p>SOAP V1.2 Documents <bibref ref="SOAP-0"/> <bibref ref="SOAP-1"/> <bibref ref="SOAP-2"/> <bibref ref="SOAP-AF"/> <bibref ref="SOAP-EB"/> </p></item>
  <item><p>WSDL V1.2 Documents  <bibref ref="WSDL-V12"/> <bibref ref="WSDL-B"/></p></item>

</ulist>
 
<p>Internationalized Web Services need to be easy to create, publish and
discover for a wide range of audiences.</p>

<p>The scope of Web Services internationalization is W3C
internationalization working group deliverables, including:</p>

 <ulist>
  <item><p>Web services requirements</p></item>
  <item><p>Unicode technologies and deliverables</p></item>
  <item><p>Concepts and application of distributed locales and locale-affected preferences</p></item>
  <item><p>Web services internationalization best practices</p></item>
 </ulist>
</div2>
</div1>

<div1>
 <head>Usage Scenarios</head>



<div2>
 <head>Data Integrity and Interoperability</head>

 <div3>
  <head>Data Integrity in Unicode Encoding</head>
  <div4>
  <head>Scenario Definition</head>
   <p>A sender and a receiver wish to use Unicode encoding to transmit data between each
   other. This scenario provides an example of best practice.
   </p>
  </div4>
  <div4>
  <head>Description</head>
   <p>SOAP is used for XML messages exchanging data among
   service nodes. Because all XML <bibref ref="XML"/> processors must be able 
   to read entities in
   both the UTF-8 <bibref ref="RFC2279"/> and UTF-16 <bibref ref="RFC2781"/> encodings, 
   using UTF-8 or UTF-16 guarantees character encoding interoperability on the SOAP layer. 
   The Character Model for the World Wide Web <bibref ref="CHARMOD"/> document 
	describes these considerations and guidelines.
   </p>

   <p>Note: WS-I: Web Services Interoperability basic profile <bibref ref="WSI-BP"/> document
   describes a problem about Unicode encoding and Byte Order Mark (BOM) handling.
   </p>
   <p>Applies to: SOAP, SOAP interface of software systems</p>
  </div4>
 </div3>


 <div3>
  <head>Data Integrity in Non-Unicode Encoding</head>
  <div4>
   <head>Scenario Definition</head>
   <p>A sender and receiver wishes to use non-Unicode encoding. This scenario provides an
   example of best practice.</p>
  </div4>

  <div4>
   <head>Description</head>

   <p>This scenario is divided into three aspects.</p>
   <olist> 
    <item><p>A sender sends a SOAP message in non-Unicode encoding.</p></item> 
    <item><p>A receiver receives a SOAP message in non-Unicode encoding.</p></item> 
    <item><p>Interaction between SOAP layer and SOAP interface such as programming
   language, middleware, operating systems etc.</p></item>
   </olist>
  
   <p>
   When a sender sends a SOAP messages in a non-Unicode encoding to a receiver, the 
   receiver may not accept the non-Unicode encoding. The sender does not
   always accept all character encodings that may be used with XML. In order to use
	a non-Unicode encoding in a SOAP message,
   the sender needs to know beforehand whether the receiver is able to accept the
	non-Unicode encoding.
   </p>
   <p>
   Receiver passed SOAP messages to programming languages, middleware, or
   operating systems via SOAP interface. Through the interaction of SOAP
   interface, code conversion from non-Unicode encoding to Unicode may happen.
   </p>
   <p>
	XML Japanese profile document <bibref ref="XML-JP"/> describes that using non-Unicode encodings
   such as Shift_JIS cannot provide interoperability in information interchange.</p>

   <p>Applies to: SOAP, SOAP interface of software systems</p>
  </div4>
 </div3>

 </div2>


 <div2>
  <head>Language(Locale) Negotiation for SOAP Fault Messages</head>

 <div3>
  <head>Natural Languages for SOAP Fault Messages</head>
  <div4>
   <head>Scenario Definition</head>

   <p>In SOAP RPC scenario, a requester wishes to tell the requester's language
   preference to the provider in order to receive SOAP fault messages in the
   requester's preferred language.</p>
  </div4>

  <div4>
   <head>Description</head>
   
   <p>When a SOAP fault occurs, SOAP fault messages containing natural language
   descriptions of the error(s) are sent back to the requester. The requester
   usually wants to see error messages in the requester's preferred language(s)
   and data format. Currently the following mechanism is available with the HTTP
   binding.</p>

   <p><code>Accept-language:</code> The Accept-Language request-header field
	restricts the set of natural languages that are preferred as a
   response to the request. <bibref ref="RFC2616"/></p>

   <p>Using Accept-language, a requester can notify a provider of the requester's
	language preference. A provider can then send SOAP-Fault messages in the requester's
   preferred language(s). If a SOAP message does not use the HTTP binding, 
   how can a SOAP-Fault message detect the requester's language preference.</p>   

   <p>SOAP fault messages sent back contain text in natural language(s). SOAP fault
   messages should include xml:lang so that a requester can
   process SOAP fault messages based on the xml:lang identification.</p>

   <p>Applies to: SOAP, or an extension of SOAP</p>
  </div4>
 </div3>


<div3>
<head>Fault Reason Messages in All Available Languages</head>

<div4>
 <head>Scenario Definition</head>
 <p>Service provider needs to return fault messages in all available
 languages.</p>
</div4> 

<div4><head>Description</head>

<p>The Service Requester sends a SOAP document containing an error to the
Service Provider. The provider generates a response containing a SOAP fault.
In order to provide for multi-lingual response under the current design, the
provider must return all available languages. The provider cannot know what
languages (resources) are installed. Most programming environments do not
provide functionality that enumerates which languages are actually installed,
so the service provider must request every possible installed locale in turn
in order to poll whether the string is available in that language. Since
resources are often sparsely populated, this suggests significant processing
overhead to loop over all possible locales, loading resources in turn.</p>

<p>Applies to: SOAP, or an extension of SOAP</p>
</div4>
</div3>



<div3><head>Language Selection for Fault Reason Messages</head>
 <div4>
   <head>Scenario Definition</head>
   <p>Service requester must select a matching language from the list of
   fault reasons returned by the service provider.</p>
</div4>

<div4><head>Description</head>

<p>The requester may be unable to (validly) match the returned text values to
its current (end user) language.</p>

<example>
<head>SOAP fault reason messages in multiple languages</head>
<eg>&lt;env:faultReason&gt;
 &lt;env:Text xml:lang="en-US"&gt;Processing error&lt;/env:Text&gt;
 &lt;env:text xml:lang="cs"&gt;Chyba zpracování&lt;/env:Text&gt;
&lt;/env:faultReason&gt;
</eg>
</example>

<p>If the requester is in locale "en-GB", then neither string will be
considered a match for the current requester language preference. Although it
is apparent to a human that en-US is a reasonable match for en-GB, automated
processes are not permitted to make this assumption. ("en" would be a match
for both "en-US" and "en-GB").</p>

<p>Applies to: SOAP, or an extension of SOAP</p>

</div4>
</div3>



<div3><head>Default Language for SOAP Fault Messages</head>

<div4>
   <head>Scenario Definition</head>

<p>The service provider must return fault messages in all available languages,
since it doesn't know the language of the requester.</p>
</div4>

<div4><head>Description</head>

<p>Many operating
environments are localized into a large number of languages (for example,
Microsoft supports 33 languages in 120+ locales or regional variations).
SOAP Fault reason messages might become substantial in size if every 
language must be returned.</p>

<p>Applies to: SOAP, or an extension of SOAP</p>

</div4>
</div3>


<div3><head>Language Preference for Chained Services</head>

<div4>
 <head>Scenario Definition</head>
<p>The service defines a language preference in SOAP Header. The service is then chained.</p> 

<ednote>
 <name>KN</name>
 <date>2002-12-10</date> 
 <edtext>The latest SOAP V1.2 Part 1 Specification (Editor's draft) mentions language 
 preference.</edtext>
</ednote>

</div4>


<div4><head>Description</head>

<p>Service "A" defines a header containing a language request field. This service
is deployed.</p>

<p>Service "B" defines a service that includes a call to Service "A", but
defines no header.</p>

<p>Requester calls service "B" with arguments that cause Service "A" to
generate a fault. Because there is no standardized header format, Service "A"
cannot generate the faultReason in the language of the requester.</p>

<p>Applies to: SOAP, or an extension of SOAP</p>

</div4>
</div3>



<div3><head>Locale Sensitive Formated Data in SOAP Fault Messages</head>

<div4><head>Scenario Definition</head>

<p>FaultReason must substitute locale-sensitive data into text message.</p>
</div4>

<div4><head>Description</head>
<p>Service "A" is defined on Provider "A". A fault is generated during
    invocation that returns a faultReason that includes locale affected
    values.</p>

<ulist>
  <item><p>"The date provided, 12 November 2201, was too late."</p></item>
  <item><p>"The argument 12345.678 was too large."</p></item>
  <item><p>"The argument 12345,678- was too small."</p></item>
</ulist>

<p>How does the provider perform the substitutions?</p>

<p>Applies to: SOAP, or an extension of SOAP</p>

</div4>
</div3>



<div3><head>Language Preference for "One Way Message"</head>

  <div4>
   <head>Scenario Definition</head>
   <p>Service Oriented Architecture Derivative Patterns One Way Message</p>
  </div4>
<div4><head>Description</head>
<olist>
  <item><p>Service "A" is defined to receive a message from Requester "A" and
    deliver to Requester "B" via Service "B". An example of this would be
    similar to a mail server triggered by a Web service.</p></item>
  <item><p>Requester "A" calls Service "A".</p></item>
  <item><p>Service "B" is unable to complete its message transaction and generates
    a fault.</p></item>
</olist>
<ulist>
  <item><p>What language does "B" return?</p></item>
  <item><p>Does Provider "A"'s locale influence the language returned?</p></item>
</ulist>

   <p>Applies to: SOAP, or an extension of SOAP</p>

</div4>
</div3>



<div3>
 <head>Language Preference for Multiple Transmission Protocols Binding</head>
 <div4>
 <head>Scenario Definition</head>
  <p>SOAP message variation if http or ftp or SMTP or RMI or IIOP (difficulty
  deploying in a single WSDL)</p>
 </div4>

  <div4>
  <head>Description</head>
   <olist>
   <item><p>Service "A" is defined on Provider "A".</p></item>
   <item><p>The administrator of Provider "A" wishes to deploy the 
            same service on several bindings simultaneously 
            in the same WSDL file.</p></item>
   </olist>
  <ulist>
  <item><p>SOAP structure requires different semantics for language 
           preference for each binding?</p></item>
 </ulist>
 </div4>
</div3>


<div3><head>HeaderFault vs. Fault</head>

<div4><head>Scenario Definition</head>

<p>HeaderFault vs.Fault</p>

</div4>

<div4>
 <head>Description</head>
 <olist>
  <item><p>Service "A" is defined on Provider "A" and invoked by Requester
  "A".</p></item>
  <item><p>Service generates a fault from the header. Provider "A" returns the
    faultReason.</p></item>
  <item><p>Later Requester "A" invokes again. This time the actual service
    generates a fault (and presumably the faultReason).</p></item>
 </olist>

<p>Can a fault generated by the actual service return multiple language
versions of itself? Or would the service actually generate faults only in the
language that the service is running in (the environment or context of the
server). If there were a "userLocale" or "userLanguage" defined in the
service provider this wouldn't necessarily be an issue.</p>

</div4>
</div3>

<div3><head>Caching Affects Results</head>

<div4><head>Scenario Definition</head>
<p>Caching affects results.</p>
</div4>


<div4>
 <head>Description</head>
<olist>
  <item><p>Caching is not well described in SOAP and Web Services architecture
    just yet.</p></item>
  <item><p>If caching is permitted and is separate from service execution and
    there is no standardized language negotiation mechanism, it is possible
    that cached responses in the wrong language could be returned.</p></item>
  </olist>
  </div4>
 </div3>



<div3><head>Locale Affected Fault Evaluation</head>

<div4><head>Scenario Definition</head>
<p>Locale affected fault evaluation.</p>
</div4>

<div4><head>Description</head>
<olist>
  <item><p>Service "A" is defined on Provider "A", running in an English locale.
    The service requires that the value of string variable "foo" be less than
    "zzz".</p></item>
  <item><p>Requester "A" is running in a French locale and sends a SOAP request
    with foo="écrit". </p></item>
  <item><p>Provider "A" returns a fault, even though in French the string is "less
    than" the evaluated value.</p></item>
</olist>

</div4>
</div3>


 <div3>
  <head>Request-Response vs. Connection-less</head>
 <div4>
  <head>Scenario Definition</head>
   <p>Request-response versus connection-less.</p>
 </div4>
  <div4>
   <head>Description</head>
    <ednote>
      <name>AF</name>
      <date>2002-11-27</date>
      <edtext>Needs more work.</edtext>
   </ednote>
  </div4>
 </div3>


<div3><head>Peer-to-Peer Fault</head>

<div4><head>Scenario Definition</head>
<p>Peer-to-Peer faults.</p>
</div4>


<div4><head>Description</head>
<olist>
  <item><p>Service "A" and Service "B" are defined as "peer-to-peer" services
    (that is, each service may invoke the other service or be invoked by the
    other service).</p></item>
  <item><p>Service "A" invokes Service "B", generating a fault.</p></item>
</olist>

    <ednote>
      <name>KN</name>
      <date>2002-12-15</date>
      <edtext>Needs to describe what internationalization is.</edtext>
   </ednote>
</div4>
</div3>

</div2>





 <div2>
 <head>Locale Neutral vs. Sensitive Data Exchanging</head>


 <div3>
  <head>Locale Neutral Formated Data</head>
  <div4>
   <head>Scenario Definition</head>
   <p>A sender wishes to send data to a receiver. The sender does not know the
   kind of formatting conventions that the receiver is using for various types
   of data. This usage scenario does not raise any requirements. It provides an
   example of best practice.</p>
  </div4>
  
  <div4>
   <head>Description</head>
   <p>If the sender does not know the kind of formatting conventions that the
   receiver is using for a particular type of data, the sender has to use
   well-known, locale-neutral formatting conventions. XML Schema (Part 2,
   Datatypes)<bibref ref="XMLS-2"/> provides such such formatting conventions. Although SOAP can
   support various XML encodings, SOAP specifies the common data types such as
   SOAP encoding which is for general cases: e.g. RPC scenario for  basic
   interoperability. SOAP encoding is based on XML Schema.</p>

   <p>The following data types are related to date and time. They are built-in
   primitive types which are specified in XML Schema Part 2.</p>

   
   <example>
   <head>Locale neutral formated data in XML Schema</head>
   <eg>
   TYPE            : EXAMPLE               
   ---------------- ---------------------------
   date            : 2003-05-31
   time            : 13:20:00
   tz              : +09:00
   dateTime        : 2003-05-31T13:20:00+09:00
   <!--  duration        : P1Y2M3D
   gYearMonth      : 2003-05
   gYear           : 2003 
   gMonthDay       : 05-25
   gDay            : 25
   gMonth          : 05  
   -->
   double          : 1267.43233E12
   decimal:integer : 2678967543233</eg>
   </example>

   <p>The above data types keep interoperability from a lexical analysis
   perspective. When a SOAP sender sends e.g. a date to a SOAP receiver using the above
   date type, both sender and receiver can interpret the date lexically.</p>

   <ednote>
   <name>F2F</name>
   <date>2002-11-23</date>
    <edtext>Distinction of locale-neutral formatting and culture-neutral
    semantics.</edtext></ednote>


   <p>On the other hand, date is accompanied with location. For example,
   2003-05-31 in Korea is not exactly the same period of time as 2002-05-31 in France,
   but it is the same as 2003-05-31 in Japan. Date varies by time-zone which is
   related to regional government and geography etc.  In processing SOAP encoding
   or XML Schema data types, it is necessary to distinguish locale-neutral data
   formatting and locale-neutral data semantics. Using SOAP encoding or XML
   Schema ensure locale-neutral data format, but does not ensure locale-neutral
   data semantics.</p>

   <p>The following example is a SOAP message in SOAP encoding. Although all of
   the following data are locale-neutral formatting, the context of data differs
   from one location/culture to another.</p>


   <example>
   <head>Locale neutral formated data</head>
   <eg>
   &lt;?xml version='1.0' ?&gt;
   &lt;env:Envelope xmlns:env="http://www.w3.org/2002/06/soap-envelope"&gt;
    &lt;env:Header&gt;
    &lt;/env:Header&gt;
   &lt;env:Body&gt;
    &lt;c:getAvailableFlightResponse xmlns:c="http://trip.example/query"&gt;
     &lt;c:price&gt;123.55&lt;/c:price&gt;
     &lt;c:departuredate&gt;2003-05-31&lt;/c:departuredate&gt;
     &lt;c:departuretime&gt;13:30:00&lt;/c:departuretime&gt;
    &lt;/c:getAvailableFlightResponse&gt;
   &lt;/env:Body&gt;
   &lt;/env:Envelope&gt;</eg>
   </example>

   <p>SOAP transactions can use SOAP encoding/XML Schema to assure that there is
   no ambiguity in transactions between senders and receivers in order to keep
   lexical analysis interoperability. Additional attributes may be needed to assure the
   data semantics. Detailed scenarios are described in the next section.</p>

   <p>Applies to: Web Services in general</p>
  </div4>
 </div3>





 <div3>
  <head>Data with Additional 'Attributes'</head>
  <div4>
   <head>Scenario Definition</head>
   <p>A sender wishes to send monetary data to a receiver. Each of the monetary
   amounts has a specific currency. This usage scenario does not raise any
   requirements. It provides an example of best practice.</p>
  </div4>
  <div4>
   <head>Description</head>
   <p>SOAP messages are sent to a receiver using XML schema data types such as
   integer, double, float, date, time etc. However, these data types may have locale
   sensitive semantics such as currency and location. In order to add data
   semantics, adding attributes is frequently used for XML messaging
   scenario.</p>

   <example>
   <head>Locale neutral formated data with additional attributes</head>  
   <eg>
   &lt;?xml version='1.0' ?&gt;
   &lt;env:Envelope xmlns:env="http://www.w3.org/2002/06/soap-envelope"&gt;
    &lt;env:Header&gt;
    &lt;/env:Header&gt;
    &lt;env:Body&gt;
     &lt;c:getAvailableFlightResponse&gt;
      &lt;c:price c:currency="USD"&gt;123.55&lt;/c:price&gt;
      &lt;c:departuredate c:location="JFK"&gt;2003-05-31&lt;/c:departuredate&gt;
      &lt;c:departuretime c:location="JFK"&gt;13:30:00&lt;/c:departuretime&gt;
     &lt;/c:getAvailableFlightResponse&gt;
    &lt;/env:Body&gt;
   &lt;/env:Envelope&gt;</eg>
   </example>

   <p>Another option is to use a structure consisting of two elements for RPC
   scenario using SOAP encoding.</p>

   <example>
   <head>Locale neutral formated data with additional semantic data</head>
   <eg>
   &lt;?xml version='1.0' ?&gt;
   &lt;env:Envelope xmlns:env="http://www.w3.org/2002/06/soap-envelope"&gt;
    &lt;env:Header&gt;
    &lt;/env:Header&gt;
    &lt;env:Body&gt;
     &lt;c:getAvailableFlightResponse&gt;
      &lt;c:price&gt;
       &lt;c:currency&gt;USD&lt;c:currency&gt;
       &lt;c:amount&gt;123.55&lt;/c:amount&gt;
      &lt;/c:price&gt;
      &lt;c:departuredate&gt;
       &lt;c:location&gt;JFK&lt;/c:location&gt;
       &lt;c:date&gt;2003-05-31&lt;/c:date&gt;
      &lt;/departuredate&gt;
      &lt;c:departuretime&gt;
       &lt;c:location&gt;JFK&lt;/c:location&gt;
       &lt;c:date&gt;2003-05-31&lt;/c:date&gt;
      &lt;/departuretime&gt;
     &lt;/c:getAvailableFlightResponse&gt;
    &lt;/env:Body&gt;
   &lt;/env:Envelope&gt;</eg>
   </example>

   <p>Applies to: Web Services in general</p>
  </div4>
 </div3>





 <div3>
  <head>Data with Default 'Attribute'</head>
  <div4>
   <head>Scenario Definition</head>
   <p>A sender wishes to send monetary data to a receiver. Sender and provider
   may use arbitrary currencies, but both sender and receiver do not use multiple currencies.
   They wish to set a default currency for one SOAP message.</p>

   <ednote>
   <name>F2F</name>
   <date>2002-11-23</date>
   <edtext>This seems to be a use case related to integration of legacy systems, not
   a clean design. This should be explained clearly, or the use case should be
   removed.
   </edtext>
   </ednote>

  </div4>

  <div4>
   <head>Description</head>
   <p>Additional attribute is frequently used for monetary data exchange as mentioned above
      section. The following example shows multiple currency data transmission in a 
      SOAP message.
   </p>

   <example>
   <head>Multiple currencies in SOAP message</head>
   <eg>
   &lt;?xml version='1.0' ?&gt;
   &lt;env:Envelope xmlns:env="http://www.w3.org/2002/06/soap-envelope" &gt;
    &lt;env:Header&gt;
    &lt;/env:Header&gt;
    &lt;env:Body&gt;
     &lt;c:purchase&gt;
      &lt;c:apple&gt;
       &lt;c:currency&gt;JPY&lt;/c:currency&gt;
       &lt;c:amount&gt;123.55&lt;/c:amount&gt;
      &lt;/c:apple&gt;
      &lt;c:orange&gt;
       &lt;c:currency&gt;USD&lt;/c:currency&gt;
       &lt;c:amount&gt;325.78&lt;/c:amount&gt;
      &lt;/c:orange&gt;
     &lt;c:peach&gt;
      &lt;c:currency&gt;EUR&lt;/c:currency&gt;
      &lt;c:amount&gt;36.55&lt;/c:amount&gt;
     &lt;/c:peach&gt;
    &lt;/c:purchase&gt;
   &lt;env:Body&gt;
   &lt;/env:Envelope&gt;</eg>
   </example>


   <p>Most regional services use a default currency instead of multiple currencies. 
   For example, Japanese internal shopping uses JPY by default. The following is an
   example which has the default currency in SOAP header. It is possible to
   specify the default currency attribute in SOAP body instead of SOAP header.</p>
   

   <ednote>
   <name>KN</name>
   <date>2002-12-10</date>
   <edtext> 
    Namespace:WS-I18N is an example. It is neither specification nor standard.
   </edtext>
   </ednote>


   <example>
   <head>Default attribute in SOAP header</head>
   <eg>
   &lt;?xml version='1.0' ?&gt;
   &lt;env:Envelope xmlns:env="http://www.w3.org/2002/06/soap-envelope" &gt;
    &lt;env:Header&gt;
     &lt;WS-I18N:WSinternationalization xmlns:WS-I18N="http://example.org/2002/11/21/WS-I18N"&gt;
      &lt;WS-I18N:Currency&gt;JPY&lt;/WS-I18N:Currency&gt;
     &lt;/WS-I18N:WSinternationalization&gt;
    &lt;/env:Header&gt;
   &lt;env:Body&gt;
    &lt;c:purchase&gt;
     &lt;c:apple&gt;
      &lt;c:price&gt;123.55&lt;/c:price&gt;
     &lt;/c:apple&gt;
     &lt;c:orange&gt;
      &lt;c:price&gt;325.78&lt;/c:price&gt;
     &lt;/c:orange&gt;
     &lt;c:peach&gt;
      &lt;c:price&gt;36.55&lt;/c:price&gt;
     &lt;/c:peach&gt;
     &lt;/c:purchase&gt;
    &lt;/env:Body&gt;
   &lt;/env:Envelope&gt;</eg>
   </example>

   <p>Although adding parameter to SOAP body requires design change for service 
    interface, adding default value into SOAP header does not affect services 
    interface.</p>

   <p>Applies to: Web Services General</p>
  </div4>
 </div3>

 <div3>
  <head>Locale Dependent Datatypes</head>
  <div4>
   <head>Scenario Definition</head>
   <p>A sender wishes to send locale dependent data to a receiver for regional
   SOAP messaging or RPC. The receiver needs to process the locale dependent
   data correctly.</p>
  </div4>

  <div4>
   <head>Description</head>
   <p>If a Japanese sender sends date data to a Japanese receiver, the Japanese 
   sender wishes to send data in Japanese calendar's date such as 
   H13-5-31(H means Heisei era; see Appendix <specref ref="heisei"/>)
   to the receiver.</p>

   <example>
   <head>Locale sensitive data in regional datatype</head> 
   <eg>
   &lt;?xml version='1.0' ?&gt;
   &lt;env:Header&gt;
    &lt;WS-I18N:WSinternationalization
       xmlns:WS-I18N="http://example.org/2002/11/21/WS-I18N"&gt;
     &lt;WS-I18N:dataTypePreference&gt;
      &lt;ja:JDate xmlns:ja="http//example.org/2003/12/3/ja"&gt;EYY-MM-DD&lt;/WS-I18N:JDate&gt;
     &lt;/WS-I18N:dataTypePreference&gt;
    &lt;/WS-I18N:WSinternationalization&gt;
   &lt;/env:Header&gt;
   &lt;env:Body&gt;
    &lt;departuredate&gt;H14-5-31&lt;/departuredate&gt;
   &lt;/env:Body&gt;</eg>
   </example>
   
   <p>Default is Locale neutral mode. If a sender and a receiver can handshake
   with each other using the same semantics of locale, sender can send a locale
   dependent data to a receiver, and the receiver can process the data
   consistently.</p>

   <p>If WSDL can
   describe locale sensitive datatypes, locale negotiation mechanism can be
   described in WSDL. Is it applicable requirement for interface definition 
   of WSDL? </p>

   <ednote>
   <name>KN</name>
   <date>2002-12-10</date>
   <edtext>Possible datatype: Telephone number, ZIP code etc. Needs
   feasibility assessment.
   </edtext>
   </ednote> 

   <p>There is a difference between data types such as telephone
   number, ZIP code, etc., which can be modeled as strings with patterns, and
   data types such as dates and numbers, where a connection with the value space
   (e.g. of XML Schema) may be desirable.</p>

   <p>Applies to: WSDL, SOAP, or Localizable datatype</p>

  </div4>
 </div3>



<div3><head>Correlation of Data among Services in Different Languages</head>

<div4><head>Scenario Definition</head>

<p>A service is defined using "Service Oriented Architecture Derivative
Patterns Intermediary" as found in Web Services Architecture document<bibref ref="WSA"/>.</p>
</div4>


<div4><head>Description</head>
<olist>
  <item><p>Service "A" is defined as a service that returns status text and
    deployed on Providers "A1", "A2", and "A3" in different language
    configurations (locales).</p></item>
  <item><p>Provider "B" polls Service "A" on each machine and caches the
  results.</p></item>
  <item><p>Service "B" is defined as a process that returns cached results and is
    deployed on Provider "B".</p></item>
  <item><p>Requesters "C1", "C2", and "C3", each with different language
    preferences, invoke Service "B" sporadically to obtain data.</p></item>
</olist>
<ulist>
  <item><p>Provider "B" must cache faults and data in all possible languages since
    it cannot know in advance which requesters will want what data.</p></item>
  <item><p>Provider "B" must send all data to each requester.</p></item>
  <item><p>Correlation of data may prove difficult.</p></item>
</ulist>
</div4>
</div3>





</div2>



<div2>
 <head>Locale Sensitive Presentation</head>

 <div3>
  <head>Data Formatting for End User on Receiver Side</head>
  <div4>
   <head>Scenario Definition</head>
   <p>Data is formatted for an end user by the receiver according to the end
   user's preferences and the system conventions. This usage scenario does not
   raise any requirements. It provides an example of best practice.</p>
  </div4>
  <div4>
   <head>Description</head>
   <p>The receiver may format data in order to display the data in a user
   interface. Locale sensitive data formatting functions are widely provided by
   internationalization functionality of operating systems, programming
   languages, or applications such as word processors and middleware. Therefore, an
   application can format locale neutral data using built-in
   internationalization functions. The details of data formatting vary across
   different systems. Therefore, Web services themselves do not guarantee
   completely identical formatting on different systems.</p>

   <p>Applies to: Web Services General</p>
  </div4>
 </div3>




 <div3>
  <head>Data Formatting on Sender Side</head>
  <div4>
   <head>Scenario Definition</head>
   <p>The sender formats data for viewing by an end user on the receiver side.
   The sender takes care of data formatting to assure consistency of
   presentation.</p>
  </div4>

  <div4>
   <head>Description</head>
   <ednote>
   <name>F2F</name>
   <date>2002-11-23</date>
   <edtext>Explain in more detail why the consistency is needed/desirable. Give
   examples. Ways this could be done: Producing HTML (+styles). Other reasons
   may be that the recipient asked for specific formatting.</edtext>
   </ednote>
  </div4>
 </div3>





 <div3>
  <head>Data Formatting on Receiver Side according to Sender</head>

  <div4>
   <head>Scenario Definition</head>
   <p>A receiver formats data according to the format provided by the sender.</p>
  </div4>

  <div4>
   <head>Description</head>
    <p>Data sent by a sender is formatted by the receiver according to format(s)
    provided by the sender. This is different from scenario 2.13 and 2.14 in that
    the center of decision and the actual execution of the formatting are
    separated. Scenario 2.13 or 2.14 should be preferred because they are more
    straightforward, but this scenario may be chosen for various reasons such as:
    The sender wants to ensure consistent appearance, and the data may be used on
    the receiver side both for formatting and for further processing. </p>
    

    <ednote>
    <name>F2F</name>
    <date>2002-11-23</date>
    <edtext>We need more details and better arguments for why the server wants
    consistency, and maybe examples of what degree of consistency is
    necessary/desirable in different applications.</edtext>
    </ednote>
   

    <p>Data formatting rules should be sent to receivers together with data, in
    order to keep consistency self-descriptively, for user interface.</p> 

    
    
    <ednote>
    <name>F2F</name>
    <date>2002-11-23</date>
    <edtext>There
    may be other ways to tell the receiver what exactly to do, e.g. by
    referencing rather that including formatting rules.</edtext>
    </ednote>
    


    <p>The following is a pair of float data and an example of numeric formatting rule.</p>
    <eg>
    Value: float: 235055.55
    Numeric formatting rule: #.##.##0,##</eg> 
  
  
    <p>
    Presentation result for user interface is: </p>
    <eg>
    2.35.055,55</eg>

    <p>The following example shows a way to send a formatting rule in SOAP header 
    together with a float value.</p>

    <example>
    <head>Locale neutral formated data with formatting rule</head>
    <eg>
    &lt;?xml version='1.0' ?&gt;
    &lt;env:Header&gt;
     &lt;WS-I18N:WSinternationalization
       xmlns:WS-I18N="http://example.org/2002/11/21/WS-I18N"&gt;
      &lt;WS-I18N:presentationPreferences&gt;
       &lt;WS-I18N:NumericFormat&gt;#.##.##0,##&lt;/WS-I18N:NumericFormat&gt;
       &lt;/WS-I18N:presentationPreferences&gt;
     &lt;/WS-I18N:WSinternationalization&gt;
    &lt;/env:Header&gt;
    &lt;env:Body&gt;
     &lt;value&gt;235055.55&lt;/value&gt;
    &lt;/env:Body&gt;</eg>
    </example> 

    <p>Because a receiver receives a value in locale neutral decimal data
    together with formatting rule, the receiver can format the data for user
    interface self-descriptively.</p>

   <p>Applies to: Web Services General</p>

  </div4>
 </div3>

</div2>







<!---
 <div3>
  <head>Locale Sensitive Data Processing</head>
        <p><emph> Similar to Scenario 2.9a</emph></p>

  <div4>
   <head>Scenario Definition</head>
   <p>A sender wishes the receiver to process data locale sensitively based on
   sender's locale preference.</p>
  </div4>

  <div4>
   <head>Description</head>
   <p>If data is sent as a string data type, the sender will want to indicate
   how the recipient should parse that string to obtain a data value (such as 
   as date or a number). Other examples of processing: String comparison,
   collation, deciding whether a date is a holiday, legal rules, and so on.</p>

   <p><emph>This needs some more work.</emph></p>
  </div4>
 </div3>



<div3>
<head>Locale Preference</head>

<p><emph>This scenario should be merged into 2.4x.</emph></p>
</div3>

-->


<div2>
 <head>Locale Sensitive Data Processing</head>


 <div3>
  <head>Locale Sensitive Processing by Provider(Receiver)</head>
  <div4>
   <head>Scenario Definition</head>
   <p>The service provider needs the locale of the sender in order to perform
   locale sensitive processing. There are three levels to this: Transport layer,
   service provider layer (SOAP Header), and service layer (SOAP Body) <emph>(we
   need separate scenarios for these)</emph></p>
  </div4>
  <div4>
  <head>Description</head>

  <div5><head>Transport Layer (HTTP, SMTP/MIME, etc.)</head>

  <p>Note that this layer includes more than just Web services. It also
  includes XHTML <bibref ref="XHTML"/>, XForms <bibref ref="XFORMS"/>, 
  and other locale-sensitive applications
  on the Web. The service provider receiving the document needs to know the
  sender's locale preferences in order to perform locale-sensitive processing.
  This may include routing based on language or regional preferences, selection
  of response language, formatting of error messages (if the SOAP document is
  unintelligible/non-parse-able, what language is the failure message returned
  in?).</p></div5>

  <div5><head>Service Provider Layer</head>

  <p>As shown elsewhere, locale-sensitive processing requires a locale to be
  passed to the Web service somehow. Most Web services, however, are not
  explicitly locale-sensitive operations. They may still need a locale in their 
  context (for obtaining resources, obtaining the preferred collation, etc.).
  The Web service author should not have to specify a Locale in the actual
  service definition, since it has no bearing on the actual data structures
  involved in the process. For example: xlxlx The Service Provider (SOAP
  container) also must process the actual SOAP message and generate SOAP fault
  messages. These may be locale- or language-affected.</p>
  </div5>

  <div5><head>Service Layer</head>

<p>Each Web service may need to have a specific locale applied to a specific
piece of data (in a data structure) or as an argument passed in. Exposing the
specific locale structure of the back-end system removed platform
independence.</p>

   <p>Applies to: Web Services General</p>

 </div5>
   </div4>
  </div3>


<div3><head>Opaque Identifier to Identify a Locale</head>

<div4><head>Scenario Definition</head>

<p>Using an opaque identifier to identify a locale.</p>

<!-- 
<emph>This may already be too close to an actual solution. There are other ways
to identify locales, e.g. by more explicit identifiers, or by referencing or
listing some data that defines the locale. For example, expand the definition
of RFC3066 to define Accept-Language and Content-Language to define locale
also or define a new standard for a new pair of headers, Accept-Locale and
Content-Locale to ensure that Language and Locale preference are allowed to
be separate.</emph></p>
-->

</div4>

<div4><head>Description</head>

<p>Same locale processing does not always return same result, because
there are locale implementation differences among runtime environment.</p> 

<p>
A sender(requester) 
wishes a provider(receiver) to return a result of specific locale sensitive 
processing such as Java Locale, Windows Locale, or POSIX locale etc</p>

<p>Because user can customize locale, a sender(requester) wishes a provider(receiver) 
to return a result of locale sensitive processing based on the sender 
customized locale. </p>



<p>Applies to: A locale identification which distinguishes runtime differences or users customization.</p>
 
</div4>
</div3>



</div2>


<div2>
<head>Finding Services</head>
 <div3>
 <head>Searching for Web Services</head>
	<div4>
	 <head>Scenario Definition</head>
	 <p>Searching for Web services depending on language or culture.</p>
 </div4>

<div4><head>Description</head>

<p>Repositories and search-able meta-data (such as UDDI <bibref ref="UDDI"/>) about Web services
need to provide support for multiple language searches. Transport layer
issues do not allow XML data structures to be used for resolution, except by
reference (e.g. the receiver must down-load a separate resource
asynchronously to "decode" the preference). Tags on this layer may be
necessary in place of XML data structures.</p>

 <ednote>
  <name>KN</name>
  <date>2002/12/13</date>
  <edtext>UDDI provides TAXONOMY based on the ISO 3166 Geographic Code System.</edtext>
 </ednote>
</div4>
</div3>




<div3><head>Fall-Back for Internationalized Web Services</head>

<div4><head>Scenario Definition</head>

<p>There is no way for the service to find the best appropriate match when
the user's request cannot be met.</p>
</div4>
<div4><head>Description</head>

<p>If the sender specified "ja-JP" and "ja-JP" is not available at the
receiver, what should the fall-back schema be?</p>


<ednote>
<name>F2F</name>
<date>2002-11-23</date>
<edtext>Need to more clearly
define this scenario and provide examples.</edtext></ednote>

</div4>
</div3>


</div2>


<!--
<div3><head>Locale Container</head>

<div4><head>Scenario Definition</head>

<p><emph>The material here should be combined with 2.9 and then maybe split up
into four different pieces, according to 1.-4. below. Because this
scenario is close to sample implementation not usage scenario, this scenario
is removed, and partially integrated into each scenarios such as Locale preference</emph></p>
</div4>

<div4><head>Description</head>

<p>1. ja-JP: Sender wishes receiver process SOAP message based on receiver's
locale interpretation.</p>

<p>2. ja-JP with accessPoint: Sender wishes that receiver obtains contents of
locale by accessing an URL, then process SOAP messages based on retrieved
locale contents.</p>

<p>3. ja-JP with an addition ID: Sender wishes that receiver obtain contents
of locale based on an additional ID, then process SOAP messages based on
retrieved locale contents and receiver's locale functions.</p>

<p>4. ja-JP with some preferences:</p>

</div4>
</div3>


<div3><head>Contents of Locale Preferences</head>

<div4><head>Scenario Definition</head>

<p><emph>This may move to the introduction after some more work. Not a real
scenario.</emph></p>
</div4></div3>

-->



<div2>
 <head>Services for Internationalization Functionality</head>

<div3><head>Outsourcing Locale-Related Services</head>

<div4><head>Scenario Definition</head>

<p>Using a Web service to obtain some locale-related service, such as
formatting, collation etc.</p>
</div4>
<div4><head>Description</head>

<p>Some locale-related tasks are not easy to describe by an exchangeable data
structure. Also, not all systems will have code for all locales. It may
therefore be desirable in some cases to 'outsource' locale services.</p>

<p>Example 1: Formatting a date according to traditional Thai conventions
(the full text of the formatted date is very long)</p> 


<ednote>
 <name>F2F</name>
 <date>2002-11-23</date>
 <edtext>Add example.</edtext>
</ednote>

<p>Example 2: Converting a date according to local rules that may not be
predictable.</p>

<p>Example 3: Collation data can be very large, and collation may include
additional domain-specific preprocessing in addition to the simple comparison
of strings. It may therefore in some cases be more efficient to send the data
to be sorted to another system.</p>
</div4>
</div3>



<div3><head>Propagating Updates related to Locales</head>

<div4><head>Scenario Definition</head>

<p>Using Web services to update locale-related data that may change
dynamically and/or in ways that are not easily predictable.</p>
</div4>
<div4><head>Description</head>

<p>Some kinds of data needed for culturally sensitive operations is not
easily predictable. Web services may be used to update such data, either by
polling for updates or by sending out updates.</p>

<p>Example: Certain calendars depend on actually observed events, such as the
actual observation of the new moon. </p>

<ednote>
<name>F2F</name>
<date>2002-11-23</date>
<edtext>Add more specific details here.</edtext>
</ednote>

<p>Example: Jurisdictions once in a while may change their rules for which
time-zones they are in at which time of the year.</p>

<p>Issues: Scalability; requests may concentrate at specific times; polling
may have to be repeated over and over without any actual updates.</p>
</div4></div3>

</div2>


<div2>
 <head>Development of Internationalized Web Services</head>

<div3><head>Internationalizing an Existing Web Service</head>

<div4><head>Scenario Definition</head>

<p>If a Web service starts out uninternationalized and is later
internationalized, it must be re-deployed as a separate service because the
original service contract has changed.</p>
</div4>

<div4><head>Description</head>

<p>The web services developer is solely responsible for supplying the fields,
logic, and semantics that will be used to achieve i18n capabilities. Each
service will vary in its approach and may not bother to supply a suitable
mechanism. Without guidance from the client, assumptions have to be made that
are unsuitable. For example, the locale of the server may be used to format
the response. When the service is internationalized, the only option is to
ask for locale as an additional input, changing the service contract.</p>

<p>There is an important functional and semantic difference between a field
supplied in the actual service invocation (that is, as part of the data) and
one supplied in the envelope (that is, as part of the protocol) because when
supplied as part of the data, developers must always take care to create,
populate, read, and process the fields. Internationalization of an existing
service therefore takes the form of deploying a new service (since the inputs
have changed).</p>

<p>By contrast, if locale and language preferences are part of the "context"
(in the envelope, for example), the developer gains several advantages.
First, both the provider and the service can read the locale and language
preference. (The service must be provided with a specific API to obtain the
locale and language from the provider, or it can be silently managed by the
provider.) Services that require external environmental changes to activate
their locale-sensitivity can have the provider perform this processing for
them. Multiple services in the same "chain" can inherit the same locale and
language context. Most important, though, the client-side environment can be
optimized to provide the locale and language preferences of the end user
automatically, without developers having to write code to obtain the values
and populate the inputs of the Web Service. In addition, Web Service authors
can add international or multi-language support to services after initial
deployment without changing service descriptors (WSDL and XSD) that may
already be in wide use.</p>
</div4></div3>






<div3><head>Communicating Available Options</head>

<div4><head>Scenario Definition</head>

<p>There is no way for the service to communicate what language and
formatting options are available.</p>
</div4>
<div4><head>Description</head>

<p>If a Web service requires that a language, locale, or formatting
preference in a service description (WSDL), how can the sender know what
values will have meaning at the receiver. For example, POSIX
 locales for a C
program are very different than (say) Windows LCID values.</p>

<p>As a result, developers of internationalized Web services (especially
those that support multi-lingual operations - that is, servers that can
provide responses in a variety of human languages and dialects) have to
provide the ability to external users, whose platforms and programming
languages may be maximally different than their own, to know what options the
service supports.</p>
</div4>
</div3>


</div2>












 <div2>
  <head>Template</head>
  <div3>
  <head>Title</head>
  <div4><head>Scenario Definition</head></div4>
  <div4><head>Description</head>
</div4>
</div3>
</div2>

</div1>



<div1>
 <head>Use Case</head>

 <ednote>
 <name>KN</name>
 <date>2002-12-10</date>
 <edtext>Use Case is added based on usage scenarios. e.g. Flight Schedule, Accounting Data
 </edtext>
 </ednote>

</div1>
</body>


<back>

<inform-div1 id="refs">
<head>References</head>


<blist>
<bibl key="WSA" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest" href="http://www.w3.org/TR/2002/WD-ws-arch-20021114/" id="WSA">
W3C Working Draft "Web Services Architecture", Michael Champion, Chris Ferris, Eric Newcomer, David Orchard, 14 November 2002</bibl>

<bibl key="WSAR" href="http://www.w3.org/TR/2002/WD-wsa-reqs-20021114" id="WSAR">
W3C Working Draft "Web Services Architecture Requirements", Daniel Austin, Abbie Barbir, Christopher Ferris, Sharad Garg, 14 November 2002
</bibl>

<bibl key="WSAUS" href="http://www.w3.org/TR/2002/WD-ws-arch-scenarios-20020730/" id="WSAUS">
W3C Working Draft "Web Services Architecture Usage Scenarios", Hugo Haas, David Orchard, 30 July 2002</bibl>

<bibl key="WSAG" href="http://www.w3.org/TR/2002/WD-ws-gloss-20021114/" id="WSAG">
W3C Working Draft "Web Services Glossary", Allen Brown, Hugo Haas, 14 November 2002</bibl>

<bibl key="SOAP-0" href="http://www.w3.org/TR/2002/WD-soap12-part0-20020626/" id="SOAP-0">
W3C Working Draft "SOAP Version 1.2 Part 0: Primer", Nilo Mitra, 26 June 2002</bibl>

<bibl key="SOAP-1" href="http://www.w3.org/TR/2002/WD-soap12-part1-20020626/" id="SOAP-1">
W3C Working Draft "SOAP Version 1.2 Part 1: Messaging Framework", Martin Gudgin, 
Marc Hadley, Noah Mendelsohn, Jean-Jacques Moreau, Henrik Frystyk Nielsen, 26 June 2002 
</bibl>

<bibl key="SOAP-2" href="http://www.w3.org/TR/2002/WD-soap12-part2-20020626/" id="SOAP-2">
W3C Working Draft "SOAP Version 1.2 Part 2: Adjuncts", Martin Gudgin, Marc Hadley, 
Jean-Jacques Moreau, Henrik Frystyk Nielsen, 26 June 2002
</bibl>

<bibl key="SOAP-AF" href="http://www.w3.org/TR/2002/WD-soap12-af-20020924/" id="SOAP-AF">
W3C Working Draft "SOAP 1.2 Attachment Feature", Henrik Frystyk Nielsen, Hervé Ruellan, 24 September 2002
</bibl>

<bibl key="SOAP-EB" href="http://www.w3.org/TR/2002/NOTE-soap12-email-20020703" id="SOAP-EB">
W3C Note  "SOAP Version 1.2 Email Binding", Highland Mary Mountain, Jacek Kopecky, Stuart Williams, Glen Daniels, Noah Mendelsohn, 3 July 2002</bibl>

<!--
<bibl key="SOAP-XML" href="http://www.w3.org/2000/xp/Group/2/06/18/draft-baker-soap-media-reg-01.txt" id="SOAP-XML">  
</bibl>
-->

<bibl key="WSDL-V12" href="http://www.w3.org/TR/2002/WD-wsdl12-20020709/" id="WSDL-V12">
W3C Working Draft "Web Services Description Language (WSDL) Version 1.2", Roberto Chinnici, Martin Gudgin, Jean-Jacques Moreau, Sanjiva Weerawarana, 9 July 2002</bibl>

<bibl key="WSDL-B" href="http://www.w3.org/TR/2002/WD-wsdl12-bindings-20020709/" id="WSDL-B">
W3C Working Draft "Web Services Description Language (WSDL) Version 1.2: Bindings", Jean-Jacques Moreau, Jeffrey Schlimmer, 9 July 2002</bibl>

<bibl key="XML" href="http://www.w3.org/TR/2000/REC-xml-20001006" id="XML">
W3C Recommendation "Extensible Markup Language (XML) 1.0 (Second Edition)", Tim Bray, Jean Paoli, C. M. Sperberg-McQueen, Eve Maler, 6 October 2000
</bibl>

<bibl key="CHARMOD" href="http://www.w3.org/TR/2002/WD-charmod-20020430/" id="CHARMOD">
W3C Working Draft "Character Model for the World Wide Web 1.0", Martin J. Dürst, François Yergeau, Richard Ishida, Misha Wolf, Asmus Freytag, Tex Texin, 30 April 2002
</bibl>

<bibl key="WSI-BP" href="http://www.ws-i.org/Profiles/Basic/2002-10/BasicProfile-1.0-WGD.htm" id="WSI-BP">
WS-I Working Group Draft Basic Profile Version 1.0, Keith Ballinger, David Ehnebuske, Martin Gudgin,Mark Nottingham, Prasad Yendluri, 2002/10/08
</bibl>

<bibl key="XML-JP" href="http://www.w3.org/TR/2000/NOTE-japanese-xml-20000414/" id="XML-JP">
W3C Note "XML Japanese profile", MURATA Makoto, 14 April 2000
</bibl>

<bibl key="RFC2616" href="http://www.ietf.org/rfc/rfc2616.txt" id="RFC2616">
Request for Comments: 2616 "Hypertext Transfer Protocol -- HTTP/1.1",  R. Fielding, J. Gettys, J. Mogul, H. Frystyk, L. Masinter, P. Leach, T. Berners-Lee, June 1999
</bibl>

<bibl key="XMLS-2" href="http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/" id="XMLS-2">
W3C Recommendation "XML Schema Part 2: Datatypes", Paul V. Biron, Ashok Malhotra, 02 May 2001
</bibl>

<bibl key="UDDI" href="http://uddi.org/pubs/uddi_v3.htm" id="UDDI">
"UDDI Version 3.0 Published Specification", Tom Bellwood, Luc Clément, David Ehnebuske, Andrew Hately, Maryann Hondo, Yin Leng Husband, Karsten Januszewski, Sam Lee, Barbara McKee, Joel Munter, Claus von Riegen, 19 July 2002</bibl>

<bibl key="RFC2279" href="http://www.ietf.org/rfc/rfc2279.txt" id="RFC2279"> 
IETF (Internet Engineering Task Force). RFC 2279: UTF-8, a transformation format of ISO 10646, ed. F. Yergeau, 1998</bibl>

<bibl key="RFC2781" href="http://www.ietf.org/rfc/rfc2781.txt" id="RFC2781">
IETF (Internet Engineering Task Force). RFC 2781: UTF-16, an encoding of ISO 10646, ed. P. Hoffman, F. Yergeau. 2000</bibl>

<bibl key="XHTML" href="http://www.w3.org/TR/xhtml1/" id="XHTML">

W3C Recommendation "XHTML 1.0 The Extensible HyperText Markup Language (Second Edition)", 
26 January 2000, revised 1 August 2002</bibl>

<bibl key="XFORMS" href="http://www.w3.org/TR/xforms/" id="XFORMS">
W3C Candidate Recommendation "XForms 1.0", Micah Dubinko, Leigh L. Klotz, Jr., Roland Merrick, T. V. Raman, 12 November 2002</bibl>


</blist>
</inform-div1>


<inform-div1>
 <head>Acknowledgements</head>
 <p>This document is the work of the Web Services Task Force
 of the W3C Internationalization Working Group.</p>
</inform-div1>



<inform-div1 id="heisei">
  <head>Heisei</head>

<p>The imperial Calendar is commonly used in Japan.  Heisei is the current era,
and it started on January 8th, 1989. Year 2002 is Year Heisei 14.
Showa is the previous era, which ended on January 7th, 1989 or Showa 64.</p>


<!--
<p>
According to GENGOU O ARATAMERU SEIREI (Government ordinance 
to change the name of era) issued on January 7th, 1989, 
SHOWA era ends on January 7th, 1989 (or SHOWA 64), and 
HEISEI era starts on January 8th, 1989.  There is no 
over-wrap on dates between SHOWA and HEISEI.</p>

<p>
According to SHOWA KAIGEN NO SHOUSHO (Imperial edict to 
change the name of era SHOWA) issued on December 25th, 
1926, TAISHOU era ends on December 25th, 1926 (or TAISHOU 
15), and SHOWA era starts on December 25th, 1926.  Because 
of the language used in the edict, it's a bit confusing 
whether December 25th is included or excluded in SHOWA.  
The word "IGO" can be interpreted as "after" or "from", 
and it's making unclear whether SHOWA starts after December 
25th or on December 25th.  Although, it's clear December 
25th, TAISHOU 15 does exist.</p>

<p>
According to TAISHOU KAIGEN NO SHOUSHO (Imperial edict to 
change the name of era TAISHOU) issued on July 30th, 1912, 
MEIJI era ends on July 30th, 1912 (or MEIJI 45), and 
TAISHOU era starts on July 30th, 1912.  Because of the 
language used in the edict just like the one for SHOWA, 
it's not very clear whether TAISHOU starts after July 
30th or on July 30th.  It's clear July 30th, MEIJI 45 
does exist.</p>

<p>
According to MEIJI KAIGEN NO FUKOKU (Declaration of 
changing the name of era MEIJI) issued on September 
8th, 1868, KEIO era ends in 1868 (or KEIO 4).  Up until 
this, these are to specify the name of the year, and 
there is no concept to start one era at a certain date 
of year.  It means the first year of MEIJI era entirely 
over-wraps with the last year of KEIO (or KEIO 4).
</p>

<p>
The first year of each era is always referred as GANNEN, 
meaning the first year of era.  For instance, the first 
year of HEISEI is called HEISEI GANNEN, instead of HEISEI 
1.  The year number 1 is never used to indicate the first 
year of era.</p>

<p>
Here is the summary:
</p>
<eg>
1868: End of KEIO era (KEIO 4)
      Beginning of MEIJI era
1912  Jul 30th: End of MEIJI era (MEIJI 45)
      Jul 30th: Beginning of TAISHOU era
1926  Dec 25th: End of TAIISHOU era (TAISHOU 15)
      Dec 25th: Beginning of SHOWA era
1989  Jan 7th:  End of SHOWA era (Showa 64)
      Jan 8th:  Beginning of HEISEI era
</eg>
-->

</inform-div1>






</back>







<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-declaration:"~/SGML/HTML4.decl"
sgml-default-doctype-name:"html"
sgml-minimize-attributes:t
sgml-nofill-elements:("pre" "style" "br")
sgml-omittag:t
sgml-shorttag:t
sgml-namecase-general:t
sgml-general-insert-case:lower
sgml-always-quote-attributes:t
sgml-indent-step:2
sgml-indent-data:nil
sgml-parent-document:nil
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
-->

</spec>
 
