<?xml version='1.0' encoding='UTF-8'?>
<xs:schema xmlns:xs='http://www.w3.org/2001/XMLSchema'>

  <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
  <!-- +  BANCO CENTRAL DO BRASIL                                           + -->
  <!-- +  Sistema de Informacao de Credito - SCR Fase 2                     + -->
  <!-- +  Documento 3026 - definicao xml schema                             + -->
  <!-- +  Versao 1.0 - Homologacao                                          + -->
  <!-- +  Laiaute para data-base:  Junho/2012                               + -->
  <!-- +  Atualizado em 26/04/2012                                          + -->
  <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->

  <!-- ******************************* -->
  <!-- Definicao dos elementos simples -->
  <!-- ******************************* -->

  <!-- tipos Doc3026 -->
  <xs:element name='Doc3026' type='tipo3026' />

  <!-- Conglomerado -->
  <xs:element name='CongEcon' type='tipoConglomerado' />
  <xs:element name='Part' type='tipoPartCongEcon' />

  <!-- ******************* -->
  <!-- Definicao dos tipos -->
  <!-- ******************* -->


  <!-- **************************** -->
  <!-- Definicao de Tipos Complexos -->
  <!-- **************************** -->

  <xs:complexType name='tipo3026'>
    <xs:sequence>
      <xs:element ref="CongEcon" minOccurs="1" maxOccurs='unbounded' />
    </xs:sequence>
    <xs:attribute name='DtBase' type='tipoMesAno' use='required' />
    <xs:attribute name='CNPJ' type='tipoCNPJ' use='required' />
  </xs:complexType>

  <xs:complexType name='tipoConglomerado'>
    <xs:sequence>
      <xs:element ref='Part' minOccurs='1' maxOccurs='unbounded' />
    </xs:sequence>
    <xs:attribute name='Cd' type='tipoCodCongEcon' use='required'/>
  </xs:complexType>
  
  <xs:complexType name='tipoPartCongEcon'>
    <xs:attribute name='Cd' type='tipoCodPart' use="required"/>
    <xs:attribute name='Tp' type='tipoTpPart' use='required' />
  </xs:complexType>

  <!-- ************************** -->
  <!-- Definicao de Tipos Simples -->
  <!-- ************************** -->

  <xs:simpleType name='tipoCodCongEcon'>
    <xs:restriction base='xs:string'>
      <xs:whiteSpace value='collapse'/>
      <xs:pattern value='[0-9A-Za-z]+'/>
      <xs:maxLength value='40'/>
      <xs:minLength value='1'/>
    </xs:restriction>
  </xs:simpleType>
  
  <xs:simpleType name='tipoTpPart'>
    <xs:restriction base='xs:integer'>
      <xs:pattern value='[1-6]' />
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name='tipoCodPart'>
    <xs:restriction base='xs:string'>
      <xs:whiteSpace value='collapse'/>
      <xs:pattern value='[0-9A-Za-z]+'/>
      <xs:maxLength value='14'/>
      <xs:minLength value='1'/>
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name='tipoMesAno'>
    <xs:restriction base='xs:gYearMonth'>
      <xs:pattern value='2[0-1][0-9][0-9]-(06|12)' />
      <xs:maxInclusive value='2149-12' />
      <xs:minInclusive value='2012-06' />
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name='tipoCNPJ'>
    <xs:restriction base='xs:string'>
      <xs:whiteSpace value='collapse' />
      <xs:pattern value='[0-9]{8}'/>
    </xs:restriction>
  </xs:simpleType>
 
</xs:schema>


