UT4.2 Mail

Mail
XML Mail
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mail SYSTEM "01.dtd">
<mail
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:noNamespaceSchemaLocation="01.xsd">
    
    <remitente>peper@mail.com</remitente>
    <destinatarios>
        <destinatario>maria@mail.com</destinatario>
        <destinatario>sofia@mail.com</destinatario>
    </destinatarios>
    <fecha_mensaje>
        <dia>---25</dia>
        <mes>--11</mes>
        <anyo>2024</anyo>
    </fecha_mensaje>
    <asunto>Cena Navidad 2024</asunto>
    <mensaje>
        <h2>Invitación a la Cena de Navidad</h2>
        <p><strong>Querido/a compañero/a:</strong></p>
        <p>Nos complace invitarte a compartir una noche especial en nuestra Cena de Navidad, que se celebrará en el encantador Parador de Benavente.</p>
        <h3>Detalles del evento:</h3>
        <ul>
            <li><strong>Fecha:</strong> Jueves, 21 de diciembre de 2023</li>
            <li><strong>Hora:</strong> 21:00</li>
            <li><strong>Lugar:</strong> Parador de Benavente</li>
        </ul>
        <p>Ven a disfrutar de una velada inolvidable llena de buena compañía, deliciosa gastronomía y el espíritu navideño que tanto nos une. Habremos preparado un menú especial pensado para celebrar esta mágica ocasión.</p>
        <p>Por favor, confirma tu asistencia antes del 15 de diciembre de 2023 respondiendo a este correo o contactando al [teléfono/email de contacto]</p>
        <p>Esperamos contar contigo para hacer de esta cena un momento aún más especial. ¡No faltes!</p>
        <p>Con cariño,</p>
        <p><strong>Director</strong></p>
    </mensaje>
    <ficheros_adjuntos>
        <fichero>
            <nombre>documento.pdf</nombre>
            <tipo_MIME>application/pdf</tipo_MIME>
        </fichero>
        <fichero>
            <nombre>imagen.png</nombre>
            <tipo_MIME>image/png</tipo_MIME>
        </fichero>
    </ficheros_adjuntos>
</mail>
DTD Mail
<!ELEMENT mail (remitente, destinatarios, fecha_mensaje, asunto?, mensaje?, ficheros_adjuntos?)>
<!ATTLIST mail xmlns:xsi CDATA #IMPLIED
               xsi:noNamespaceSchemaLocation CDATA #IMPLIED>

<!ELEMENT remitente (#PCDATA)>

<!ELEMENT destinatarios (destinatario+)>
<!ELEMENT destinatario (#PCDATA)>

<!ELEMENT fecha_mensaje (dia, mes, anyo)>
<!ELEMENT dia (#PCDATA)>
<!ELEMENT mes (#PCDATA)>
<!ELEMENT anyo (#PCDATA)>

<!ELEMENT asunto (#PCDATA)>

<!ELEMENT mensaje (#PCDATA | h2 | h3 | p | ul)*>
<!ELEMENT h2 (#PCDATA)>
<!ELEMENT h3 (#PCDATA)>
<!ELEMENT p (#PCDATA | strong)*>
<!ELEMENT strong (#PCDATA)>
<!ELEMENT ul (li+)>
<!ELEMENT li (#PCDATA | strong)*>

<!ELEMENT ficheros_adjuntos (fichero*)>
<!ELEMENT fichero (nombre, tipo_MIME)>
<!ELEMENT nombre (#PCDATA)>
<!ELEMENT tipo_MIME (#PCDATA)>
XSD Mail
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:element name="mail">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="remitente" type="xs:string"/>

                <xs:element name="destinatarios">
                    <xs:complexType>
                        <xs:sequence>
                            <xs:element name="destinatario" type="xs:string" maxOccurs="unbounded"/>
                        </xs:sequence>
                    </xs:complexType>
                </xs:element>

                <xs:element name="fecha_mensaje">
                    <xs:complexType>
                        <xs:sequence>
                            <xs:element name="dia" type="xs:gDay"/>
                            <xs:element name="mes" type="xs:gMonth"/>
                            <xs:element name="anyo" type="xs:gYear"/>
                        </xs:sequence>
                    </xs:complexType>
                </xs:element>

                <xs:element name="asunto" type="xs:string" minOccurs="0"/>

                <xs:element name="mensaje" minOccurs="0">
                    <xs:complexType mixed="true">
                        <xs:choice minOccurs="0" maxOccurs="unbounded">
                            <xs:element name="h2" type="xs:string"/>
                            <xs:element name="h3" type="xs:string"/>
                            <xs:element name="p">
                                <xs:complexType mixed="true">
                                    <xs:choice minOccurs="0" maxOccurs="unbounded">
                                        <xs:element name="strong" type="xs:string"/>
                                    </xs:choice>
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="ul">
                                <xs:complexType>
                                    <xs:sequence>
                                        <xs:element name="li" maxOccurs="unbounded">
                                            <xs:complexType mixed="true">
                                                <xs:choice minOccurs="0" maxOccurs="unbounded">
                                                    <xs:element name="strong" type="xs:string"/>
                                                </xs:choice>
                                            </xs:complexType>
                                        </xs:element>
                                    </xs:sequence>
                                </xs:complexType>
                            </xs:element>
                        </xs:choice>
                    </xs:complexType>
                </xs:element>

                <xs:element name="ficheros_adjuntos" minOccurs="0">
                    <xs:complexType>
                        <xs:sequence>
                            <xs:element name="fichero" minOccurs="1" maxOccurs="unbounded">
                                <xs:complexType>
                                    <xs:sequence>
                                        <xs:element name="nombre" type="xs:string"/>
                                        <xs:element name="tipo_MIME" type="xs:string"/>
                                    </xs:sequence>
                                </xs:complexType>
                            </xs:element>
                        </xs:sequence>
                    </xs:complexType>
                </xs:element>

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