UT4.4 Curriculum

Curriculum
XML Curriculum
<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE curriculum SYSTEM "01.dtd">

<curriculum xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
            xsi:noNamespaceSchemaLocation="01.xsd">
        
    <datosPersonales>
        <nombre>Juan</nombre>
        <apellido>Rivera</apellido>
        <nacimiento>2001</nacimiento>
        <residencia>
            <ciudad>Benavente</ciudad>
            <pais>España</pais>
        </residencia>
    </datosPersonales>

    <contacto>
        <telefono>640558856</telefono>
        <correo>juan.rivord@educa.jcyl.es</correo>
        <linkedin>https://es.linkedin.com/in/juan-rivera</linkedin>
    </contacto>

    <perfilProfesional>
        <descripcion>Profesional del ámbito tecnológico con interés en el desarrollo web y la gestión de bases de datos.
        Destaca por su capacidad de aprendizaje, trabajo en equipo y resolución de problemas.</descripcion>
        
        <competencias>
            <competencia>
                <nombreXP>XML</nombreXP>
                <nivel>Intermedio</nivel>
            </competencia>

            <competencia>
                <nombreXP>CSS</nombreXP>
                <nivel>Intermedio</nivel>
            </competencia>

        </competencias>

        <formaciones>
            <formacion>
                <titulacion>DAW1</titulacion>
                <centro>Los Sauces</centro>
                <fechaFin>2027</fechaFin>
            </formacion>
        </formaciones>

        <experiencias>
            <experiencia>
                <puesto>Programador</puesto>
                <empresa>Serbatik</empresa>
                <fechaInicio>2028</fechaInicio>
                <fechaFinal>2030</fechaFinal>
            </experiencia>
        </experiencias>
    </perfilProfesional>
</curriculum>
DTD Curriculum
<!ELEMENT curriculum (datosPersonales,contacto,perfilProfesional)>
<!ATTLIST curriculum xmlns:xsi CDATA #REQUIRED
                     xsi:noNamespaceSchemaLocation CDATA #REQUIRED>

    <!ELEMENT datosPersonales (nombre, apellido, nacimiento, residencia)>
    <!ELEMENT nombre (#PCDATA)>
    <!ELEMENT apellido (#PCDATA)>
    <!ELEMENT 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 perfilProfesional (descripcion,competencias,formaciones,experiencias)>
        <!ELEMENT descripcion (#PCDATA)>

            <!ELEMENT competencias (competencia+)>
                 <!ELEMENT competencia (nombreXP,nivel)>
                    <!ELEMENT nombreXP (#PCDATA)>
                    <!ELEMENT nivel (#PCDATA)>
        
            <!ELEMENT formaciones (formacion+)>
                <!ELEMENT formacion (titulacion,centro,fechaFin)>
                    <!ELEMENT titulacion (#PCDATA)>
                    <!ELEMENT centro (#PCDATA)>
                    <!ELEMENT fechaFin (#PCDATA)>

             <!ELEMENT experiencias (experiencia+)>
                <!ELEMENT experiencia (puesto,empresa,fechaInicio,fechaFinal)>
                    <!ELEMENT puesto (#PCDATA)>
                    <!ELEMENT empresa (#PCDATA)>
                    <!ELEMENT fechaInicio (#PCDATA)>
                    <!ELEMENT fechaFinal (#PCDATA)>
    
XSD Curriculum
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:element name="curriculum">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="datosPersonales">
                    <xs:complexType>
                        <xs:sequence>
                            <xs:element name="nombre" type="xs:string"/>
                            <xs:element name="apellido" type="xs:string"/>
                            <xs:element name="nacimiento" type="xs:string"/>
                                <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="perfilProfesional">
                    <xs:complexType>
                        <xs:sequence>
                            <xs:element name="descripcion" type="xs:string"/>
                            <xs:element name="competencias">
                                <xs:complexType>
                                    <xs:sequence>
                                        <xs:element name="competencia" maxOccurs="unbounded">
                                            <xs:complexType>
                                                <xs:sequence>
                                                    <xs:element name="nombreXP" 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="formaciones">
                                <xs:complexType>
                                    <xs:sequence>
                                        <xs:element name="formacion" maxOccurs="unbounded">
                                            <xs:complexType>
                                                <xs:sequence>
                                                    <xs:element name="titulacion" type="xs:string"/>
                                                    <xs:element name="centro" type="xs:string"/>
                                                    <xs:element name="fechaFin" type="xs:gYear"/>
                                                </xs:sequence>
                                            </xs:complexType>
                                        </xs:element>
                                    </xs:sequence>
                                </xs:complexType>
                            </xs:element>

                            <xs:element name="experiencias">
                                <xs:complexType>
                                    <xs:sequence>
                                        <xs:element name="experiencia" maxOccurs="unbounded">
                                            <xs:complexType>
                                                <xs:sequence>
                                                    <xs:element name="puesto" type="xs:string"/>
                                                    <xs:element name="empresa" type="xs:string"/>
                                                    <xs:element name="fechaInicio" type="xs:gYear"/>
                                                    <xs:element name="fechaFinal" type="xs:gYear"/>
                                                </xs:sequence>
                                            </xs:complexType>
                                        </xs:element>
                                    </xs:sequence>
                                </xs:complexType>
                            </xs:element>

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

            </xs:sequence>
        </xs:complexType>
        
    </xs:element>
</xs:schema>
HTML Curriculum Curriculum