<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
	<xs:include schemaLocation="TiposDadosS3CP.XSD"/>
	<xs:include schemaLocation="TiposDadosRubricas.XSD"/>
	<!--
Proprietário: UNILEO
Projeto: S3CP
Versão: 1.5
Data da versão:2019/03/29
Observações:  
--> 
	<xs:element name="EC">
		<xs:complexType>
			<xs:sequence>
				<xs:element name="Cabecalho">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="Entidade" type="StringNIF" />
							<!--Neste campo deverá constar o NIF da Entidade. -->
							<xs:element name="Data" type="DataHora" />
							<!--A data tem o seguinte formato AAAA-MM-DDThh:mm:ss-->
							<xs:element name="Ano" type="Ano" />
							<!--valor inteiro maior que 2010-->
							<xs:element name="Periodicidade" type="PeriodicidadeEC" />
							<!-- Consultar tabela de Periodicidade "Periodicidade.xml" -->
							<xs:element name="Periodo" type="StringNum3" />
							<!-- Consultar tabela de Periodos "Periodo.xml" -->
							<xs:element name="PlanoContasLocal" type="ValoresParaPlanoContasLocal" />
						</xs:sequence>
					</xs:complexType>
				</xs:element>
				<xs:element name="Registos">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="Contrato" maxOccurs="unbounded">
								<xs:complexType>
									<xs:sequence>
										<xs:element name="ID_Contrato" type="InteiroMaiorQueZero" />
										<xs:element name="NumeroContrato" type="xs:string" />
										<xs:element name="LstCPV">
											<xs:complexType>
												<xs:sequence>
													<xs:element name="RegistoCPV" maxOccurs="unbounded" >
														<xs:complexType>
															<xs:sequence>
																<xs:element name="ID_RegistoCPV" type="InteiroMaiorQueZero" />
																<xs:element name="ID_Contrato" type="InteiroMaiorQueZero" />
																<xs:element name="CPV" type="StringNaoVazia" />
															</xs:sequence>
														</xs:complexType>
													</xs:element>
												</xs:sequence>
											</xs:complexType>
										</xs:element>
										<xs:element name="NIFFornecedor" type="xs:string" />
										<xs:element name="LstNumeroCompromisso">
											<xs:complexType>
												<xs:sequence>
													<xs:element name="RegistoNumeroCompromisso" minOccurs="0" maxOccurs="unbounded" >
														<xs:complexType>
															<xs:sequence>
																<xs:element name="ID_RegistoNumeroCompromisso" type="InteiroMaiorQueZero" />
																<xs:element name="ID_Contrato" type="InteiroMaiorQueZero" />                                
																<xs:element name="NumeroCompromisso" type="xs:string" />
																<xs:element name="ValorCompromisso" type="DecimalS3CP" />
															</xs:sequence>
														</xs:complexType>
													</xs:element>
												</xs:sequence>
											</xs:complexType>                      
										</xs:element> 
										<xs:element name="DataCelebracao" type="xs:date" />
										<xs:element name="PrecoBase" type="DecimalS3CP" />
										<xs:element name="PrecoContratual"  minOccurs="0" type="DecimalS3CP" />
										<!-- (A) Este campo será retirado do schema, assim que termine o reporte de 2018; -->
										<xs:element name="PrecoContratualComIVA"  minOccurs="0" type="DecimalS3CP" />
										<!-- (N) Este campo tornar-se-á obrigatório, assim que termine o reporte de 2018; -->
										<xs:element name="PrecoContratualSemIVA"  minOccurs="0" type="DecimalS3CP" />
										<!-- (N) Este campo tornar-se-á obrigatório, assim que termine o reporte de 2018; -->
										<xs:element name="DataConclusaoInicial" type="Data" />
										<xs:element name="DataConclusaoRevista" type="Data" minOccurs ="0"/>
										<xs:element name="LstVistoDoTribunalContas">
											<xs:complexType>
												<xs:sequence>
													<xs:element name="RegistoVistoDoTribunalContas" minOccurs="0" maxOccurs="unbounded">
														<xs:complexType>
															<xs:sequence>
																<xs:element name="ID_RegistoVistoDoTribunalContas" type="InteiroMaiorQueZero" />
																<xs:element name="ID_Contrato" type="InteiroMaiorQueZero" />                                 
																<xs:element name="NumeroRegisto" type="StringNaoVazia" />
																<xs:element name="Data" type="xs:date" />
															</xs:sequence>
														</xs:complexType>
													</xs:element>
												</xs:sequence>
											</xs:complexType>
										</xs:element>
										<xs:element name="LstPagamentos">
											<xs:complexType>
												<xs:sequence>
													<xs:element name="RegistoPagamento" minOccurs="0" maxOccurs="unbounded" >
														<xs:complexType>
															<xs:sequence>
																<xs:element name="ID_RegistoPagamento" type="InteiroMaiorQueZero" />
																<xs:element name="ID_Contrato" type="InteiroMaiorQueZero" />                                  
																<xs:element name="FonteFinanciamento" type="ValoresParaFFinancNoFichEC" />
																<xs:element name="Rubrica" type="RubricaEC" />
																<xs:element name="DataPrimeiroPagamento" type="Data" minOccurs="0"/>
																<xs:element name="PagamentosAnoCorrente" type="DecimalS3CP" />
																<xs:element name="PagamentosPrevistosAteFinalAnoCorrente" type="DecimalS3CP" />
																<xs:element name="PagamentosAcumuladosAteAnoAnterior" type="DecimalS3CP" />
																<xs:element name="PagamentosPrevistosParaAnosFuturosAnoNmais1" type="DecimalS3CP" />
																<xs:element name="PagamentosPrevistosParaAnosFuturosAnoNmais2" type="DecimalS3CP" />
																<xs:element name="PagamentosPrevistosParaAnosFuturosAnoNmais3" type="DecimalS3CP" />
																<xs:element name="PagamentosPrevistosParaAnosFuturosAnoNmais4" type="DecimalS3CP" />
																<xs:element name="PagamentosPrevistosParaAnosFuturosAnosSeguintes" type="DecimalS3CP" />
															</xs:sequence>
														</xs:complexType>
													</xs:element>
												</xs:sequence>
											</xs:complexType>
										</xs:element>
									</xs:sequence>
								</xs:complexType>
							</xs:element>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
</xs:schema>