<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE spec [
<!ENTITY DD "15">
<!ENTITY LatestWSi18n "http://www.w3.org/TR/ws-i18n">
<!ENTITY MM "April">
<!ENTITY WSi18n "http://www.w3.org/International/core/ws-i18n/ws-i18n-edit">
<!ENTITY month "April">
<!ENTITY status "W3C Working Draft">
<!ENTITY year "2008">
]>

<spec w3c-doctype="wd"  id="ws-i18n" xml:lang="en-US">

  <header>

    <title>Web Services Internationalization (WS-I18N)</title>

    <w3c-designation>WS-I18N</w3c-designation>

    <w3c-doctype>&status;</w3c-doctype>

    <pubdate><day>&DD;</day><month>&MM;</month><year>&year;</year></pubdate>

    <publoc><loc href="http://www.w3.org/TR/2008/WD-ws-i18n-20080415/">http://www.w3.org/TR/2008/WD-ws-i18n-20080415/</loc></publoc>

    <altlocs>

      <loc href="ws-i18n.xml">XML</loc>

    </altlocs>

    <latestloc><loc href="http://www.w3.org/TR/ws-i18n">http://www.w3.org/TR/ws-i18n</loc></latestloc>

    <prevlocs><loc href="http://www.w3.org/TR/2005/WD-ws-i18n-20050914/">http://www.w3.org/TR/2005/WD-ws-i18n-20050914/</loc></prevlocs>

    <authlist><author>

        <name>Addison Phillips</name>

        <affiliation>Yahoo!, Inc.</affiliation>

      </author><author><name>Mary Trumble (until September 2005)</name><affiliation>IBM</affiliation></author>

      

    <author><name>Felix Sasaki</name><affiliation>W3C</affiliation></author></authlist>
    <abstract><p>This document (hereafter referred to as "WS-I18N") describes enhancements to SOAP messaging to provide 

    internationalized and localized operations using locale and international 

    preferences. These mechanisms can be used to accommodate a 

    wide variety of development models for international usage.</p>











<p>By itself, WS-I18N does not ensure internationalized operation or that localized operation will occur nor does it provide a complete internationalization solution. WS-I18N is a building block that is used in conjunction with other Web services and application-specific protocols, and which can accommodate a wide variety of locale and international support models. Implementing this specification does not by itself enable international functionality in a Web services interaction, but it does provide a framework for globalization that enabled products can leverage, as well as a way for enabled products to interact with systems that are not enabled.</p></abstract>

    <status><p><emph>This section describes the status of this document at the time

        of its publication. Other documents may supersede this document.

        A list of current W3C publications and the latest revision of

        this technical report can be found in the <loc href="http://www.w3.org/TR/">W3C technical reports index</loc> at http://www.w3.org/TR/.</emph>

</p>


<p>This document (hereafter referred to as "WS-I18N") describes enhancements to SOAP messaging to provide 

    internationalized and localized operations using locale and international 

    preferences. These mechanisms can be used to accommodate a 

    wide variety of development models for international usage.</p>
<p>This is an updated Working Draft of "Web Services Internationalization (WS-I18N)". This document was produced by members of the <loc href="http://www.w3.org/International/core/">Internationalization Core Working Group</loc>, part of the <loc href="http://www.w3.org/International/Activity">W3C Internationalization Activity</loc>. The Working Group intends to publish this document as a Working Group Note.</p>
        
        <p>The major change in this version of the document is the adoption of <bibref ref="wsp"/> and <bibref ref="wsp-attach"/> as the means to realize the functionality of Web Services Internationalization. No diff-marked version against the previous version of this document is provided, since this change resulted in a 	thorough restructuring of the document.</p>

<p>Comments should be sent to <loc href="mailto:www-i18n-comments@w3.org?subject=%5BComment%20on%20WS-I18N%20WD%5D">www-i18n-comments@w3.org</loc>. Use "Comment on WS-I18N WD" in the subject line of your email. The <loc href="http://lists.w3.org/Archives/Public/www-i18n-comments/">archives</loc> for this list are publicly available.</p>



<p>Publication as a Working Draft does not imply endorsement by the W3C Membership. This is a draft document and may be updated, replaced or obsoleted by other documents at any time. It is inappropriate to cite this document as other than work in progress.</p>


<p>This document was produced by a group operating under the
<loc href="http://www.w3.org/Consortium/Patent-Policy-20040205/">5
February 2004 W3C Patent Policy</loc>. The group does not expect this document to become a W3C Recommendation. W3C maintains a <loc href="http://www.w3.org/2004/01/pp-impl/32113/status">public list of any
patent disclosures</loc> made in connection with the deliverables of
the group; that page also includes instructions for disclosing a
patent. An individual who has actual knowledge of a patent which
the individual believes contains <loc href="http://www.w3.org/Consortium/Patent-Policy-20040205/#def-essential">
Essential Claim(s)</loc> must disclose the information in accordance
with <loc href="http://www.w3.org/Consortium/Patent-Policy-20040205/#sec-Disclosure">
section 6 of the W3C Patent Policy</loc>.</p>

</status>

    


