<?xml version="1.0" encoding="UTF-8"?>
<!-- =======================================================
     * File Name :              IsiID.xsd
     * Author :                  ATI
     * Owner :                   KSZ / CBSS
     * Creation date :           03/03/2013
     * Last revision date :
     * Status :                  Planned
     * Description :             contenu du code-barres 2 dimensions
     * Current version :         0.1
     *
* 13/01/2014 : la date de naissance peut se limiter a l'annee
* 13/03/2023 : removing the target namespace
============================================================= -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="unqualified"
  attributeFormDefault="unqualified" version="2023-03-13">
  <xs:element name="isi" type="ContentDatamatrixType">
    <xs:annotation>
      <xs:documentation>carte residuaire (succession SIS)</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="ContentDatamatrixType">
    <xs:annotation>
      <xs:documentation>element isi @c</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="identity" type="IdentityType">
        <xs:annotation>
          <xs:documentation>holder</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="card" type="CardType">
        <xs:annotation>
          <xs:documentation>card</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="i" type="xs:base64Binary" minOccurs="0">
        <xs:annotation>
          <xs:documentation>élément d'intégrité</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="c" type="xs:dateTime" use="required">
      <xs:annotation>
        <xs:documentation>date heure de la capture des donnees</xs:documentation>
      </xs:annotation>
    </xs:attribute>
  </xs:complexType>
  <xs:simpleType name="SSINType">
    <xs:restriction base="xs:string">
      <xs:pattern value="[0-9]{2}[0-5][0-9]{8}" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="ISIType">
    <xs:restriction base="xs:string">
      <xs:pattern value="[0-9]{11}" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NameType">
    <xs:restriction base="xs:string">
      <xs:minLength value="1" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="IdentityType">
    <xs:sequence>
      <xs:element name="ssin" type="SSINType">
        <xs:annotation>
          <xs:documentation>security social identification number </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ln" type="NameType">
        <xs:annotation>
          <xs:documentation>last name</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="gn" type="NameType" minOccurs="0">
        <xs:annotation>
          <xs:documentation>given name</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="b" type="ISI_BirthdateType">
        <xs:annotation>
          <xs:documentation>birth date</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="g" type="GenderType" />
    </xs:sequence>
  </xs:complexType>
  <!--
-->
  <xs:complexType name="CardType">
    <xs:sequence>
      <xs:element name="n" type="xs:string">
        <xs:annotation>
          <xs:documentation>number</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="s" type="xs:date">
        <xs:annotation>
          <xs:documentation>start date</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="e" type="xs:date">
        <xs:annotation>
          <xs:documentation>end date</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="ISI_BirthdateType">
    <xs:restriction base="xs:string">
      <xs:pattern value="[0-9]{4}[-][0-1][0-9][-][0-3][0-9]" />
      <xs:pattern value="[0-9]{4}" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="GenderType">
    <xs:annotation>
      <xs:documentation>gender</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="F" />
      <xs:enumeration value="M" />
    </xs:restriction>
  </xs:simpleType>
</xs:schema>
