<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">

<!-- liste des types simples pour les champs -->

<xsd:simpleType name="CHAR_6">
<xsd:restriction base="xsd:string">
<xsd:length value="6"/>
<xsd:simpleType name="CHAR_6">
    <xsd:restriction base="xsd:string">
      <xsd:length value="6" />
    </xsd:restriction>
  </xsd:simpleType>

  <xsd:simpleType name="CHAR_20">
    <xsd:restriction base="xsd:string">
      <xsd:length value="20" />
    </xsd:restriction>
  </xsd:simpleType>

  <xsd:simpleType name="DECIMAL_5_1">
    <xsd:restriction base="xsd:decimal">
      <xsd:totalDigits value="5" />
      <xsd:fractionDigits value="1" />
    </xsd:restriction>
  </xsd:simpleType>

<!-- Type complexe pour les tuples -->

  <xsd:complexType name="RowType.P">
    <xsd:sequence>
      <xsd:element name="PNUM" type="CHAR_6" />
      <xsd:element name="PNAME" type="CHAR_20" />
      <xsd:element name="COLOR" type="CHAR_6" />
      <xsd:element name="WEIGHT" type="DECIMAL_5_1" />
      <xsd:element name="CITY" type="CHAR_20" />
    </xsd:sequence>
  </xsd:complexType>

<!-- Type complexe pour l'ensemble des tuples -->

  <xsd:complexType name="TableType.P">
    <xsd:sequence>
      <xsd:element name="row" type="RowType.P" minOccurs="0"
      maxOccurs="unbounded" />
    </xsd:sequence>
  </xsd:complexType>

<!-- déclaration de l'element "table" P -->

  <xsd:element name="P" type="TableType.P" />
</xsd:schema>