<langusage><language id="en">en</language></langusage><revisiondesc><p>This is the second publication of this document.</p></revisiondesc></header><body><div1 id="sec-intro"><head>Introduction</head><p>This section is <emph>informative.</emph></p><p>Web services technology provides application-to-application communication over the Internet. Most programming languages and operating environments use an internationalization model that assumes that the user's preferences (generally embodied as a "locale", that is: a collection of settings associated with a specific language, country, or market) are maintained by the operating environment. This model has been extended to Web-based applications by having Web servers infer their internal locale from the user agent's Accept-Language header <bibref ref="RFC3282"/> or from some form of user identity management. However, neither Accept-Language nor user identity is appropriate for the internationalization of Web services.</p><p>This specification proposes an alternative mechanism to provide locale information in a web services interaction. It provides  semantics for the identification of international preferences which are as clear and platform neutral as possible, while providing for implementation specific extensions that leverage specific platform capabilities. The functionality provided by this mechanism defined in <specref ref="sec-soap-i18n"/> is: </p><ulist><item> <p>identify whether a service is locale-affected;</p></item><item><p>identify the specific locale used by a provider;</p></item><item><p>accept the specific locale and language preference(s) of the requester;</p></item><item><p>optionally identify the specific locale or language preference(s) used by the provider in a response.</p></item></ulist><p>In addition, this specification defines a policy assertion (see   
    <specref ref="sec-ws-i18n-policy"/>.) relying on <bibref ref="wsp"/> to describe the capabilities of these functionalities for a provider or requester, and how to attach a policy with this assertion, relying on <bibref ref="wsp-attach"/>.</p><div2 id="sec-i18n-patterns"><head>Internationalization Patterns</head><p>When a Web service is deployed, there are four internationalization patterns that can be applied to the service:</p><olist><item><p><emph>Locale Neutral. </emph>Most aspects of most services are not particularly locale-affected. These services can be considered "locale neutral". For example, a service that adds two integers together is locale neutral.</p></item><item><p><emph>Data Driven. </emph>Aspects of the data determine how it is processed, rather than the configuration of either the requester or the provider.</p></item><item><p><emph>Service Determined. </emph>The service will have a particular setting built into it. As in: this service always runs in the French for France locale. Or, quite commonly, the service will run in the host's default locale. It may even be a deployment decision that controls which locale or preferences are applied to the service's operation.</p></item><item><p><emph>Client Influenced. </emph>The service's operation can use a locale preference provided by the end-user to affect its processing. This is called "influenced" because not every request may be honored by the service (the service may only implement behavior for certain locales or international preference combinations).</p></item></olist><p>Each of these patterns may apply to a service or an aspect of the service.</p></div2><div2><head id="sec-requirements">Requirements</head><p>The goal of this specification is to enable applications to gather information about a service's capabilities; pass international preferences to Web services that the application invokes via SOAP; and understand the format and language of any messages returned.</p><p>From this goal, the following functionalities are required in SOAP messages, see <specref ref="sec-soap-i18n"/>:</p><olist><item><p>indicate the locale and/or language preference of the client to the Web service and service provider;</p></item><item><p>indicate the time zone of the client;</p></item><item><p>indicate additional optional information about the client's international preferences;</p></item><item><p>provide an extensible mechanism for adding other related information to the request.</p></item></olist><p>An internationalization "policy", see <specref ref="sec-ws-i18n-policy"/>, can be used to describe the capability of these functionalities.</p></div2></div1><div1 id="sec-notation"><head>Notation and Terminology</head><p>This section is <emph>normative.</emph></p><p>This section specifies the terminology used throughout.</p><div2 id="sec-terminology"><head>Notation and Terminology</head><p>The keywords "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in <bibref ref="RFC2119"/>.</p></div2><div2 id="Notational_Conventions"><head>Notational Conventions</head><p>This specification uses the following syntax within normative outlines: </p><ulist><item><p>The syntax appears as an XML instance, but values in <emph>italics</emph>

                            indicate data types instead of literal values.</p></item><item><p>Characters are appended to elements and attributes to indicate
                            cardinality:</p><ulist><item><p>"?" (0 or 1)</p></item><item><p>"*" (0 or more)</p></item><item><p>"+" (1 or more)</p></item></ulist></item><item><p>The character "|" is used to indicate an exclusive choice between
                            alternatives.</p></item><item><p>The characters "(" and ")" are used to indicate that contained items are
                            to be treated as a group with respect to cardinality or choice.</p></item><item><p>This document relies on the XML Information Set <bibref ref="XMLInfoset"/>. Information item properties are indicated by the style <emph role="infoset-property">infoset property</emph>.</p></item><item><p>XML namespace prefixes (see <specref ref="sec-namespaces"/>) are used to
                            indicate the namespace of the element or attribute being defined.</p></item><item><p>The ellipses characters "..." are used to indicate a point of
                            extensibility that allows other Element or Attribute Information
                        Items.</p></item></ulist><p>Elements and Attributes defined by this specification are referred to in the text
                    of this document using XPath 1.0 <bibref ref="xpath10"/> expressions. Extensibility points
                    are referred to using an extended version of this syntax:</p><ulist><item><p>An element extensibility point is referred to using {any} in place of the
                            element name. This indicates that any element name can be used, from any
                            namespace, unless specified otherwise.</p></item><item><p>An attribute extensibility point is referred to using @{any} in place of
                            the attribute name. This indicates that any attribute name can be used,
                            from any namespace. </p></item></ulist><p> Normative text within this specification takes precedence over normative
                    outlines, which in turn take precedence over the XML Schema <bibref ref="xmlschema1"/> descriptions. </p></div2><div2 id="Extensibility"><head>Extensibility</head><p>Within normative outlines, in this specification, ellipses (i.e., "...")
                    indicate a point of extensibility that allows other Element or Attribute
                    Information Items. Information Items <rfc2119>MAY</rfc2119> be added at the
                    indicated extension points but <rfc2119>MUST NOT</rfc2119> contradict the
                    semantics of the element information item indicated by the <emph role="infoset-property">parent</emph> or <emph role="infoset-property">owner</emph> property of the extension. In this context, if an Attribute
                    Information Item is not recognized, it <rfc2119>SHOULD</rfc2119> be ignored.</p></div2><div2 id="sec-namespaces"><head>Namespaces</head>


