Proposal for allowing xml:lang on faultstring

The issue: The faultstring is currently of type 'string' in the
http://www.w3.org/2001/XMLSchema namespace and as such does not allow the
xml:lang attribute. This hinders implementors who want to indicate the
language used for fault strings.

The proposal:

1.  Add the following to the top of the envelope schema[1];

 <xs:import namespace='http://www.w3.org/XML/1998/namespace' />

2.  Add a type definition as follows;

 <xs:complexType name='faultstring' >
    <xs:simpleContent>
      <xsd:extension base='xs:string' >
        <xs:attribute ref='xml:lang' />
      </xs:extension>
    </xs:simpleContent>
 </xs:complexType>

3. Amend the Fault type as follows;

 <xs:complexType name="Fault" final="extension" >
   <xs:annotation>
    <xs:documentation>
     Fault reporting structure
    </xs:documentation>
   </xs:annotation>
   <xs:sequence>
    <xs:element name="faultcode" type="tns:faultcode" />
    <xs:element name="faultstring" type="tns:faultstring" />
    <xs:element name="faultactor" type="xs:anyURI" minOccurs="0" />
    <xs:element name="faultrole" type="xs:anyURI" minOccurs="0" />
    <xs:element name="detail" type="tns:detail" minOccurs="0" />
   </xs:sequence>
  </xs:complexType>


4. Amend the description of faultstring as follows;

The faultstring element information item has:

  A [local name] of faultstring .
  A [namespace name] which has no value.
  An optional attribute information item with a local name of lang and
namespace name of http://www.w3.org/XML/1998/namespace ( see [ref to
http://www.w3.org/TR/REC-xml.html#sec-lang-tag] )


I believe these are the only changes necessary. There are no other elements
of type string defined by our spec so the issue does not arise anywhere
else.

Gudge

Received on Thursday, 11 April 2002 04:46:10 UTC