Proyecto

General

Perfil

Documento Esquema Presupuestos

Esta página recoge el Documento Esquema de importación y exportación del Presupuesto. Al final, están los enlaces a los documentos mencionados en esta página.

Consideraciones

El documento XSD es un Documento Esquema que define los posibles valores admitidos en el documento XML que representa el Presupuesto. Existe un esquema gráfico que explica la estructura de forma sencilla. El enlace está abajo.
El documento XML hace una llamada al documento XSD para validarse a si mismo mediante esta linea:

<matriz xsi:noNamespaceSchemaLocation="Presupuesto.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" fecha_creacion="2010-03-20T10:01:11">

El resultado del documento XML puede comprobarse facilmente mediante el documento XSL de ejemplo que genera un HTML básico para ver los resultados obtenidos. Basta con incluir esta línea al comienzo del documento XML y situar el documento XSL en el mismo directorio. Abriendolo con un navegador, mostrará el resultado permitiendo verificar si el XML es correcto o no.
<?xml-stylesheet type="text/xsl" href="Presupuesto.xsl"?>

ATENCIÓN: Cualquier modificación en el XSD exige una actualización del XML y del XSL.

Diseño en desarrollo

  1. Faltan los atributos de Proyecto/FInanciación (de hecho, no tengo claro si el PPTO se asocia a uno u otro)
  2. Al menos, ha de existir un elemento de cada clase (es decir, ha de existir al menos un Financiador, una Moneda, un etc. en el documento) par que ldocumento se valide. Esto cambiará obviamente pero de momento se usa esta estructura para garantizar la corrección del modelo.

Documento Esquema

Matriz.XSD
ATENCIÓN: diseño EN DESARROLLO


<?xml version="1.0" encoding="ISO-8859-1"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:element name="ppto">
        <xs:complexType>
            <xs:sequence>
<!-- LINEA DE PRESUPUESTO -->
                <xs:element maxOccurs="unbounded" minOccurs="1" name="linea_ppto">
                    <xs:complexType>
                        <xs:sequence>
<!-- FINANCIADOR -->
                            <xs:element maxOccurs="unbounded" minOccurs="0" name="financiador">
                                <xs:complexType>
                                    <xs:attribute name="id" type="xs:long" />
                                    <xs:attribute name="nombre" type="xs:string"/>
                                    <xs:attribute name="porcentaje" type="xs:decimal"/>
                                </xs:complexType>
                            </xs:element>
<!-- ACTIVIDAD -->
                            <xs:element maxOccurs="unbounded" minOccurs="0" name="actividad">
                                <xs:complexType>
                                    <xs:attribute name="id" type="xs:long"/>
                                    <xs:attribute name="codigo" type="xs:string"/>
                                    <xs:attribute name="porcentaje" type="xs:decimal"/>
                                </xs:complexType>
                            </xs:element>

                        </xs:sequence>
<!-- ATRIBUTOS DE ESTA LINEA DE PRESUPUESTO-->
                        <xs:attribute name="id" type="xs:long"/>
                        <xs:attribute name="concepto" type="xs:string"/>
                        <xs:attribute name="cantidad" type="xs:double"/>
<!--                        <xs:attribute name="unidad_medida" type="xs:string"/>       -->
                        <xs:attribute name="coste_unit" type="xs:decimal"/>
                        <xs:attribute name="partida_id" type="xs:long"/>
                        <xs:attribute name="partida_codigo" type="xs:string"/>
                        <xs:attribute name="moneda_id" type="xs:long"/>
                        <xs:attribute name="moneda_codigo" type="xs:string"/>
                        <xs:attribute name="fecha_ini" type="xs:date"/>
                        <xs:attribute name="fecha_fin" type="xs:date"/>
                        <xs:attribute name="agente_id" type="xs:long"/>
                        <xs:attribute name="agente_nombre" type="xs:string"/>
                    </xs:complexType>
                </xs:element>
            </xs:sequence>
            <xs:attribute name="fecha_creacion" type="xs:dateTime"/>
        </xs:complexType>
    </xs:element>
</xs:schema>

Nota a actividades, recursos y al formato XML

  • El recurso es un error de comunicación y no debe estar. En realidad desde el punto de vista de las actividades el recurso es lo liga con los presupuesto, y precisamente cada recurso es una subpartida (o linea del presupuesto). Osea que recurso igual a linea de presupuesto.

Enlaces

Documentos asociados