<p>This specification uses a number of namespace prefixes throughout; they are listed in Table 1. Note that the choice of any namespace prefix is arbitrary and not semantically significant.</p>


  <table summary="Namespace prefixes usage in this specification" id="nsprefs" border="1">

                    <tbody>
                        <tr>
                            <th align="left" rowspan="1" colspan="1">Prefix</th>
                            <th align="left" rowspan="1" colspan="1">Namespace</th><th align="left">Specification</th>
                        </tr>
                        <tr><td>i18n</td><td>http://www.w3.org/2005/09/ws-i18n</td><td>This document, <specref ref="sec-soap-i18n"/></td></tr><tr><td>i18np</td><td>http://www.w3.org/2008/04/ws-i18np</td><td>This document, <specref ref="sec-ws-i18n-policy"/></td></tr><tr><td>ldml</td><td>http://unicode.org/cldr/</td><td><bibref ref="LDML"/></td></tr><tr>
                            <td rowspan="1" colspan="1">S</td>

                            <td rowspan="1" colspan="1">http://www.w3.org/2003/05/soap-envelope</td><td><bibref ref="soap12"/></td>
                        </tr>
                        
                        
                        

                        
                        <tr>
                            <td rowspan="1" colspan="1">xs</td>
                            <td rowspan="1" colspan="1">http://www.w3.org/2001/XMLSchema</td><td><bibref ref="xmlschema1"/> or <bibref ref="xmlschema2"/>, depending on the context</td>

                        </tr>
                        <tr>
                            <td rowspan="1" colspan="1">wsdl</td>
                            <td rowspan="1" colspan="1">http://www.w3.org/ns/wsdl or http://schemas.xmlsoap.org/wsdl/
                                , depending on context</td><td><bibref ref="wsdl20"/> or <bibref ref="wsdl11"/></td>
                        </tr>
                        
                        
                        
                        <tr><td colspan="1">wsp</td><td colspan="1">http://www.w3.org/ns/ws-policy</td><td><bibref ref="wsp"/> or <bibref ref="wsp-attach"/>, depending on the context</td></tr>

                    </tbody>
      
                </table>
</div2><div2 id="sec-implementation-requirements"><head>Requirements on Implementations</head>
<p>Certain aspects of this specification are described as
		<term>implementation-defined</term> or
		<term>implementation-dependent</term>.</p><ulist>
  <item>
    <p><termdef id="dt-implementation-defined" term="implementation defined"><term>Implementation-defined</term>
		indicates an aspect that may differ between
		implementations, but must be specified by the
		implementor for each particular
		implementation.</termdef></p>

  </item>
  <item>
    <p>
      <termdef id="dt-implementation-dependent" term="implementation   dependent"><term>Implementation-dependent</term>
		indicates an aspect that may differ between
		implementations, is not specified by this or any W3C
		specification, and is not required to be specified by
		the implementor for any particular
		implementation.</termdef></p>
  </item>
</ulist>


