<?xml version="1.0" encoding="ISO-8859-1"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" xmlns="http://www.previc.gov.br/padraoprevic" targetNamespace="http://www.previc.gov.br/padraoprevic">

	<xs:element name="padraoprevic" type="padraoprevic_type"/>
	<xs:complexType name="padraoprevic_type">
		<xs:sequence>
			<xs:element name="header" type="header_carteira_type"/>
			<xs:element name="operpart" type="operpart_type" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="alocacaoderecursos" type="alocacaoderecursos_type" minOccurs="0" maxOccurs="unbounded"/>
			<xs:choice minOccurs="0" maxOccurs="1" >
				<xs:element name="fundo" type="fundo_type" />
				<xs:element name="fundo_alt" type="fundo_alt_type" />
			</xs:choice>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="header_carteira_type">
		<xs:sequence>
			<xs:element name="cnpj" type="cnpj_type"/>
			<xs:element name="codcart" type="codcart_type" minOccurs="0" />
			<xs:element name="dtposicao" type="dt_type"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="operpart_type">
		<xs:sequence>
			<xs:element name="tipooppart" type="cod_type"/>
			<xs:element name="cnpb" type="cnpb_type"/>
      <xs:element name="cnpjplano" type="cnpj_type" minOccurs="0"/>
			<xs:element name="indexador" type="indexador_type"/>
			<xs:element name="percindex" type="perc_type"/>
			<xs:element name="txoperacao" type="tx_type"/>
			<xs:element name="vlvencido" type="valor_type"/>
			<xs:element name="vlavencer" type="valor_type"/>
			<xs:element name="percprovcred" type="perc_type" minOccurs="0" />
                        <xs:element name="valorreceber" type="valor_type"/>
                        <xs:element name="valorpagar" type="valor_type"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="alocacaoderecursos_type">
		<xs:sequence>
			<xs:element name="planodebeneficio" type="planodebeneficio_type"/>
			<xs:element name="perfildeinvestimento" type="perfildeinvestimento_type" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="planodebeneficio_type">
		<xs:sequence>
			<xs:element name="cnpb" type="cnpb_type"/>
      <xs:element name="cnpjplano" type="cnpj_type" minOccurs="0"/>
			<xs:element name="ativosdapatrocinadora" type="valor_type" minOccurs="0"/>
			<xs:element name="metaderentabilidade" type="valor_type"/>
			<xs:element name="rentabilidadeacumulada" type="valor_type" />
			<xs:element name="rentabilidadeauferida" type="rentabilidade_type" maxOccurs="unbounded"/>
			<xs:element name="taxaindice" type="taxaindice_type" maxOccurs="unbounded" />
			<xs:element name="metodologiarentabilidade" type="cod_type" />
			<xs:element name="segmento" type="segmento_type" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>

  <xs:complexType name="perfildeinvestimento_type">
		<xs:sequence>
			<xs:element name="nomedoperfil" type="nome_type" />
			<xs:element name="metaderentabilidade" type="valor_type"/>
			<xs:element name="rentabilidadeacumulada" type="valor_type" />
			<xs:element name="rentabilidadeauferida" type="rentabilidade_type" maxOccurs="unbounded"/>
			<xs:element name="taxaindice" type="taxaindice_type" minOccurs="0" maxOccurs="unbounded" />
      <xs:element name="segmento" type="segmento_type" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
	</xs:complexType>

  <xs:complexType name="segmento_type">
    <xs:sequence>
      <xs:element name="tiposegmento" type="cod_type"/>
      <xs:element name="limiteminimo" type="valor_type"/>
      <xs:element name="previsaodealocacao" type="valor_type"/>
      <xs:element name="limitemaximo" type="valor_type"/>
      <xs:element name="metaderentabilidade" type="valor_type"/>
      <xs:element name="rentabilidadeacumulada" type="valor_type" />
      <xs:element name="rentabilidadeauferida" type="rentabilidade_type" maxOccurs="unbounded"/>
      <xs:element name="taxaindice" type="taxaindice_type"  minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="taxaindice_type">
    <xs:sequence>
      <xs:element name="tipotaxaindice" type="cod_type" />
      <xs:element name="indexador" type="indexador_type"/>
      <xs:element name="participacao" type="perc_type"/>
      <xs:element name="percindex" type="perc_type"/>
      <xs:element name="txoperacao" type="tx_type"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="rentabilidade_type">
		<xs:sequence>
			<xs:element name="ano" type="ano_type"/>
			<xs:element name="valorrentabilidade" type="valor_type"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="fundo_type">
		<xs:sequence>
			<xs:element name="isin" type="isin_type"/>
			<xs:element name="cnpjfundo" type="cnpj_type"/>
			<xs:element name="fundoexclusivo" type="bin_type"/>
			<xs:element name="fundomultimercadoestruturado" type="bin_type"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="fundo_alt_type">
		<xs:sequence>
			<xs:element name="isin" type="isin_type"/>
			<xs:element name="cnpjfundo" type="cnpj_type"/>
			<xs:element name="fundoexclusivo" type="bin_type"/>
			<xs:element name="fundomultimercadoestruturado" type="bin_type"/>
			<xs:element name="dtalteracao" type="dt_type"/>
		</xs:sequence>
	</xs:complexType>
	<xs:simpleType name="ano_type">
		<xs:restriction base="xs:long">
			<xs:totalDigits value="4"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="cnpb_type">
		<xs:restriction base="xs:long">
			<xs:totalDigits value="10"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="cnpj_type">
		<xs:restriction base="xs:long">
			<xs:totalDigits value="14"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="dt_type">
		<xs:restriction base="xs:string">
			<xs:pattern value="((19|2[0-9])[0-9]{2}(01|02|03|04|05|06|07|08|09|10|11|12)(0[1-9]|[1-2][0-9]|30|31))"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="cod_type">
		<xs:restriction base="xs:int">
			<xs:minInclusive value="0"/>
			<xs:maxInclusive value="99"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="bin_type">
		<xs:restriction base="xs:int">
			<xs:minInclusive value="1"/>
			<xs:maxInclusive value="2"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="indexador_type">
		<xs:restriction base="xs:string">
			<xs:maxLength value="8"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="isin_type">
		<xs:restriction base="xs:string">
			<xs:maxLength value="12"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="nome_type">
		<xs:restriction base="xs:string">
			<xs:maxLength value="50"/>
			<xs:minLength value="0"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="perc_type">
		<xs:restriction base="xs:decimal">
			<xs:totalDigits value="11"/>
			<xs:fractionDigits value="8"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="periodo_type">
		<xs:restriction base="xs:int">
			<xs:minInclusive value="0"/>
			<xs:maxInclusive value="99999"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="tx_type">
		<xs:restriction base="xs:decimal">
			<xs:totalDigits value="9"/>
			<xs:fractionDigits value="6"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="valor_type">
		<xs:restriction base="xs:decimal">
			<xs:totalDigits value="19"/>
			<xs:fractionDigits value="6"/>
		</xs:restriction>
	</xs:simpleType>

	<xs:simpleType name="codcart_type">
		<xs:restriction base="xs:string">
			<xs:maxLength value="15" />
		</xs:restriction>
	</xs:simpleType>

</xs:schema>
