<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://sgpf.igae.minhac.es/infoPTVPMarron" targetNamespace="http://sgpf.igae.minhac.es/infoPTVPMarron" elementFormDefault="qualified" attributeFormDefault="unqualified">
    <xsd:element name="DatosPTV_PMarron">
        <xsd:annotation>
            <xsd:documentation>Elemento raiz información PTV</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element name="InfoSeccion" type="TInfoSeccion" maxOccurs="unbounded"/>
            </xsd:sequence>
        </xsd:complexType>
    </xsd:element>
    <xsd:complexType name="TInfoSeccion">
        <xsd:annotation>
            <xsd:documentation>Representa la información para una sección que contiene como elementos la información a cargar para el ámbito Presupuesto Marrón y así como el código de sección como atributo</xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
            <xsd:element name="InfoTipoGasto" type="TInfoTipoGasto" maxOccurs="unbounded"/>
        </xsd:sequence>
        <xsd:attribute name="codigoSeccion" type="TSeccion" use="required"/>
    </xsd:complexType>
    <xsd:complexType name="TInfoTipoGasto">
        <xsd:annotation>
            <xsd:documentation>Representa la asignación de un tipo de gasto perjudicial para el ámbito PRESUPUESTO MARRÓN</xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
            <xsd:element name="PartidasConPorcentaje" type="TPartidasConPorcentaje" minOccurs="0"/>
        </xsd:sequence>
        <xsd:attribute name="tipoDeGasto" type="xsd:string" use="required"/>
    </xsd:complexType>
    <xsd:complexType name="TPartidasConPorcentaje">
        <xsd:annotation>
            <xsd:documentation>Representa un conjunto de partidas con porcentaje para el ámbito PRESUPUESTO MARRÓN</xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
            <xsd:element name="PartidaConPorcentaje" type="TPartidaConPorcentaje" maxOccurs="unbounded"/>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:complexType name="TPartidaConPorcentaje">
        <xsd:annotation>
            <xsd:documentation>Representa la partida para un tipo de gasto del ámbito Presupuesto Marrón</xsd:documentation>
        </xsd:annotation>
        <xsd:attribute name="codOrganismo" type="TOrganismo" use="required"/>
        <xsd:attribute name="programa" type="TPrograma" use="required"/>
        <xsd:attribute name="economica" type="TEconomica" use="required"/>
        <xsd:attribute name="porcentaje" type="TPorcentaje" use="required"/>
        <xsd:attribute name="proyecto" type="xsd:string" use="optional"/>
        <xsd:attribute name="observaciones" type="xsd:string" use="optional"/>
    </xsd:complexType>
    <xsd:simpleType name="TSeccion">
        <xsd:restriction base="xsd:string">
            <xsd:pattern value="[0-9]{2}"/>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="TOrganismo">
        <xsd:restriction base="xsd:string">
            <xsd:pattern value="[0-9]{3}"/>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="TPrograma">
        <xsd:restriction base="xsd:string">
            <xsd:length value="4"/>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="TEconomica">
        <xsd:restriction base="xsd:string">
            <xsd:pattern value="[0-9]{2,5}"/>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="TCadenaConTexto">
        <xsd:restriction base="xsd:string">
            <xsd:minLength value="1"/>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="TPorcentaje">
        <xsd:restriction base="xsd:decimal">
            <xsd:minInclusive value="0"/>
            <xsd:maxInclusive value="100"/>
        </xsd:restriction>
    </xsd:simpleType>
</xsd:schema>