</div2></div1><div1 id="sec-soap-i18n"><head>Internationalization Data Structures for SOAP Messages</head><p>This section is <emph>normative.</emph></p><p>SOAP documents that need to send international preferences <rfc2119>SHOULD</rfc2119> include the <code>i18n:international</code> element information item in a header. When sent from the requester to a provider, the header represents the preferences of the requester or its client application. When sent in a response message from the provider, the header represents the settings that the service used to process the request. </p><div2 id="sec-i18n"><head>Internationalization Information in SOAP</head><p>The <code>i18n:international</code> element information item servers as a wrapper for conveying internationalization information in SOAP. Its content model is outlined below.</p><eg>(01) &lt;i18n:international ... S:actor="..."&gt;
(02)  &lt;i18n:locale&gt; <emph>locale identifier</emph> &lt;/i18n:locale&gt;
(03)  &lt;i18n:timezone&gt; <emph>time zone value</emph> &lt;/i18n:timezone&gt;
(04)  &lt;i18n:preferences ...&gt;
(05)   <emph>LDML-based or other locale preferences</emph>
(06)  &lt;/i18n:preferences&gt;
(07) &lt;/i18n:international&gt;</eg><p>The following describes the element information items defined in the schema outline above:</p><glist><gitem><label>/i18n:international</label><def><p>This element information item encloses international preferences and contextual information, see this section for more explanation.</p></def></gitem><gitem><label>/i18n:international/i18n:locale</label><def><p>This required element information item defines the locale, see <specref ref="sec-locale"/>.</p></def></gitem><gitem><label>i18n:international/i18n:tz?</label><def><p>This optional element information item defines the timezone, see <specref ref="sec-tz"/>.</p></def></gitem><gitem><label>i18n:international/i18n:preferences?</label><def><p>This optional element information item defines the locale preferences, see <specref ref="sec-preferences"/>.</p></def></gitem><gitem><label>/i18n:international/@S:actor</label><def><p>This attribute information item describes the target of the international preferences. See below for more detailed explanation.</p></def></gitem><gitem><label>i18n:international/@{any}</label><def><p>Additional attribute information items <rfc2119>MAY</rfc2119> be specified but <rfc2119>MUST NOT</rfc2119> contradict the semantics of the <term>owner element</term>; if an attribute is not recognized, it <rfc2119>SHOULD</rfc2119> be ignored.</p></def></gitem></glist><p>The <code>i18n:international</code> element information item encloses the header block that provides a mechanism for providing international preferences and contextual information within  a SOAP document targeted at a specific receiver (SOAP actor). The block can, therefore, be repeated multiple times in a SOAP message.</p><p>A message <rfc2119>MAY</rfc2119> have multiple <code>i18n:international</code> element information items if they are targeted for separate receivers. However, only one <code>i18n:international</code> element information item can omit the <code>S:actor</code> attribute and no two <code>i18n:international</code> element information items can have the same value for <code>S:actor</code>. International preference information targeted for different receivers <rfc2119>MUST</rfc2119> appear in different <code>i18n:international</code> element information items. The <code>i18n:international</code> element information item without a specified <code>S:actor</code> can be consumed by anyone, but <rfc2119>MUST NOT</rfc2119> be removed prior to the final destination.</p><note><p>In practice, the <code>i18n:international</code> element information item is rarely repeated in a header. The main case for repeating it is when an intermediary service is forwarding a request. See <loc href="http://www.w3.org/TR/ws-i18n-scenarios/#IDAGWTO">Section 4.7</loc> of <bibref ref="I18NScenarios"/>.</p></note></div2><div2 id="sec-locale"><head>Providing Locale Information</head><p>The <code>i18n:locale</code> element information item <rfc2119>MUST</rfc2119> appear exactly one time as the first item in  the <term>children</term> property of the <code>i18n:international</code> element information item.</p><eg>(01) &lt;i18n:locale&gt; (<emph>locale identifier based on <bibref ref="LDML"/></emph>)|
(02) "$neutral" | "$default") &lt;/i18n:locale&gt;</eg><p>The <code>i18n:locale</code> element information item represents the locale in the web services interaction. Its value <rfc2119>MUST</rfc2119> be either a valid <bibref ref="LDML"/>  locale identifier or one of the  values <quote><code>$neutral</code></quote> or <quote><code>$default</code></quote>.</p><p>The value <code>$default</code> indicates that the service or provider should use its own runtime locale as the base setting. The value <code>$neutral</code> represents the base or root locale on the receiving system. Different systems and environments identify this setting in different ways. Examples are given below.</p><example><head>Locale settings in different systems</head><table width="100%" border="1px" cellspacing="2px" cellpadding="1px"><thead><tr><th>System</th><th>Locale</th></tr></thead><tbody><tr><td>UNIX</td><td>C/POSIX</td></tr><tr><td>Java</td><td>Locale("","")</td></tr><tr><td>.NET</td><td>Invariant Culture</td></tr></tbody></table></example><p>Examples of various values for the <code>i18n:locale</code> information item are given below:</p><example><head>Examples of locale values</head><eg>(01) &lt;i18n:locale&gt;en_US&lt;/i18n:locale&gt;      &lt;!-- U.S. English --&gt;
(02) &lt;i18n:locale&gt;$default&lt;/i18n:locale&gt;   &lt;!-- default locale--&gt;
(03) &lt;i18n:locale&gt;zh_Hant_HK&lt;/i18n:locale&gt; &lt;!-- Chinese written in
                                                Traditional script for Hong Kong --&gt;

