<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.reinf.esocial.gov.br/schemas/evt1050TabLig/v2_01_01" targetNamespace="http://www.reinf.esocial.gov.br/schemas/evt1050TabLig/v2_01_01" elementFormDefault="qualified" attributeFormDefault="unqualified">
  <xs:import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="./xmldsig-core-schema.xsd"/>
  <xs:element name="Reinf">
    <xs:annotation>
      <xs:documentation>Escrituracao Fiscal Digital de Retencoes e Outras Informacoes Fiscais (EFD-Reinf)</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence>
        <xs:element name="evtTabLig" minOccurs="1" maxOccurs="1">
          <xs:annotation>
            <xs:documentation>Evento tabela de entidades ligadas</xs:documentation>
          </xs:annotation>
          <xs:complexType>
            <xs:sequence>
              <xs:element name="ideEvento" minOccurs="1" maxOccurs="1">
                <xs:annotation>
                  <xs:documentation>Informacoes de identificacao do evento</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="tpAmb" minOccurs="1" maxOccurs="1">
                      <xs:annotation>
                        <xs:documentation>Tipo de ambiente</xs:documentation>
                      </xs:annotation>
                      <xs:simpleType>
                        <xs:restriction base="xs:unsignedByte">
                          <xs:pattern value="[1|2]"/>
                        </xs:restriction>
                      </xs:simpleType>
                    </xs:element>
                    <xs:element name="procEmi" minOccurs="1" maxOccurs="1">
                      <xs:annotation>
                        <xs:documentation>Processo de emissao do evento</xs:documentation>
                      </xs:annotation>
                      <xs:simpleType>
                        <xs:restriction base="xs:unsignedByte">
                          <xs:pattern value="[1|2]"/>
                        </xs:restriction>
                      </xs:simpleType>
                    </xs:element>
                    <xs:element name="verProc" minOccurs="1" maxOccurs="1">
                      <xs:annotation>
                        <xs:documentation>Versao do processo de emissao do evento. </xs:documentation>
                      </xs:annotation>
                      <xs:simpleType>
                        <xs:restriction base="xs:string">
                          <xs:minLength value="1"/>
                          <xs:maxLength value="20"/>
                        </xs:restriction>
                      </xs:simpleType>
                    </xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
              <xs:element name="ideContri" minOccurs="1" maxOccurs="1">
                <xs:annotation>
                  <xs:documentation>Informacoes de identificacao do contribuinte</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="tpInsc" minOccurs="1" maxOccurs="1">
                      <xs:annotation>
                        <xs:documentation>Tipo de Inscricao</xs:documentation>
                      </xs:annotation>
                      <xs:simpleType>
                        <xs:restriction base="xs:unsignedByte">
                          <xs:pattern value="[1|2]"/>
                        </xs:restriction>
                      </xs:simpleType>
                    </xs:element>
                    <xs:element name="nrInsc" minOccurs="1" maxOccurs="1">
                      <xs:annotation>
                        <xs:documentation>Numero de Inscricao</xs:documentation>
                      </xs:annotation>
                      <xs:simpleType>
                        <xs:restriction base="xs:string">
                          <xs:pattern value="[0-9]{8}|[0-9]{11}|[0-9]{14}"/>
                        </xs:restriction>
                      </xs:simpleType>
                    </xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
              <xs:element name="infoLig" minOccurs="1" maxOccurs="1">
                <xs:annotation>
                  <xs:documentation>Informacoes relacionadas a entidades ligadas</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                  <xs:sequence>
                    <xs:choice minOccurs="1" maxOccurs="1">
                      <xs:element name="inclusao" minOccurs="0" maxOccurs="1">
                        <xs:annotation>
                          <xs:documentation>Inclusao de novas informacoes</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                          <xs:sequence>
                            <xs:element name="ideEntLig" minOccurs="1" maxOccurs="1">
                              <xs:annotation>
                                <xs:documentation>Identificacao da entidade ligada</xs:documentation>
                              </xs:annotation>
                              <xs:complexType>
                                <xs:sequence>
                                  <xs:element name="tpEntLig" minOccurs="1" maxOccurs="1">
                                    <xs:annotation>
                                      <xs:documentation>Classificacao da entidade ligada</xs:documentation>
                                    </xs:annotation>
                                    <xs:simpleType>
                                      <xs:restriction base="xs:unsignedByte">
                                        <xs:pattern value="[1|2|3|4]"/>
                                      </xs:restriction>
                                    </xs:simpleType>
                                  </xs:element>
                                  <xs:element name="cnpjLig" minOccurs="1" maxOccurs="1">
                                    <xs:annotation>
                                      <xs:documentation>CNPJ da entidade ligada</xs:documentation>
                                    </xs:annotation>
                                    <xs:simpleType>
                                      <xs:restriction base="xs:string">
                                        <xs:pattern value="\d{14}"/>
                                      </xs:restriction>
                                    </xs:simpleType>
                                  </xs:element>
                                  <xs:element name="iniValid" minOccurs="1" maxOccurs="1">
                                    <xs:annotation>
                                      <xs:documentation>Inicio da validade (AAAA-MM)</xs:documentation>
                                    </xs:annotation>
                                    <xs:simpleType>
                                      <xs:restriction base="xs:gYearMonth">
                                        <xs:pattern value="20([1-9][0-9])-(0[1-9]|1[0-2])"/>
                                      </xs:restriction>
                                    </xs:simpleType>
                                  </xs:element>
                                  <xs:element name="fimValid" minOccurs="0" maxOccurs="1">
                                    <xs:annotation>
                                      <xs:documentation>Periodo final da validade, no formato (AAAA-MM)</xs:documentation>
                                    </xs:annotation>
                                    <xs:simpleType>
                                      <xs:restriction base="xs:gYearMonth">
                                        <xs:pattern value="20([1-9][0-9])-(0[1-9]|1[0-2])"/>
                                      </xs:restriction>
                                    </xs:simpleType>
                                  </xs:element>
                                </xs:sequence>
                              </xs:complexType>
                            </xs:element>
                          </xs:sequence>
                        </xs:complexType>
                      </xs:element>
                      <xs:element name="alteracao" minOccurs="0" maxOccurs="1">
                        <xs:annotation>
                          <xs:documentation>Alteracao de informacoes</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                          <xs:sequence>
                            <xs:element name="ideEntLig" minOccurs="1" maxOccurs="1">
                              <xs:annotation>
                                <xs:documentation>Identificacao da entidade ligada</xs:documentation>
                              </xs:annotation>
                              <xs:complexType>
                                <xs:sequence>
                                  <xs:element name="tpEntLig" minOccurs="1" maxOccurs="1">
                                    <xs:annotation>
                                      <xs:documentation>Classificacao da entidade ligada</xs:documentation>
                                    </xs:annotation>
                                    <xs:simpleType>
                                      <xs:restriction base="xs:unsignedByte">
                                        <xs:pattern value="[1|2|3|4]"/>
                                      </xs:restriction>
                                    </xs:simpleType>
                                  </xs:element>
                                  <xs:element name="cnpjLig" minOccurs="1" maxOccurs="1">
                                    <xs:annotation>
                                      <xs:documentation>CNPJ da entidade ligada</xs:documentation>
                                    </xs:annotation>
                                    <xs:simpleType>
                                      <xs:restriction base="xs:string">
                                        <xs:pattern value="\d{14}"/>
                                      </xs:restriction>
                                    </xs:simpleType>
                                  </xs:element>
                                  <xs:element name="iniValid" minOccurs="1" maxOccurs="1">
                                    <xs:annotation>
                                      <xs:documentation>Inicio da validade (AAAA-MM)</xs:documentation>
                                    </xs:annotation>
                                    <xs:simpleType>
                                      <xs:restriction base="xs:gYearMonth">
                                        <xs:pattern value="20([1-9][0-9])-(0[1-9]|1[0-2])"/>
                                      </xs:restriction>
                                    </xs:simpleType>
                                  </xs:element>
                                  <xs:element name="fimValid" minOccurs="0" maxOccurs="1">
                                    <xs:annotation>
                                      <xs:documentation>Periodo final da validade, no formato (AAAA-MM)</xs:documentation>
                                    </xs:annotation>
                                    <xs:simpleType>
                                      <xs:restriction base="xs:gYearMonth">
                                        <xs:pattern value="20([1-9][0-9])-(0[1-9]|1[0-2])"/>
                                      </xs:restriction>
                                    </xs:simpleType>
                                  </xs:element>
                                </xs:sequence>
                              </xs:complexType>
                            </xs:element>
                            <xs:element name="novaValidade" minOccurs="0" maxOccurs="1">
                              <xs:annotation>
                                <xs:documentation>Novo periodo de validade das informacoes que estao sendo alteradas</xs:documentation>
                              </xs:annotation>
                              <xs:complexType>
                                <xs:sequence>
                                  <xs:element name="iniValid" minOccurs="1" maxOccurs="1">
                                    <xs:annotation>
                                      <xs:documentation>Inicio da validade (AAAA-MM)</xs:documentation>
                                    </xs:annotation>
                                    <xs:simpleType>
                                      <xs:restriction base="xs:gYearMonth">
                                        <xs:pattern value="20([1-9][0-9])-(0[1-9]|1[0-2])"/>
                                      </xs:restriction>
                                    </xs:simpleType>
                                  </xs:element>
                                  <xs:element name="fimValid" minOccurs="0" maxOccurs="1">
                                    <xs:annotation>
                                      <xs:documentation>Periodo final da validade, no formato (AAAA-MM)</xs:documentation>
                                    </xs:annotation>
                                    <xs:simpleType>
                                      <xs:restriction base="xs:gYearMonth">
                                        <xs:pattern value="20([1-9][0-9])-(0[1-9]|1[0-2])"/>
                                      </xs:restriction>
                                    </xs:simpleType>
                                  </xs:element>
                                </xs:sequence>
                              </xs:complexType>
                            </xs:element>
                          </xs:sequence>
                        </xs:complexType>
                      </xs:element>
                      <xs:element name="exclusao" minOccurs="0" maxOccurs="1">
                        <xs:annotation>
                          <xs:documentation>Exclusao de informacoes</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                          <xs:sequence>
                            <xs:element name="ideEntLig" minOccurs="1" maxOccurs="1">
                              <xs:annotation>
                                <xs:documentation>Identificacao da entidade ligada</xs:documentation>
                              </xs:annotation>
                              <xs:complexType>
                                <xs:sequence>
                                  <xs:element name="cnpjLig" minOccurs="1" maxOccurs="1">
                                    <xs:annotation>
                                      <xs:documentation>CNPJ da entidade ligada</xs:documentation>
                                    </xs:annotation>
                                    <xs:simpleType>
                                      <xs:restriction base="xs:string">
                                        <xs:pattern value="\d{14}"/>
                                      </xs:restriction>
                                    </xs:simpleType>
                                  </xs:element>
                                  <xs:element name="iniValid" minOccurs="1" maxOccurs="1">
                                    <xs:annotation>
                                      <xs:documentation>Inicio da validade (AAAA-MM)</xs:documentation>
                                    </xs:annotation>
                                    <xs:simpleType>
                                      <xs:restriction base="xs:gYearMonth">
                                        <xs:pattern value="20([1-9][0-9])-(0[1-9]|1[0-2])"/>
                                      </xs:restriction>
                                    </xs:simpleType>
                                  </xs:element>
                                  <xs:element name="fimValid" minOccurs="0" maxOccurs="1">
                                    <xs:annotation>
                                      <xs:documentation>Periodo final da validade, no formato (AAAA-MM)</xs:documentation>
                                    </xs:annotation>
                                    <xs:simpleType>
                                      <xs:restriction base="xs:gYearMonth">
                                        <xs:pattern value="20([1-9][0-9])-(0[1-9]|1[0-2])"/>
                                      </xs:restriction>
                                    </xs:simpleType>
                                  </xs:element>
                                </xs:sequence>
                              </xs:complexType>
                            </xs:element>
                          </xs:sequence>
                        </xs:complexType>
                      </xs:element>
                    </xs:choice>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
            </xs:sequence>
            <xs:attribute name="id" use="required">
              <xs:annotation>
                <xs:documentation>Identificacao unica do evento</xs:documentation>
              </xs:annotation>
              <xs:simpleType>
                <xs:restriction base="xs:ID">
                  <xs:length value="36"/>
                  <xs:pattern value="I{1}D{1}[0-9]{34}"/>
                </xs:restriction>
              </xs:simpleType>
            </xs:attribute>
          </xs:complexType>
        </xs:element>
        <xs:element ref="ds:Signature"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>
