<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
	<xs:include schemaLocation="GlobalTypes"/>
	<xs:element name="AgrupamentoFuncionamento">
		<xs:annotation>
			<xs:documentation>Informação relativa à requisição mensal de fundos de funcionamento, de um Agrupamento ou Estabelecimento de Ensino</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element name="CodigoAgrupamento_ES" type="Codigo"/>
				<xs:element name="AnoEscolar" type="AnoEscolar"/>
				<xs:element name="Extraccao">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="DataExtraccao" type="Data"/>
							<xs:element name="NomeResponsavelPreenchimento" type="Nome"/>
							<xs:element name="EmailResponsavel" type="Email"/>
							<xs:element name="TelefoneResponsavel" type="TelefoneFax"/>
							<xs:element name="FaxResponsavel" type="TelefoneFax"/>
							<xs:element name="Software_versao" type="xs:string" minOccurs="0"/>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
				<xs:element name="Financeira">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="Ano" type="Ano"/>
							<xs:element name="Mes" type="Mes"/>
							<xs:element name="NIF" type="NIF"/>
							<xs:element name="Funcionamento">
								<xs:complexType>
									<xs:sequence>
										<xs:element name="RequisicoesFundosFuncionamento">
											<xs:complexType>
												<xs:sequence>
													<xs:element name="RequisicaoFundosFuncionamento" maxOccurs="unbounded">
														<xs:complexType>
															<xs:sequence>
																<xs:element name="ReqID">
																	<xs:simpleType>
																		<xs:restriction base="xs:integer">
																			<xs:minInclusive value="1"/>
																			<xs:maxInclusive value="99"/>
																		</xs:restriction>
																	</xs:simpleType>
																</xs:element>
																<xs:element name="TotalReq" type="Montante"/>
																<xs:element name="Observacoes" minOccurs="0">
																	<xs:simpleType>
																		<xs:restriction base="xs:string">
																			<xs:maxLength value="256"/>
																		</xs:restriction>
																	</xs:simpleType>
																</xs:element>
																<xs:element name="RubricasOrcamentais">
																	<xs:complexType>
																		<xs:sequence>
																			<xs:element name="Rubrica" maxOccurs="unbounded">
																				<xs:complexType>
																					<xs:sequence>
																						<xs:element name="ClassEconomica" type="ClassEconomica"/>
																						<xs:element name="Alinea" type="Alinea" nillable="true"/>
																						<xs:element name="SubAlinea" type="Alinea" nillable="true"/>
																						<xs:element name="Actividade" type="Actividade"/>
																						<xs:element name="FonteFinanciamento" type="FonteFinanciamento"/>
																						<xs:element name="Montante" type="Montante"/>
																					</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:element name="PlanoAplicacaoFuncionamento">
											<xs:complexType>
												<xs:sequence>
													<xs:element name="porRubrica" maxOccurs="unbounded">
														<xs:complexType>
															<xs:sequence>
																<xs:element name="ClassEconomica" type="ClassEconomica"/>
																<xs:element name="Alinea" type="Alinea" nillable="true"/>
																<xs:element name="SubAlinea" type="Alinea" nillable="true"/>
																<xs:element name="FonteFinanciamento" type="FonteFinanciamento"/>
																<xs:element name="MontanteRequisitadoAcumulado" type="Montante"/>
																<xs:element name="EncargosLiquidadosAcumulados" type="Montante"/>
																<xs:element name="EncargosLiquidarMes" type="Montante"/>
															</xs:sequence>
														</xs:complexType>
													</xs:element>
												</xs:sequence>
											</xs:complexType>
										</xs:element>
										<xs:element name="Balancetes">
											<xs:complexType>
												<xs:sequence>
													<xs:element name="Balancete" maxOccurs="unbounded">
														<xs:complexType>
															<xs:sequence>
																<xs:element name="Mes" type="Mes"/>
																<xs:element name="Programa">
																	<xs:simpleType>
																		<xs:restriction base="xs:string">
																			<xs:length value="2"/>
																		</xs:restriction>
																	</xs:simpleType>
																</xs:element>
																<xs:element name="Actividade" type="Actividade"/>
																<xs:element name="FonteFinanciamento" type="FonteFinanciamento"/>
																<xs:element name="Discriminacao">
																	<xs:complexType>
																		<xs:sequence>
																			<xs:element name="Linha" maxOccurs="unbounded">
																				<xs:complexType>
																					<xs:sequence>
																						<xs:element name="Parcela_ou_Total">
																							<xs:simpleType>
																								<xs:restriction base="xs:string">
																									<xs:length value="1"/>
																									<xs:enumeration value="P"/>
																									<xs:enumeration value="T"/>
																								</xs:restriction>
																							</xs:simpleType>
																						</xs:element>
																						<xs:element name="Bloco" nillable="true">
																							<xs:simpleType>
																								<xs:restriction base="xs:string">
																									<xs:length value="1"/>
																									<xs:enumeration value=""/>
																									<xs:enumeration value="A"/>
																									<xs:enumeration value="B"/>
																									<xs:enumeration value="C"/>
																									<xs:enumeration value="D"/>
																									<xs:enumeration value="E"/>
																									<xs:enumeration value="F"/>
																									<xs:enumeration value="G"/>
																									<xs:enumeration value="H"/>
																									<xs:enumeration value="P"/>
																								</xs:restriction>
																							</xs:simpleType>
																						</xs:element>
																						<xs:element name="ClassEconomica" type="ClassEconomica" nillable="true"/>
																						<xs:element name="Alinea" type="Alinea" nillable="true"/>
																						<xs:element name="SubAlinea" type="Alinea" nillable="true"/>
																						<xs:element name="OrcamentoCorrigido" type="Montante"/>
																						<xs:element name="RequisitadoAcumulado" type="Montante"/>
																						<xs:element name="DespendidoAcumulado" type="Montante"/>
																						<xs:element name="SaldoEmPoderDaEscola" type="Montante"/>
																						<xs:element name="EncargosAssumidosPorPagar" type="Montante"/>
																						<xs:element name="Saldo" type="Montante"/>
																					</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:element name="ReceitaEstado">
								<xs:complexType>
									<xs:sequence>
										<xs:element name="Guia" minOccurs="0" maxOccurs="unbounded">
											<xs:complexType>
												<xs:sequence>
													<xs:element name="Ano" type="Ano"/>
													<xs:element name="NrGuia">
														<xs:simpleType>
															<xs:restriction base="xs:integer">
																<xs:minInclusive value="1"/>
																<xs:maxInclusive value="999999"/>
															</xs:restriction>
														</xs:simpleType>
													</xs:element>
													<xs:element name="Total" type="Montante"/>
													<xs:element name="DataPagamento" type="Data"/>
													<xs:element name="RubricasGuia">
														<xs:complexType>
															<xs:sequence>
																<xs:element name="Rubrica" maxOccurs="unbounded">
																	<xs:complexType>
																		<xs:sequence>
																			<xs:element name="Classificacao">
																				<xs:simpleType>
																					<xs:restriction base="xs:string">
																						<xs:length value="10"/>
																					</xs:restriction>
																				</xs:simpleType>
																			</xs:element>
																			<xs:element name="FonteFinanciamento" type="FonteFinanciamento"/>
																			<xs:element name="Montante" type="Montante"/>
																		</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:sequence>
		</xs:complexType>
	</xs:element>
</xs:schema>