</eg></example></div2><div2 id="sec-tz"><head>Providing Time zone Information</head><p>The <code>i18n:tz</code> element information item <rfc2119>MAY</rfc2119> appear at most one time in the <term>children</term> property of the <code>i18n:international</code>  information item. If present, it <rfc2119>MUST</rfc2119> follow the <code>i18n:locale</code> element information item.</p><eg>(01) &lt;i18n:tz&gt; <emph>(<bibref ref="RFC822"/> value) | (Olson ID <bibref ref="olsonid"/>) </emph>&lt;/i18n:tz&gt;</eg><p>The <code>i18n:tz</code> element information item represents the local time zone of the requester or provider. The value of the element <rfc2119>MUST</rfc2119> be either RFC 822-formatted zone offset <bibref ref="RFC822"/> or an Olson ID <bibref ref="olsonid"/> from the 'olsonid' database. Note that RFC 822 zone offsets are not complete time zone identifiers and Olson identifiers are preferred. It is <termref def="dt-implementation-defined">implementation-defined</termref> whether an RFC 822-formatted zone offset or an OLson ID is given, and how a  choice between these two kinds of values is indicated.</p><p>An example of the <code>i18n:tz</code>  element information item using an  RFC 822 zone offset is given below:</p><example><head>The <code>tz</code> element information item</head><eg>(01) &lt;i18n:tz&gt;GMT-0300&lt;/i18n:tz&gt;
(02) &lt;i18n:tz&gt;America/Los_Angeles&lt;/i18n:tz&gt;</eg></example></div2><div2 id="sec-preferences"><head>Providing Locale Preferences</head><p>The optional <code>i18n:preferences</code> element  information item <rfc2119>MUST</rfc2119> appear at most one time in the <term>children</term> property of the  <code>i18n:international</code> element information item. If present, it <rfc2119>MUST</rfc2119> follow the <code>i18n:tz</code> element information item or (if <code>i18n:tz</code> is omitted) the <code>i18n:locale</code> element information item. </p><eg>(01) &lt;i18n:preferences ...&gt;...&lt;/i18n:preferences&gt;</eg><p>The <code>i18n:preferences</code> element information item represents a way to construct specific locale preferences and overrides. Support for the <code>&lt;i18n:preferences&gt;</code> element is <rfc2119>OPTIONAL</rfc2119> and specific behavior in relation to any particular preference is <termref def="dt-implementation-dependent">implementation dependent</termref>. Implementations of this specification are not required to recognize, support, or acknowledge the <code>i18n:preferences</code> element information item or any of its sub-elements. Services <rfc2119>MUST NOT</rfc2119> require a <code>i18n:preferences</code> element information item be sent in order to operate correctly.</p><p>An example of the usage of <code>i18n:preferences</code> is given below. It describes preferences using <bibref ref="LDML"/>.</p><example><head><code>preferences</code> element information item using <bibref ref="LDML"/></head><p>In this example, the <code>i18n:preferences</code> element information item  used to convey the usage of a specific metric system.</p><eg>(01) &lt;i18n:preferences&gt;
(02)    &lt;ldml:measurementSystem type="metric" /&gt;
(03) &lt;/i18n:preferences&gt;</eg></example><p>The LDML <code>alias</code> element information item is demonstrated below as another example of the content of the <code>i18n:preferences</code> element information item. <code>alias</code> allows the application to specify a base locale or collection of data from the Common Locale Data Repository <bibref ref="CLDR"/> to serve as a basis for other preferences. Thus it can be used to import a large number of settings that the remaining preferences tailor.</p><example><p>If the following i18n header is received and the specific preferences requested are supported, then the service should be expected to obey the locale request of U.S. English ("en-US"), but uses the German ("de_DE") collation specified ("phonebook" in this case).</p><eg>(01) &lt;i18n:international&gt;
(02)   &lt;i18n:locale&gt;en_US&lt;/i18n:locale&gt;
(03)   &lt;i18n:preferences&gt;
(04)     &lt;ldml:collation&gt;
(05)       &lt;ldml:alias source="de_DE" type="phonebook"/&gt;
(06)     &lt;/ldml:collation&gt;
(07)   &lt;/i18n:preferences&gt;
(08) &lt;/i18n:international&gt;</eg></example></div2></div1><div1 id="sec-ws-i18n-policy"><head>Indicating Use of WS-I18N</head><p>This section is <emph>normative.</emph></p><p>This section describes a domain-specific policy assertion for describing the capabilities defined in <specref ref="sec-i18n"/> of this document. The mechanism for indicating that a requestor or provider uses the capabilities (or requires their usage) defined in this specification is through the use of the Web Services Policy - Framework <bibref ref="wsp"/> and Web Services Policy - Attachment <bibref ref="wsp-attach"/> specifications. </p><p>This specification defines one policy assertion called <code>i18np:i18n</code>, reading as "Web Services Internationalization Policy". <specref ref="sec-assertion-syntax"/> describes the syntax of this assertion, <specref ref="sec-assertion-attachment"/> describes its relevant policy subjects and attachment points.</p> 
 <div2 id="sec-assertion-syntax"><head>Assertion Syntax</head><p>THe <code>i18np:i18n</code> policy assertion consists of one element information item whose structure is defined below.</p><glist>
  <gitem>
   <label>/i18np:i18n</label>
   <def><p>The <code>i18np:i18n</code> element information item indicating the use of the mechanisms defined in <specref ref="sec-soap-i18n"/> of this specification.</p></def>
  </gitem>
   <gitem>
   <label>/i18np:i18n/@wsp:Optional?</label>
   <def><p>This attribute indicates the optionality for the support of this assertion.</p></def>
  </gitem>
  
   <gitem>
   <label>/i18np:i18n/@{any}</label>
  <def><p>This is an extensibility mechanism to allow additional attributes to be added to the element.</p></def>
  </gitem>
 </glist>
 <p>The meaning of this assertion, when present in a policy alternative, is that the requester or provider requires the processing of web services internationalization information, as described in <specref ref="sec-soap-i18n"/> of this document.</p><p>The <code>wsp:Optional</code> attribute, as a syntactic shortcut, can be used with the <code>i18np:i18np</code> assertion. This indicates two policy alternatives, one which contains the policy assertion, and another which does not. The <code>i18np:i18n</code> element information item MUST NOT include the <code>wsp:Ignorable</code>  attribute in its <term>attributes</term> property with a value of true.</p><p>The differentiation between describing the support for this capability and the requirement is demonstrated below, using the <code>wsp:Optional</code> attribute.</p><example><head>Subject supports WS-I18N</head><eg>(01) &lt;wsp:Policy&gt; 
(02)     &lt;i18np:i18n wsp:Optional="true"/&gt;
(03) &lt;/wsp:Policy&gt;</eg></example><example><head>Subject requires WS-I18N</head><eg>(01) &lt;wsp:Policy&gt;
(02)    &lt;i18np:i18n/&gt;
(03) &lt;/wsp:Policy&gt;</eg></example></div2><div2 id="sec-assertion-attachment"><head>Assertion Attachment</head><p>Because the <code>i18np:i18n</code>  assertion indicates behavior over all messages in a binding, the assertion has an endpoint policy subject. <bibref ref="wsp-attach"/>.</p><p><bibref ref="wsp-attach"/> defines three <bibref ref="wsdl20"/> policy attachment points with endpoint policy subject:</p>
 <ulist>
 
 <item><p>wsdl:interface</p></item><item><p>wsdl:binding</p></item><item><p>wsdl:endpoint</p></item></ulist><p>WS-PolicyAttachment also defines three <bibref ref="wsdl11"/> policy attachment 
      points with endpoint policy subject:</p><ulist><item><p>wsdl:portType</p></item><item><p>wsdl:binding</p></item><item><p>wsdl:port</p></item></ulist><p>A policy expression containing the <code>i18np:i18n</code> policy  
      assertion <rfc2119>MUST NOT</rfc2119> be attached to a <code>wsdl:interface</code> or <code>wsdl11:portType</code>; the <code>i18np:i18n</code> policy assertion 
      specifies a concrete behavior whereas the <code>wsdl:interface</code> or <code>wsdl11:portType</code> is an abstract construct.</p><p>A policy expression containing the <code>i18np:i18n</code> policy assertion MUST, if 
      present be attached to either a <code>wsdl:binding</code> or <code>wsdl11:binding</code>, or <code>wsdl:endpoint</code> or <code>wsdl11:port</code>.</p><p>When attached to either a <code>wsdl:binding</code> or <code>wsdl11:binding</code>,  or <code>wsdl:endpoint</code> or <code>wsdl11:port</code> representing a SOAP 1.2 binding, 
      the assertion indicates that the designated endpoint is capable of processing the functionalities described in <specref ref="sec-soap-i18n"/> of this specification. </p>
 
 <p>The following example demonstrates the use of the <code>i18np:i18n</code> policy  assertion in <bibref ref="wsdl20"/>.</p><example><head>Use of <code>i18np:i18n</code> policy assertion in WSDL 2.0</head><eg><![CDATA[1 <wsdl:description
2         targetNamespace="http://tns.example.com/"
3         xmlns:tns="http://tns.example.com/"
4         xmlns:wsdl="http://www.w3.org/ns/wsdl"
5         xmlns:wsp="http://www.w3.org/ns/ws-policy"
6         xmlns:i18np="http://www.w3.org/2008/04/ws-i18np">
7         <wsp:Policy xml:id="MyPolicy" >
8                 <i18np:i18n/>
9                <!-- omitted assertions --> 
10        </wsp:Policy>

11        <!-- omitted elements -->

12        <wsdl:binding name="MyBinding" type="tns:MyInterface" >
13                <wsp:PolicyReference
14                        URI="#MyPolicy"
15                        wsdl:required="true" />
16                <!-- omitted elements -->
17        </wsdl:binding>
18 </wsdl:description>]]></eg></example>
<p>Lines (7-10) are a policy expression that includes an <code>i18np:i18n</code> policy assertion (Line 8) 
	    to indicate that the functionality defined in <specref ref="sec-soap-i18n"/> of this document may be used.</p><p>Lines (12-17) are a <bibref ref="wsdl20"/>  binding. Lines (13-14) indicate that the policy in Lines (7-10) applies to this binding, specifically indicating that the <code>i18n:international</code> element information item must be accepted over all the 
	    messages in the binding. Line (15) indicates that this policy is a required extension.</p>
