﻿<?xml version="1.0" encoding="utf-8" ?>
<xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:annotation>
        <xs:documentation>
            Título: Mapa Custos Directos
            Autor: ACSS
            Versão: CDirectos_v2_1.xsd
            Última Revisão: 2012-04-04
        </xs:documentation>
    </xs:annotation>
    <xs:element name="CustosDirectos">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="Cabecalho">
                    <xs:complexType>
                        <xs:sequence>
                            <xs:element name="Entidade">
                                <xs:complexType>
                                    <xs:sequence>
                                        <xs:element name="Codigo" type="CodigoEntidadeTipo" />
                                        <xs:element name="Nome" type="NomeEntidadeTipo" />
                                    </xs:sequence>
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="Periodo">
                                <xs:complexType>
                                    <xs:sequence>
                                        <xs:element name="Ano" type="AnoTipo" />
                                        <xs:element name="NumeroMes" type="MesTipo" />
                                    </xs:sequence>
                                </xs:complexType>
                            </xs:element>
                        </xs:sequence>
                    </xs:complexType>
                </xs:element>
                <xs:element name="Corpo">
                    <xs:complexType>
                        <xs:sequence>
                            <xs:element name="Linha" maxOccurs="unbounded">
                                <xs:complexType>
                                    <xs:sequence>
                                        <xs:element name="CodigoConta" type="CodigoContaTipo" />
                                        <xs:element name="CodigoCCusto" type="CodigoCCustoTipo" />
                                        <xs:element name="Debito" type="ValorMonetarioTipo" />
                                        <xs:element name="Credito" type="ValorMonetarioTipo" />
                                    </xs:sequence>
                                </xs:complexType>
                            </xs:element>
                        </xs:sequence>
                    </xs:complexType>
                </xs:element>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:simpleType name="CodigoEntidadeTipo">
        <xs:restriction base="xs:integer">
            <xs:totalDigits value="9" />
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="NomeEntidadeTipo">
        <xs:restriction base="xs:string">
            <xs:maxLength value="256" />
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="AnoTipo">
        <xs:restriction base="xs:integer">
            <xs:minInclusive value="2010" />
            <xs:maxInclusive value="2020" />
            <xs:totalDigits value="4" />
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="MesTipo">
        <xs:restriction base="xs:integer">
            <xs:enumeration value="1" />
            <xs:enumeration value="2" />
            <xs:enumeration value="3" />
            <xs:enumeration value="4" />
            <xs:enumeration value="5" />
            <xs:enumeration value="6" />
            <xs:enumeration value="7" />
            <xs:enumeration value="8" />
            <xs:enumeration value="9" />
            <xs:enumeration value="10" />
            <xs:enumeration value="11" />
            <xs:enumeration value="12" />
            <xs:enumeration value="14" />
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="ValorMonetarioTipo">
        <xs:restriction base="xs:decimal">
            <xs:totalDigits value="14" />
            <xs:fractionDigits value="2" />
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="CodigoContaTipo">
        <xs:restriction base="xs:string">
            <xs:minLength value="2" />
            <xs:maxLength value="20" />
        </xs:restriction>
    </xs:simpleType>
     <xs:simpleType name="CodigoCCustoTipo">
        <xs:restriction base="xs:string">
            <xs:minLength value="1" />
            <xs:maxLength value="10" />
        </xs:restriction>
    </xs:simpleType>
</xs:schema>
