<?xml version="1.0" encoding="utf-8"?>
<xs:schema attributeFormDefault="unqualified"
		   elementFormDefault="qualified"
		   xmlns:xs="http://www.w3.org/2001/XMLSchema">
	<xs:simpleType name="nome">
		<xs:restriction base="xs:string">
			<xs:maxLength value="120" />
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="documento">
		<xs:restriction base="xs:string">
			<xs:maxLength value="14" />
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="guid">
		<xs:restriction base="xs:string">
			<xs:pattern value="[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" />
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="email">
		<xs:restriction base="xs:string">
			<xs:pattern value="\w+([-+._']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="telefone">
		<xs:restriction base="xs:string">
			<xs:pattern value="(\(?\d{2}\)?\s?\d{4,5}-\d{4})|(\d{10,11})"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="qtdeMinima">
		<xs:restriction base="xs:unsignedInt">
			<xs:minInclusive value="1" />
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="perfil">
		<xs:restriction base="xs:string">
			<xs:maxLength value="50" />
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="tagXml">
		<xs:restriction base="xs:string">
			<xs:maxLength value="70" />
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="modeloDeAssinatura">
		<xs:restriction base="xs:string">
			<xs:enumeration value="D" />
			<xs:enumeration value="E" />
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="autenticacao">
		<xs:restriction base="xs:string">
			<xs:enumeration value="Certificado" />
			<xs:enumeration value="Token por E-mail" />
			<xs:enumeration value="Token por SMS" />
			<xs:enumeration value="Token por WhatsApp" />
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="idioma">
		<xs:restriction base="xs:string">
			<xs:enumeration value="pt-br" />
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="tipo">
		<xs:restriction base="xs:string">
			<xs:enumeration value="Aditivo" />
			<xs:enumeration value="Apólice" />
			<xs:enumeration value="Autorização" />
			<xs:enumeration value="Balanço" />
			<xs:enumeration value="Boletim" />
			<xs:enumeration value="Carta de Anuência" />
			<xs:enumeration value="Carta de Cessão" />
			<xs:enumeration value="Carta de Circularização" />
			<xs:enumeration value="Cédula de Crédito à Exportação" />
			<xs:enumeration value="Cédula de Crédito Bancário" />
			<xs:enumeration value="Cédula de Crédito Imobiliário" />
			<xs:enumeration value="Cédula de Crédito Rural" />
			<xs:enumeration value="Cédula de Produtor Rural" />
			<xs:enumeration value="Certificado" />
			<xs:enumeration value="Confissão de Dívida" />
			<xs:enumeration value="Conhecimento de Transporte" />
			<xs:enumeration value="Contrato" />
			<xs:enumeration value="Debênture" />
			<xs:enumeration value="Declaração" />
			<xs:enumeration value="Diploma" />
			<xs:enumeration value="Duplicata" />
			<xs:enumeration value="Endividamento" />
			<xs:enumeration value="Exame" />
			<xs:enumeration value="Faturamento" />
			<xs:enumeration value="Ficha Cadastral" />
			<xs:enumeration value="Fonte de Dados" />
			<xs:enumeration value="Laudo Técnico" />
			<xs:enumeration value="Letra de Câmbio" />
			<xs:enumeration value="Manifesto" />
			<xs:enumeration value="Nota de Crédito à Exportação" />
			<xs:enumeration value="Nota Fiscal" />
			<xs:enumeration value="Nota Promissória" />
			<xs:enumeration value="Nota Promissória Rural" />
			<xs:enumeration value="Procuração" />
			<xs:enumeration value="Prontuário" />
			<xs:enumeration value="Proposta" />
			<xs:enumeration value="Receituário" />
			<xs:enumeration value="Recibo" />
			<xs:enumeration value="Registro de Ponto" />
			<xs:enumeration value="Rescisão" />
			<xs:enumeration value="Termo de Abertura de Conta" />
			<xs:enumeration value="Termo de Aceite" />
			<xs:enumeration value="Termo de Adesão" />
			<xs:enumeration value="Termo de Cessão" />
			<xs:enumeration value="Termo de Conduta" />
			<xs:enumeration value="Termo de Confidencialidade" />
			<xs:enumeration value="Termo de Endosso" />
			<xs:enumeration value="Termo de Garantia" />
			<xs:enumeration value="Termo de Titularidade" />
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="tipoDeVinculo">
		<xs:restriction base="xs:string">
			<xs:enumeration value="Outorgante" />
			<xs:enumeration value="Representado" />
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="tipoDeObservador">
		<xs:restriction base="xs:string">
			<xs:enumeration value="Pontual" />
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="padraoDeAssinatura">
		<xs:restriction base="xs:string">
			<xs:enumeration value="CAdES" />
			<xs:enumeration value="PAdES" />
			<xs:enumeration value="XAdES" />
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="encapsulamento">
		<xs:restriction base="xs:string">
			<xs:enumeration value="Enveloped" />
			<xs:enumeration value="Enveloping" />
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="template">
		<xs:restriction base="xs:string">
			<xs:enumeration value="BITSIGN.Duplicata" />
			<xs:enumeration value="BITSIGN.Zip" />
			<xs:enumeration value="Singulare.Duplicata" />
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="politicaDeAssinatura">
		<xs:restriction base="xs:string">
			<xs:enumeration value="PA_AD_RB_v2_2" />
			<xs:enumeration value="PA_AD_RB_v2_3" />
			<xs:enumeration value="PA_AD_RB_v2_4" />
			<xs:enumeration value="PA_AD_RT_v2_2" />
			<xs:enumeration value="PA_AD_RT_v2_3" />
			<xs:enumeration value="PA_AD_RT_v2_4" />
			<xs:enumeration value="PA_PAdES_AD_RB_v1_0" />
			<xs:enumeration value="PA_PAdES_AD_RB_v1_1" />
			<xs:enumeration value="PA_PAdES_AD_RT_v1_0" />
			<xs:enumeration value="PA_PAdES_AD_RT_v1_1" />
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="nomeDoArquivo">
		<xs:restriction base="xs:string">
			<xs:maxLength value="50" />
			<xs:pattern value="^.*\.(xml|XML|pdf|PDF|csv|CSV|txt|TXT|zip|ZIP)$" />
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="nomeDoAnexo">
		<xs:restriction base="xs:string">
			<xs:maxLength value="50" />
			<xs:pattern value="^.*\.(xml|XML|pdf|PDF|csv|CSV|txt|TXT|doc|DOC|docx|DOCX|xls|XLS|xlsx|XLSX|png|PNG|jpg|JPG)$" />
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="formatoDeArquivo">
		<xs:restriction base="xs:string">
			<xs:enumeration value="XML" />
			<xs:enumeration value="PDF" />
			<xs:enumeration value="CSV" />
			<xs:enumeration value="TXT" />
			<xs:enumeration value="ZIP" />
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="formatoDoAnexo">
		<xs:restriction base="xs:string">
			<xs:enumeration value="XML" />
			<xs:enumeration value="PDF" />
			<xs:enumeration value="CSV" />
			<xs:enumeration value="TXT" />
			<xs:enumeration value="DOC" />
			<xs:enumeration value="DOCX" />
			<xs:enumeration value="XLS" />
			<xs:enumeration value="XLSX" />
			<xs:enumeration value="PNG" />
			<xs:enumeration value="JPG" />
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="status">
		<xs:restriction base="xs:string">
			<xs:maxLength value="50" />
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="tags">
		<xs:restriction base="xs:string">
			<xs:maxLength value="1000" />
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="diretorio">
		<xs:restriction base="xs:string">
			<xs:maxLength value="1000" />
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="descricaoDoArquivo">
		<xs:restriction base="xs:string">
			<xs:maxLength value="70" />
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="url">
		<xs:restriction base="xs:anyURI">
			<xs:pattern value="https?://.+" />
		</xs:restriction>
	</xs:simpleType>
	<xs:element name="Lote">
		<xs:complexType>
			<xs:sequence>
				<xs:element name="Aplicacao"
							minOccurs="1"
							maxOccurs="1">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="Contratante"
										minOccurs="1">
								<xs:complexType>
									<xs:sequence>
										<xs:element name="Entidade"
													minOccurs="0">
											<xs:complexType>
												<xs:attribute name="Id"
															  type="guid"
															  use="optional" />
												<xs:attribute name="Nome"
															  type="nome"
															  use="required" />
												<xs:attribute name="Documento"
															  type="documento"
															  use="required" />
												<xs:attribute name="Email"
															  type="email"
															  use="optional" />
												<xs:attribute name="Telefone"
															  type="telefone"
															  use="optional" />
												<xs:attribute name="NascimentoOuFundacao"
															  type="xs:string"
															  use="optional" />
												<xs:attribute name="Idioma"
															  type="idioma"
															  use="optional" />
											</xs:complexType>
										</xs:element>
									</xs:sequence>
									<xs:attribute name="Id"
												  type="guid"
												  use="required" />
								</xs:complexType>
							</xs:element>
						</xs:sequence>
						<xs:attribute name="Id"
									  type="guid"
									  use="required" />
						<xs:attribute name="Nome"
									  type="xs:string"
									  use="optional" />
						<xs:attribute name="Descricao"
									  type="xs:string"
									  use="optional" />
						<xs:attribute name="Ativa"
									  type="xs:boolean"
									  use="optional" />
						<xs:attribute name="Data"
									  type="xs:dateTime"
									  use="optional" />
					</xs:complexType>
				</xs:element>
				<xs:element name="Entidade">
					<xs:complexType>
						<xs:attribute name="Id"
									  type="guid"
									  use="optional" />
						<xs:attribute name="Nome"
									  type="nome"
									  use="required" />
						<xs:attribute name="Documento"
									  type="documento"
									  use="required" />
						<xs:attribute name="Email"
									  type="email"
									  use="optional" />
						<xs:attribute name="Telefone"
									  type="telefone"
									  use="optional" />
						<xs:attribute name="NascimentoOuFundacao"
									  type="xs:string"
									  use="optional" />
						<xs:attribute name="Idioma"
									  type="idioma"
									  use="optional" />
					</xs:complexType>
				</xs:element>
				<xs:element name="Documentos"
							minOccurs="1"
							maxOccurs="1">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="Documento"
										minOccurs="1"
										maxOccurs="unbounded">
								<xs:complexType>
									<xs:sequence>
										<xs:element name="Hash"
													minOccurs="0"
													type="xs:string" />
										<xs:element name="Download"
													minOccurs="0">
											<xs:complexType>
												<xs:attribute name="Url"
															  type="url"
															  use="optional" />
												<xs:attribute name="Headers"
															  type="xs:string"
															  use="optional" />
											</xs:complexType>
										</xs:element>
										<xs:element name="Assinaturas"
													minOccurs="1"
													maxOccurs="1">
											<xs:complexType>
												<xs:sequence>
													<xs:element name="Assinatura"
																minOccurs="1"
																maxOccurs="unbounded">
														<xs:complexType>
															<xs:sequence>
																<xs:element name="Assinantes"
																			minOccurs="1">
																	<xs:complexType>
																		<xs:sequence>
																			<xs:element name="Assinante"
																						minOccurs="1"
																						maxOccurs="unbounded">
																				<xs:complexType>
																					<xs:sequence>
																						<xs:element name="Entidade"
																									minOccurs="1"
																									maxOccurs="1">
																							<xs:complexType>
																								<xs:attribute name="Id"
																											  type="guid"
																											  use="optional" />
																								<xs:attribute name="Nome"
																											  type="nome"
																											  use="required" />
																								<xs:attribute name="Documento"
																											  type="documento"
																											  use="required" />
																								<xs:attribute name="Email"
																											  type="email"
																											  use="optional" />
																								<xs:attribute name="Telefone"
																											  type="telefone"
																											  use="optional" />
																								<xs:attribute name="NascimentoOuFundacao"
																											  type="xs:string"
																											  use="optional" />
																								<xs:attribute name="Idioma"
																											  type="idioma"
																											  use="optional" />
																							</xs:complexType>
																						</xs:element>
																						<xs:element name="EntidadeVinculada"
																									minOccurs="0"
																									maxOccurs="1">
																							<xs:complexType>
																								<xs:sequence>
																									<xs:element name="Entidade"
																												minOccurs="0"
																												maxOccurs="1">
																										<xs:complexType>
																											<xs:attribute name="Id"
																														  type="guid"
																														  use="optional" />
																											<xs:attribute name="Nome"
																														  type="nome"
																														  use="required" />
																											<xs:attribute name="Documento"
																														  type="documento"
																														  use="required" />
																											<xs:attribute name="Email"
																														  type="email"
																														  use="optional" />
																											<xs:attribute name="Telefone"
																														  type="telefone"
																														  use="optional" />
																											<xs:attribute name="NascimentoOuFundacao"
																														  type="xs:string"
																														  use="optional" />
																											<xs:attribute name="Idioma"
																														  type="idioma"
																														  use="optional" />
																										</xs:complexType>
																									</xs:element>
																								</xs:sequence>
																								<xs:attribute name="Tipo"
																											  type="tipoDeVinculo"
																											  use="required" />
																							</xs:complexType>
																						</xs:element>
																						<xs:element name="Posicao"
																									minOccurs="0"
																									maxOccurs="1">
																							<xs:complexType>
																								<xs:attribute name="Pagina"
																											  type="xs:int"
																											  use="optional" />
																								<xs:attribute name="X"
																											  type="xs:float"
																											  use="optional" />
																								<xs:attribute name="Y"
																											  type="xs:float"
																											  use="optional" />
																								<xs:attribute name="Estilo"
																											  type="encapsulamento"
																											  use="optional" />
																								<xs:attribute name="Tag"
																											  type="tagXml"
																											  use="optional" />
																							</xs:complexType>
																						</xs:element>
																						<xs:element name="Mensagem"
																									minOccurs="0"
																									maxOccurs="1" />
																						<xs:element name="Evidencias"
																									minOccurs="0"
																									maxOccurs="1" />
																					</xs:sequence>
																					<xs:attribute name="Id"
																								  type="guid"
																								  use="optional" />
																					<xs:attribute name="Obrigatorio"
																								  type="xs:boolean"
																								  use="required" />
																					<xs:attribute name="Notificar"
																								  type="xs:boolean"
																								  use="required" />
																					<xs:attribute name="Status"
																								  type="status"
																								  use="optional" />
																					<xs:attribute name="DataDoStatus"
																								  type="xs:dateTime"
																								  use="optional" />
																					<xs:attribute name="Autenticacao"
																								  type="autenticacao"
																								  use="optional" />
																				</xs:complexType>
																			</xs:element>
																		</xs:sequence>
																	</xs:complexType>
																</xs:element>
																<xs:element name="Posicoes"
																			minOccurs="0"
																			maxOccurs="1">
																	<xs:complexType>
																		<xs:sequence>
																			<xs:element name="Posicao"
																						minOccurs="0"
																						maxOccurs="unbounded">
																				<xs:complexType>
																					<xs:attribute name="Pagina"
																								  type="xs:int"
																								  use="optional" />
																					<xs:attribute name="X"
																								  type="xs:float"
																								  use="optional" />
																					<xs:attribute name="Y"
																								  type="xs:float"
																								  use="optional" />
																					<xs:attribute name="Estilo"
																								  type="encapsulamento"
																								  use="optional" />
																					<xs:attribute name="Tag"
																								  type="tagXml"
																								  use="optional" />
																				</xs:complexType>
																			</xs:element>
																		</xs:sequence>
																	</xs:complexType>
																</xs:element>
															</xs:sequence>
															<xs:attribute name="Id"
																		  type="guid"
																		  use="optional" />
															<xs:attribute name="Perfil"
																		  type="perfil"
																		  use="required" />
															<xs:attribute name="QtdeMinima"
																		  type="qtdeMinima"
																		  use="required" />
															<xs:attribute name="Ordem"
																		  type="xs:int"
																		  use="optional" />
															<xs:attribute name="Status"
																		  type="status"
																		  use="optional" />
															<xs:attribute name="DataDoStatus"
																		  type="xs:dateTime"
																		  use="optional" />
														</xs:complexType>
													</xs:element>
												</xs:sequence>
											</xs:complexType>
										</xs:element>
									</xs:sequence>
									<xs:attribute name="Id"
												  type="guid"
												  use="optional" />
									<xs:attribute name="Data"
												  type="xs:dateTime"
												  use="optional" />
									<xs:attribute name="Descricao"
												  type="descricaoDoArquivo"
												  use="required" />
									<xs:attribute name="Tipo"
												  type="tipo"
												  use="required" />
									<xs:attribute name="NomeDoArquivo"
												  type="nomeDoArquivo"
												  use="required" />
									<xs:attribute name="FormatoDoArquivo"
												  type="formatoDeArquivo"
												  use="required" />
									<xs:attribute name="TamanhoDoArquivo"
												  type="xs:unsignedLong"
												  use="optional" />
									<xs:attribute name="Template"
												  type="template"
												  use="optional" />
									<xs:attribute name="PadraoDeAssinatura"
												  type="padraoDeAssinatura"
												  use="required" />
									<xs:attribute name="PoliticaDeAssinatura"
												  type="politicaDeAssinatura"
												  use="optional" />
									<xs:attribute name="AssinaturaAnexada"
												  type="xs:boolean"
												  use="required" />
									<xs:attribute name="CarimboDoTempo"
												  type="xs:boolean"
												  use="optional" />
									<xs:attribute name="Tags"
												  type="tags"
												  use="optional" />
									<xs:attribute name="Status"
												  type="status"
												  use="optional" />
									<xs:attribute name="DataDoStatus"
												  type="xs:dateTime"
												  use="optional" />
									<xs:attribute name="UrlAoVivo"
												  type="xs:string"
												  use="optional" />
									<xs:attribute name="UrlDoManifesto"
												  type="xs:string"
												  use="optional" />
									<xs:attribute name="NomeDoArquivoAssinado"
												  type="xs:string"
												  use="optional" />
									<xs:attribute name="NomeDoArquivoDeManifesto"
												  type="xs:string"
												  use="optional" />
									<xs:attribute name="NomeDoArquivoOriginalComManifesto"
												  type="xs:string"
												  use="optional" />
									<xs:attribute name="Ordenacao"
												  type="xs:int"
												  use="optional" />
									<xs:attribute name="Algoritmo"
												  type="xs:string"
												  use="optional" />
								</xs:complexType>
							</xs:element>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
				<xs:element name="Observadores"
							minOccurs="0"
							maxOccurs="unbounded">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="Observador"
										minOccurs="0"
										maxOccurs="unbounded">
								<xs:complexType>
									<xs:attribute name="Id"
												  type="guid"
												  use="optional" />
									<xs:attribute name="Email"
												  type="email"
												  use="required" />
									<xs:attribute name="Tipo"
												  type="tipoDeObservador"
												  use="optional" />
								</xs:complexType>
							</xs:element>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
				<xs:element name="Anexos"
							minOccurs="0"
							maxOccurs="unbounded">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="Anexo"
										minOccurs="0"
										maxOccurs="unbounded">
								<xs:complexType>
									<xs:attribute name="Id"
												  type="guid"
												  use="optional" />
									<xs:attribute name="NomeDoArquivo"
												  type="nomeDoAnexo"
												  use="required" />
									<xs:attribute name="Descricao"
												  type="xs:string"
												  use="optional" />
									<xs:attribute name="FormatoDoArquivo"
												  type="formatoDoAnexo"
												  use="optional" />
								</xs:complexType>
							</xs:element>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
			</xs:sequence>
			<xs:attribute name="Id"
						  type="guid"
						  use="optional" />
			<xs:attribute name="Data"
						  type="xs:dateTime"
						  use="optional" />
			<xs:attribute name="DataDeExpiracao"
						  type="xs:dateTime"
						  use="required" />
			<xs:attribute name="Tags"
						  type="tags"
						  use="optional" />
			<xs:attribute name="Diretorio"
						  type="diretorio"
						  use="optional" />
			<xs:attribute name="Status"
						  type="status"
						  use="optional" />
			<xs:attribute name="DataDoStatus"
						  type="xs:dateTime"
						  use="optional" />
			<xs:attribute name="UrlAoVivo"
						  type="xs:string"
						  use="optional" />
			<xs:attribute name="QtdeDeDocumentos"
						  type="xs:unsignedInt"
						  use="optional" />
			<xs:attribute name="ModeloDeAssinatura"
						  type="modeloDeAssinatura"
						  use="optional" />
			<xs:attribute name="NotificacaoWhatsApp"
						  type="xs:boolean"
						  use="optional" />
		</xs:complexType>
	</xs:element>
</xs:schema>