<example><head>Use of <code>i18np:i18n</code> policy assertion in WSDL 1.1</head><eg><![CDATA[1 <wsdl:definitions 
2         targetNamespace="example.com"
3         xmlns:tns="example.com"
4         xmlns:wsdl11="http://schemas.xmlsoap.org/wsdl/"
5         xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy"
6         xmlns:i18np="http://www.w3.org/2008/04/ws-i18np">
  
7         <wsp:Policy xml:id="MyPolicy" >
8                 <i18np:i18n/>
9                <!-- omitted assertions --> 
10        </wsp:Policy>
 
11        <!-- omitted elements -->
 
12        <wsdl:binding name="MyBinding" type="tns:MyPortType" >
13                <wsp:PolicyReference
14                        URI="#MyPolicy"
15                        wsdl11:required="true" />
16                <!-- omitted elements -->
17        </wsdl:binding>

18 </wsdl:definitions>]]></eg></example><p>Lines (7-10) are a policy expression that includes an <code>i18np:i18n</code> policy assertion (Line 8) 
	    to indicate that the functionality defined in <specref ref="sec-soap-i18n"/> of this document may be used.</p><p>Lines (12-17) are a <bibref ref="wsdl11"/>  binding. Lines (13-14) indicate that the policy in Lines (7-10) applies to this binding, specifically indicating that the <code>i18n:international</code> element information item must be accepted over all the 
	    messages in the binding. Line (15) indicates that this policy is a required extension.</p>
</div2></div1><div1 id="sec-conformance"><head>Conformance</head><p>This section is <emph>normative.</emph></p><p>An implementation is not compliant with this specification if it fails to satisfy one or more of the <rfc2119>MUST</rfc2119> level requirements defined herein. The XML namespace identifiers for this specification (listed in <specref ref="sec-namespaces"/>) <rfc2119>MUST</rfc2119> not be used unless they are compliant with this specification.
</p><p>Normative text within this specification takes precedence over normative outlines, which in turn takes precedence over the XML Schema <bibref ref="xmlschema1"/>,  <bibref ref="xmlschema2"/> descriptions.</p></div1></body><back><div1 id="sec-normrefs"><head>Normative References</head><blist><bibl id="bcp47" key="BCP 47">Addison Phillips, Mark Davis, editors. <loc href="http://www.rfc-editor.org/rfc/bcp/bcp47.txt">Tags for the Identification of Languages</loc>, September 2006. Available at  <loc href="http://www.rfc-editor.org/rfc/bcp/bcp47.txt">http://www.rfc-editor.org/rfc/bcp/bcp47.txt</loc>.</bibl><bibl id="LDML" key="LDML">Mark Davis,
  editor. <loc href="http://unicode.org/reports/tr35/tr35-8.html">Locale Data Markup Language (LDML)</loc>, Unicode Technical Standard #35.
Available at <loc href="http://unicode.org/reports/tr35/tr35-5.html">http://unicode.org/reports/tr35/tr35-8.html</loc>. The latest version of <loc href="http://unicode.org/reports/tr35/">LDML</loc> is available at http://unicode.org/reports/tr35/.
  </bibl><bibl href="ftp://elsie.nci.nih.gov/pub/" key="OLSON ID" id="olsonid"><loc href="http://www.twinsun.com/tz/tz-link.htm">The TZID Database (aka Olson timezone database)
