<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:tns="http://www.cga.pt" elementFormDefault="qualified" targetNamespace="http://www.cga.pt" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="justificativo_juros_mora">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="tns:servico"/>
		<xs:element name="data_emissao" type="xs:date"/>
        <xs:element ref="tns:movimento" minOccurs="0" maxOccurs="unbounded"/>
		<xs:element name="total" type="tns:valor_decimal"/>
		<xs:element name="taxa_juro_mensal" type="tns:valor_decimal"/>
      </xs:sequence>
		<xs:attributeGroup ref="tns:versao"/>
    </xs:complexType>
  </xs:element>
  
  <xs:attributeGroup name="versao">
    <xs:attribute name="versao" use="required">
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:enumeration value="1.0"/>
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
  </xs:attributeGroup>
  
 <xs:simpleType name="valor_decimal">
	<xs:restriction base="xs:decimal">
	  <xs:totalDigits value="16"/>
	  <xs:fractionDigits value="2"/>
	</xs:restriction>
 </xs:simpleType>
 
  <xs:element name="servico">
    <xs:complexType>
      <xs:sequence>
		<xs:element name="numero" type="xs:positiveInteger"/>
		<xs:element name="nome" type="xs:string"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  
  <xs:element name="movimento">
    <xs:complexType>
      <xs:sequence>
		<xs:element name="mes_referencia" type="xs:date"/>
		<xs:element name="descricao" type="xs:string"/>
        <xs:element ref="tns:documento"/>
		<xs:element name="meses_atraso" type="xs:positiveInteger"/>
		<xs:element name="valor_pago" type="tns:valor_decimal"/>
		<xs:element name="valor_juros" type="tns:valor_decimal"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  
	<xs:element name="documento">
	 <xs:complexType>
		<xs:sequence>
		
			<xs:element name="referencia">
			  <xs:simpleType>
				<xs:restriction base="xs:string">
				  <xs:length value="9"/>
				</xs:restriction>
			  </xs:simpleType>
			</xs:element>
			
			<xs:element name="data_limite_pagamento" type="xs:date"/>
			<xs:element name="data_pagamento" type="xs:date"/>
		</xs:sequence>
	  </xs:complexType>
	</xs:element>
</xs:schema>

