UT4.4 Currículum

Currículum
XML Currículum
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE curriculum_vitae SYSTEM "04.dtd">
<curriculum_vitae xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="04.xsd">
    
    <datos_personales>
        <nombre>Daniel</nombre>
        <apellidos>Carvajal Parera</apellidos>
        <año_nacimiento>1992</año_nacimiento>
        <residencia>
            <ciudad>Benavente</ciudad>
            <pais>España</pais>
        </residencia>
    </datos_personales>

    <contacto>
        <telefono>+34 600 123 456</telefono>
        <correo>dani.balón_D'or@gmail.com</correo>
        <linkedin>https://www.linkedin.com/in/danicarvajalparera</linkedin>
    </contacto>

    <descripcion_perfil>
        Profesional altamente motivado con más de 5 años de experiencia en el sector tecnológico. Especializado en la gestión de proyectos ágiles y el desarrollo de soluciones de software eficientes. Enfocado en la resolución de problemas y el trabajo en equipo multidisciplinar.
    </descripcion_perfil>

    <competencias>
        <competencia>
            <nombre>Gestión de Proyectos (Agile/Scrum)</nombre>
            <nivel>Avanzado</nivel>
        </competencia>
        <competencia>
            <nombre>Desarrollo Web (HTML, CSS, JavaScript)</nombre>
            <nivel>Intermedio</nivel>
        </competencia>
        <competencia>
            <nombre>Inglés</nombre>
            <nivel>C1 (Avanzado)</nivel>
        </competencia>
    </competencias>

    <formacion>
        <estudio>
            <titulacion>Grado en Ingeniería Informática</titulacion>
            <centro>Universidad de Salamanca</centro>
            <año_finalizacion>2014</año_finalizacion>
        </estudio>
        <estudio>
            <titulacion>Máster en Dirección de Proyectos</titulacion>
            <centro>Escuela de Negocios Europea</centro>
            <año_finalizacion>2016</año_finalizacion>
        </estudio>
    </formacion>

    <experiencia>
        <puesto_trabajo>
            <puesto>Gestora de Proyectos IT</puesto>
            <empresa>Tech Innovators S.L.</empresa>
            <año_inicio>2018</año_inicio>
            <año_fin>2023</año_fin>
        </puesto_trabajo>
        <puesto_trabajo>
            <puesto>Desarrolladora Junior</puesto>
            <empresa>Soluciones Digitales Globales</empresa>
            <año_inicio>2015</año_inicio>
            <año_fin>2018</año_fin>
        </puesto_trabajo>
    </experiencia>

</curriculum_vitae>
DTD Currículum
<!ELEMENT curriculum_vitae (datos_personales, contacto, descripcion_perfil, competencias, formacion, experiencia)>
<!ATTLIST curriculum_vitae xmlns:xsi CDATA #IMPLIED
                xsi:noNamespaceSchemaLocation CDATA #IMPLIED>
<!ELEMENT datos_personales (nombre, apellidos, año_nacimiento, residencia)>
<!ELEMENT nombre (#PCDATA)>
<!ELEMENT apellidos (#PCDATA)>
<!ELEMENT año_nacimiento (#PCDATA)>
<!ELEMENT residencia (ciudad, pais)>
<!ELEMENT ciudad (#PCDATA)>
<!ELEMENT pais (#PCDATA)>
<!ELEMENT contacto (telefono, correo, linkedin)>
<!ELEMENT telefono (#PCDATA)>
<!ELEMENT correo (#PCDATA)>
<!ELEMENT linkedin (#PCDATA)>
<!ELEMENT descripcion_perfil (#PCDATA)>
<!ELEMENT competencias (competencia+)>
<!ELEMENT competencia (nombre, nivel)>
<!ELEMENT nivel (#PCDATA)>
<!ELEMENT formacion (estudio+)>
<!ELEMENT estudio (titulacion, centro, año_finalizacion)>
<!ELEMENT titulacion (#PCDATA)>
<!ELEMENT centro (#PCDATA)>
<!ELEMENT año_finalizacion (#PCDATA)>
<!ELEMENT experiencia (puesto_trabajo*)>
<!ELEMENT puesto_trabajo (puesto, empresa, año_inicio, año_fin)>
<!ELEMENT puesto (#PCDATA)>
<!ELEMENT empresa (#PCDATA)>
<!ELEMENT año_inicio (#PCDATA)>
<!ELEMENT año_fin (#PCDATA)>
XSD Currículum
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">

    <xs:element name="curriculum_vitae">
        <xs:complexType>
            <xs:sequence>
                
                <xs:element name="datos_personales">
                    <xs:complexType>
                        <xs:sequence>
                            <xs:element name="nombre" type="xs:string"/>
                            <xs:element name="apellidos" type="xs:string"/>
                            <xs:element name="año_nacimiento" type="xs:integer"/>
                            <xs:element name="residencia">
                                <xs:complexType>
                                    <xs:sequence>
                                        <xs:element name="ciudad" type="xs:string"/>
                                        <xs:element name="pais" type="xs:string"/>
                                    </xs:sequence>
                                </xs:complexType>
                            </xs:element>
                        </xs:sequence>
                    </xs:complexType>
                </xs:element>

                <xs:element name="contacto">
                    <xs:complexType>
                        <xs:sequence>
                            <xs:element name="telefono" type="xs:string"/>
                            <xs:element name="correo" type="xs:string"/>
                            <xs:element name="linkedin" type="xs:string"/>
                        </xs:sequence>
                    </xs:complexType>
                </xs:element>

                <xs:element name="descripcion_perfil" type="xs:string"/>

                <xs:element name="competencias">
                    <xs:complexType>
                        <xs:sequence>
                            <xs:element name="competencia" maxOccurs="unbounded">
                                <xs:complexType>
                                    <xs:sequence>
                                        <xs:element name="nombre" type="xs:string"/>
                                        <xs:element name="nivel" type="xs:string"/>
                                    </xs:sequence>
                                </xs:complexType>
                            </xs:element>
                        </xs:sequence>
                    </xs:complexType>
                </xs:element>

                <xs:element name="formacion">
                    <xs:complexType>
                        <xs:sequence>
                            <xs:element name="estudio" maxOccurs="unbounded">
                                <xs:complexType>
                                    <xs:sequence>
                                        <xs:element name="titulacion" type="xs:string"/>
                                        <xs:element name="centro" type="xs:string"/>
                                        <xs:element name="año_finalizacion" type="xs:integer"/>
                                    </xs:sequence>
                                </xs:complexType>
                            </xs:element>
                        </xs:sequence>
                    </xs:complexType>
                </xs:element>

                <xs:element name="experiencia">
                    <xs:complexType>
                        <xs:sequence>
                            <xs:element name="puesto_trabajo" minOccurs="0" maxOccurs="unbounded">
                                <xs:complexType>
                                    <xs:sequence>
                                        <xs:element name="puesto" type="xs:string"/>
                                        <xs:element name="empresa" type="xs:string"/>
                                        <xs:element name="año_inicio" type="xs:integer"/>
                                        <xs:element name="año_fin" type="xs:string"/> 
                                    </xs:sequence>
                                </xs:complexType>
                            </xs:element>
                        </xs:sequence>
                    </xs:complexType>
                </xs:element>

            </xs:sequence>
        </xs:complexType>
    </xs:element>

</xs:schema>