Timezone and daylight savings information.</loc>. Available at <loc href="ftp://elsie.nci.nih.gov/pub/">ftp://elsie.nci.nih.gov/pub/</loc>. For general information, see <loc href="http://www.twinsun.com/tz/tz-link.htm">http://www.twinsun.com/tz/tz-link.htm</loc></bibl><bibl id="RFC822" key="RFC 822" href="http://www.ietf.org/rfc/rfc822.txt"> David H. Crocker. <loc href="http://www.ietf.org/rfc/rfc822.txt">Standard for the Format of Arpa Internet Text Messages</loc>. Available at <loc href="http://www.ietf.org/rfc/rfc822.txt">http://www.ietf.org/rfc/rfc822.txt</loc>.</bibl><bibl id="RFC2119" key="RFC 2119" href="http://www.ietf.org/rfc/rfc2119.txt">S. Bradner. <loc href="http://www.ietf.org/rfc/rfc2119.txt">Key Words for use in RFCs to Indicate Requirement Levels</loc>. IETF RFC 2119. Available at  <loc href="http://www.ietf.org/rfc/rfc2119.txt">http://www.ietf.org/rfc/rfc2119.txt</loc>.
</bibl><bibl id="soap12" key="SOAP 1.2">Martin Gudgin, Marc Hadley, Noah Mendelsohn, Jean-Jacques Moreau, Henrik Frystyk Nielsen, Anish Karmarkar, Yves Lafon, editors. <loc href="http://www.w3.org/TR/2007/REC-soap12-part1-20070427/">SOAP Version 1.2 Part 1: Messaging Framework (Second Edition)</loc>, W3C Recommendation 27 April 2007. Available at <loc href="http://www.w3.org/TR/2007/REC-soap12-part1-20070427/">http://www.w3.org/TR/2007/REC-soap12-part1-20070427/</loc>. The latest version of <loc href="http://www.w3.org/TR/soap12-part1/">SOAP 1.2</loc> is available at http://www.w3.org/TR/soap12-part1/ .</bibl><bibl id="wsdl11" key="WSDL 1.1">Erik Christensen, Francisco Curbera, Greg Meredith, Sanjiva Weerawarana, editors. <loc href="http://www.w3.org/TR/2001/NOTE-wsdl-20010315">Web Services Description Language (WSDL) 1.1</loc>, W3C Note 15 March 2001. Available at <loc href="http://www.w3.org/TR/2001/NOTE-wsdl-20010315">http://www.w3.org/TR/2001/NOTE-wsdl-20010315</loc>. The latest version of <loc href="http://www.w3.org/TR/wsdl">WSDL 1.1</loc> is available at http://www.w3.org/TR/wsdl .</bibl><bibl id="wsdl20" key="WSDL 2.0">Roberto Chinnici, Jean-Jacques Moreau, Arthur Ryman, Sanjiva Weerawarana, editors. <loc href="http://www.w3.org/TR/2007/REC-wsdl20-20070626">Web Services Description Language (WSDL) Version 2.0 Part 1: Core Language</loc>, W3C Recommendation 26 June 2007. Available at <loc href="http://www.w3.org/TR/2007/REC-wsdl20-20070626">http://www.w3.org/TR/2007/REC-wsdl20-20070626</loc>. The latest version of <loc href="http://www.w3.org/TR/wsdl20">WSDL 2.0</loc> is available at http://www.w3.org/TR/wsdl20 .</bibl><bibl id="wsp" key="WS Policy Framework"> Asir S Vedamuthu, David Orchard, Frederick Hirsch, Maryann Hondo, Prasad Yendluri, Toufic Boubez, Ümit Yalçinalp, editors. <loc href="http://www.w3.org/TR/2007/REC-ws-policy-20070904">Web Services Policy 1.5 - Framework</loc>, W3C Recommendation 04 September 2007. Available at <loc href="http://www.w3.org/TR/2007/REC-ws-policy-20070904">http://www.w3.org/TR/2007/REC-ws-policy-20070904</loc>. The latest version of <loc href="http://www.w3.org/TR/ws-policy/">WS Policy</loc> is available at http://www.w3.org/TR/ws-policy/ .</bibl>

