<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSpy v2010 rel. 2 (http://www.altova.com) by IGAE Intervención Gral. de la Admón. Del Estado (IGAE Intervención Gral. de la Admón. Del Estado) -->
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://sgpf.igae.minhac.es/friedaNum" targetNamespace="http://sgpf.igae.minhac.es/friedaNum" elementFormDefault="qualified" attributeFormDefault="unqualified">
    <xsd:element name="DatosPorcentajes">
        <xsd:annotation>
            <xsd:documentation>Elemento raiz información numérica. Porcentajes</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element name="Seccion" type="TDetalleSeccion" maxOccurs="unbounded"/>
            </xsd:sequence>
        </xsd:complexType>
    </xsd:element>
    <xsd:complexType name="TDetalleSeccion">
        <xsd:annotation>
            <xsd:documentation>Representa los datos numéricos de una sección</xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
            <xsd:element name="ODS" type="TDetalleODS" maxOccurs="unbounded"/>
        </xsd:sequence>
        <xsd:attribute name="codSeccion" type="TSeccion" use="required"/>
    </xsd:complexType>
    <xsd:complexType name="TDetalleODS">
        <xsd:annotation>
            <xsd:documentation>Representa los datos numéricos referentes a un ODS dentro de una sección</xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
            <xsd:element name="Programa" type="TPrograma" minOccurs="0" maxOccurs="unbounded"/>
        </xsd:sequence>
        <xsd:attribute name="codODS" type="TOds" use="required"/>
    </xsd:complexType>
    <xsd:complexType name="TPrograma">
        <xsd:annotation>
            <xsd:documentation>Representa los datos por cada programa referentes a un ODS dentro de una sección</xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
            <xsd:choice>
                <xsd:element name="DetallePct" type="xsd:decimal" minOccurs="1" maxOccurs="1"/>
                <xsd:element name="ListaMetas" type="TListaMetas" minOccurs="1" maxOccurs="1"/>
            </xsd:choice>
            <xsd:element name="ListaCamposIntervencion" type="TListaCamposIntervencion" minOccurs="0" maxOccurs="1"/>
        </xsd:sequence>
        <xsd:attribute name="codFuncional" type="TFuncional" use="required"/>
        <xsd:attribute name="esDirecta" type="xsd:boolean" use="required"/>
    </xsd:complexType>
    <xsd:complexType name="TListaMetas">
        <xsd:annotation>
            <xsd:documentation>Es la lista de metas que tiene asociada un Sección/ODS</xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
            <xsd:element name="Meta" type="TMeta" minOccurs="1" maxOccurs="unbounded"/>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:complexType name="TListaCamposIntervencion">
        <xsd:annotation>
            <xsd:documentation>Es la lista de campos de intervención que tiene asociada un Sección/ODS</xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
            <xsd:element name="CampoIntervencion" type="xsd:string" minOccurs="1" maxOccurs="unbounded"/>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:complexType name="TMeta">
        <xsd:annotation>
            <xsd:documentation>Elemento que contiene la información de porcentajes asignados por metas asociados a un Seccion/ODS/Funcional</xsd:documentation>
        </xsd:annotation>
        <xsd:attribute name="codMeta" type="xsd:string" use="required"/>
        <xsd:attribute name="porcentaje" type="xsd:decimal" use="required"/>
    </xsd:complexType>
    <xsd:simpleType name="TSeccion">
        <xsd:restriction base="xsd:string">
            <xsd:pattern value="[0-9]{2}"/>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="TOds">
        <xsd:restriction base="xsd:integer">
            <xsd:pattern value="[0-9]+"/>
        </xsd:restriction>
    </xsd:simpleType>
    <!--La información numérica se elabora a nivel de programa -->
    <xsd:simpleType name="TFuncional">
        <xsd:restriction base="xsd:string">
            <xsd:length value="4"/>
        </xsd:restriction>
    </xsd:simpleType>
</xsd:schema>