<bibl id="wsp-attach" key="WS Policy Attachment">Asir S Vedamuthu, David Orchard, Frederick Hirsch, Maryann Hondo, Prasad Yendluri, Toufic Boubez, Ümit Yalçinalp, editors. <loc href="http://www.w3.org/TR/2007/REC-ws-policy-attach-20070904">Web Services Policy 1.5 - Attachment</loc>, W3C Recommendation 04 September 2007. Available at <loc href="http://www.w3.org/TR/2007/REC-ws-policy-attach-20070904">http://www.w3.org/TR/2007/REC-ws-policy-attach-20070904</loc>. The latest version of <loc href="http://www.w3.org/TR/ws-policy-attach/">WS Policy Attachment</loc> is available at http://www.w3.org/TR/ws-policy-attach/ .</bibl><bibl id="XMLInfoset" key="XML Infoset">John Cowan, Richard Tobin, editors. <loc href="http://www.w3.org/TR/2004/REC-xml-infoset-20040204">XML Information Set (Second Edition)</loc>, W3C Recommendation 4 February 2004. Available at <loc href="http://www.w3.org/TR/2004/REC-xml-infoset-20040204">http://www.w3.org/TR/2004/REC-xml-infoset-20040204</loc>. The latest version of <loc href="http://www.w3.org/TR/xml-infoset/">XML Infoset</loc> is available at http://www.w3.org/TR/xml-infoset/ .</bibl><bibl id="xmlschema1" key="XML Schema 1">Henry S. Thompson, David Beech, Murray Maloney, Noah Mendelsohn, editors. <loc href="http://www.w3.org/TR/2004/REC-xmlschema-1-20041028/">XML Schema Part 1: Structures Second Edition</loc>, W3C Recommendation 28 October 2004. Available at <loc href="http://www.w3.org/TR/2004/REC-xmlschema-1-20041028/">http://www.w3.org/TR/2004/REC-xmlschema-1-20041028/</loc>. The latest version of <loc href="http://www.w3.org/TR/xmlschema-1/">XML Schema 1</loc> is available at http://www.w3.org/TR/xmlschema-1/ .</bibl><bibl id="xmlschema2" key="XML Schema 2">Paul V. Biron, Ashok Malhotra. <loc href="http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/">XML Schema Part 2: Datatypes Second Edition</loc>, W3C Recommendation 28 October 2004. Available at <loc href="http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/">http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/</loc>. The latest version of <loc href="http://www.w3.org/TR/xmlschema-2/">XML Schema 2</loc> is available at http://www.w3.org/TR/xmlschema-2/ .</bibl>
<bibl id="xpath10" key="XPath 1.0">James Clark, Steve DeRose, editors. <loc href="http://www.w3.org/TR/1999/REC-xpath-19991116">XML Path Language (XPath)</loc>, W3C Recommendation 16 November 1999. Available at <loc href="http://www.w3.org/TR/1999/REC-xpath-19991116">http://www.w3.org/TR/1999/REC-xpath-19991116</loc>. The latest version of <loc href="http://www.w3.org/TR/xpath">XPath 1.0</loc> is available at http://www.w3.org/TR/xpath .</bibl></blist></div1><div1 id="sec-xmlschema-documents"><head>XML Schema Documents</head><p>This section is <emph>normative</emph>.</p><p>This section provides the following schemas:</p><ulist><item> <p><loc href="ws-i18n.xsd">XML Schema document for WS-I18N</loc> (see <specref ref="sec-soap-i18n"/> of this specification)</p></item><item> <p><loc href="ws-i18np.xsd">XML Schema document indicating the use of WS-I18N</loc> (see <specref ref="sec-ws-i18n-policy"/> of this specification)</p></item></ulist></div1><inform-div1 id="sec-informrefs"><head>Informative References</head>
<blist>
<bibl id="CLDR" key="CLDR"><loc href="http://www.unicode.org/cldr/">Common Locale Data Repository</loc>, Unicode Consortium. Available at <loc href="http://www.unicode.org/cldr/">http://www.unicode.org/cldr/</loc>.</bibl>
<bibl id="I18NScenarios" key="I18NScenarios" href="http://www.w3.org/International/ws/ws-i18n-scenarios-edit/Overview.xml">Debasish Banerjee, Martin Dürst, Mike McKenna, Addison Phillips, Takao Suzuki, Tex Texin, Andrea Vine. <loc href="http://www.w3.org/TR/2004/NOTE-ws-i18n-scenarios-20040730/">Web Services Internationalization Usage Scenarios</loc>. W3C Working Draft December 2003. Available at <loc href="http://www.w3.org/TR/2004/NOTE-ws-i18n-scenarios-20040730/">http://www.w3.org/TR/2004/NOTE-ws-i18n-scenarios-20040730/</loc>. The latest version of <loc href="http://www.w3.org/TR/ws-i18n-scenarios/">ws-i18n-scenarios</loc> is available at http://www.w3.org/TR/ws-i18n-scenarios/.</bibl>

  
  

<bibl id="RFC3282" key="RFC 3282" href="http://www.apps.ietf.org/rfc/rfc3282.html">Harald Alvestrand. <loc href="http://www.apps.ietf.org/rfc/rfc3282.html">Content Language Headers</loc>. IETF Standards track document, May 2002. Work in progress.  See <loc href="http://www.ietf.org/rfc/rfc3282.txt">http://www.ietf.org/rfc/rfc3282.txt</loc>.</bibl>
</blist>
</inform-div1>
<inform-div1 id="sec-revlog">
<head>Revision Log</head>
    <p>The following revision log contains changes since the <loc href="http://www.w3.org/TR/2005/WD-ws-i18n-20050914/">publication from 14 September 2005.</loc></p>
    <ulist>
        <item>
            <p>Kept the functionality of Web Services Internationalization, but realized it now relying on <bibref ref="wsp"/> and <bibref ref="wsp-attach"/>. This change lead to a complete restructuring of the document.</p>
        </item>
    </ulist>
</inform-div1>
<inform-div1 id="sec-acknowledgements"><head>Acknowledgements </head><p>This document is the work of the <loc href="http://www.w3.org/International/core/">W3C i18n Core Working Group</loc>.</p>
<!--
<p>Members of the Working Group are (at the time of writing, and by alphabetical order): Greg Aaron (Afilias Limited), Karunesh Arora (Centre for Development of Advanced Computing (CDAC)), Len Bayles (Afilias Limited), Hiroyuki Chiba (W3C Invited Experts), David Clarke (W3C Invited Experts), Andrew Cunningham (W3C Invited Experts), Mark Davis (Google, Inc.), Tom Durham (Afilias Limited), Martin Dürst (W3C Invited Experts), Junzaburo Edamoto (W3C Invited Experts), vijay kumar gugnani (Centre for Development of Advanced Computing (CDAC)), Richard Ishida (W3C/ERCIM), Toshi Kobayashi (W3C Invited Experts), Ram Mohan (Afilias Limited), Michael Monaghan (Sun Microsystems, Inc.), Kevin Novac (Library of Congress), John O'Conner (Sun Microsystems, Inc.), Kenzou Onozawa (W3C Invited Experts), Addison Phillips (Yahoo!, Inc.), Pasquale Popolizio (International Webmasters Association / HTML Writers Guild (IWA-HWG)), Felix Sasaki (W3C/Keio), Roberto Scano (International Webmasters Association / HTML Writers Guild (IWA-HWG)), Ienup Sung (Sun Microsystems, Inc.), Najib Tounsi (Ecole Mohammadia d'Ingenieurs Rabat (EMI)), François Yergeau (W3C Invited Experts).</p>
--></inform-div1></back>
</spec>

