UT4.7 eSports

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

<torneo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
            xsi:noNamespaceSchemaLocation="01.xsd">

    <infoGeneral>
        <evento>LCK</evento>
        <fechaInicio>2026-03-13</fechaInicio>
        <premio>70000</premio>
        <juego>
            <plataforma>PC</plataforma>
        </juego>
    </infoGeneral>

    <equipos>
        <equipo>
            <nombre>T1</nombre>
            <pais>Corea del Sur</pais>
            <entrenador>KkOma</entrenador>
            <patrocinador marca="Red Bull" />
            <jugadores>

                <jugador idplayer="JUG-001">
                    <nickname>Doran</nickname>
                    <edad>25</edad>
                    <posicion>Top</posicion>
                    <rango>Challenger</rango>
                </jugador>

                <jugador idplayer="JUG-002">
                    <nickname>Oner</nickname>
                    <edad>27</edad>
                    <posicion>Jungle</posicion>
                    <rango>Challenger</rango>
                </jugador>

                <jugador idplayer="JUG-003">
                    <nickname>Faker</nickname>
                    <edad>29</edad>
                    <posicion>Mid</posicion>
                    <rango>Challenger</rango>
                </jugador>

                <jugador idplayer="JUG-004">
                    <nickname>Peyz</nickname>
                    <edad>22</edad>
                    <posicion>ADC</posicion>
                    <rango>Challenger</rango>
                </jugador>

                <jugador idplayer="JUG-005">
                    <nickname>Keria</nickname>
                    <edad>21</edad>
                    <posicion>Support</posicion>
                    <rango>Challenger</rango>
                </jugador>

            </jugadores>
        </equipo>
        
        <equipo>
            <nombre>C9</nombre>
            <pais>Estados unidos</pais>
            <entrenador>ElMillor</entrenador>
            <patrocinador marca="Monster" />
            <jugadores>

                <jugador idplayer="JUG-006">
                    <nickname>Thanatos</nickname>
                    <edad>26</edad>
                    <posicion>Top</posicion>
                    <rango>Challenger</rango>
                </jugador>

                <jugador idplayer="JUG-007">
                    <nickname>Blaber</nickname>
                    <edad>17</edad>
                    <posicion>Jungle</posicion>
                    <rango>Challenger</rango>
                </jugador>

                <jugador idplayer="JUG-008">
                    <nickname>APA</nickname>
                    <edad>28</edad>
                    <posicion>Mid</posicion>
                    <rango>Challenger</rango>
                </jugador>

                <jugador idplayer="JUG-009">
                    <nickname>Zven</nickname>
                    <edad>27</edad>
                    <posicion>ADC</posicion>
                    <rango>Challenger</rango>
                </jugador>

                <jugador idplayer="JUG-010">
                    <nickname>Vulcan</nickname>
                    <edad>31</edad>
                    <posicion>Support</posicion>
                    <rango>Challenger</rango>
                </jugador>

            </jugadores>
        </equipo>
    </equipos>

    <partidas>
        <partida>
            <semana>2</semana>
            <mvp>Faker</mvp>
            <fase>
                <semis>Semi-Finales</semis>
            </fase>
        </partida>
    </partidas>

</torneo>
DTD eSports
<!ELEMENT torneo (infoGeneral,equipos,partidas)>
<!ATTLIST torneo xmlns:xsi CDATA #REQUIRED
                 xsi:noNamespaceSchemaLocation CDATA #REQUIRED>

    <!ELEMENT infoGeneral (evento,fechaInicio,premio,juego)>
        <!ELEMENT evento (#PCDATA)>
        <!ELEMENT fechaInicio (#PCDATA)>
        <!ELEMENT premio (#PCDATA)>
        <!ELEMENT juego (plataforma)>
            <!ELEMENT plataforma (#PCDATA)>

    <!ELEMENT equipos (equipo+)>
        <!ELEMENT equipo (nombre,pais,entrenador?,patrocinador,jugadores)>
            <!ELEMENT nombre (#PCDATA)>
            <!ELEMENT pais (#PCDATA)>
            <!ELEMENT entrenador (#PCDATA)>
            <!ELEMENT patrocinador EMPTY>
            <!ATTLIST patrocinador 
                marca CDATA #REQUIRED
                categoria CDATA #IMPLIED>

            <!ELEMENT jugadores (jugador+)>
                <!ELEMENT jugador (nickname,edad,posicion,rango)>
                    <!ATTLIST jugador idplayer ID #REQUIRED>
                    <!ELEMENT nickname (#PCDATA)>
                    <!ELEMENT edad (#PCDATA)>
                    <!ELEMENT posicion (#PCDATA)>
                    <!ELEMENT rango (#PCDATA)>
                
    <!ELEMENT partidas (partida+)>
            <!ELEMENT partida (semana,mvp,fase)>
                <!ELEMENT semana (#PCDATA)>
                <!ELEMENT mvp (#PCDATA)>
                <!ELEMENT fase (elim | grupo | cuartos | semis | final)>
                    <!ELEMENT elim (#PCDATA)>
                    <!ELEMENT grupo (#PCDATA)>
                    <!ELEMENT cuartos (#PCDATA)>
                    <!ELEMENT semis (#PCDATA)>
                    <!ELEMENT final (#PCDATA)>
XSD eSports
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:annotation>
    <xs:documentation>Esquema de validación para el torneo anual de eSports.</xs:documentation>
    <xs:appinfo>https://lolesports.com/</xs:appinfo>
  </xs:annotation>

  <xs:element name="torneo">
    <xs:complexType>
      <xs:sequence>
        


        <xs:element name="infoGeneral">
          <xs:complexType>
            <xs:all>
              <xs:element name="evento" type="xs:string"/>
              <xs:element name="fechaInicio" type="xs:date"/>
              <xs:element name="premio" type="xs:decimal"/>
              <xs:element name="juego">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="plataforma" type="xs:string" fixed="PC"/>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
            </xs:all>
          </xs:complexType>
        </xs:element>



        <xs:element name="equipos">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="equipo" minOccurs="2" maxOccurs="16">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="nombre" type="xs:string"/>
                    <xs:element name="pais" type="xs:string"/>
                    <xs:element name="entrenador" type="xs:string" minOccurs="0"/>
                    
                    <xs:element name="patrocinador">
                      <xs:complexType>
                        <xs:attribute name="marca" type="xs:string" use="required"/>
                        <xs:attribute name="categoria" type="xs:string" use="optional"/>
                      </xs:complexType>
                    </xs:element>

                    <xs:element name="jugadores">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element name="jugador" maxOccurs="unbounded">
                            <xs:complexType>
                              <xs:sequence>
                                <xs:element name="nickname" type="xs:string"/>
                                <xs:element name="edad">
                                  <xs:simpleType>
                                    <xs:restriction base="xs:integer">
                                      <xs:minInclusive value="16"/>
                                      <xs:maxInclusive value="35"/>
                                    </xs:restriction>
                                  </xs:simpleType>
                                </xs:element>

                                <xs:element name="posicion">
                                  <xs:simpleType>
                                    <xs:restriction base="xs:string">
                                      <xs:enumeration value="Top"/>
                                      <xs:enumeration value="Mid"/>
                                      <xs:enumeration value="Jungle"/>
                                      <xs:enumeration value="ADC"/>
                                      <xs:enumeration value="Support"/>
                                    </xs:restriction>
                                  </xs:simpleType>
                                </xs:element>

                                <xs:element name="rango" type="xs:string"/>
                              </xs:sequence>
                              
                              <xs:attribute name="idplayer" use="required">
                                <xs:simpleType>
                                  <xs:restriction base="xs:ID">
                                    <xs:pattern value="JUG-\d{3}"/>
                                  </xs:restriction>
                                </xs:simpleType>
                              </xs:attribute>

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

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

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



        <xs:element name="partidas">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="partida" maxOccurs="unbounded">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="semana" type="xs:integer"/>
                    <xs:element name="mvp" type="xs:string"/>
                    <xs:element name="fase">
                      <xs:complexType>
                        <xs:choice>
                          <xs:element name="elim" type="xs:string"/>
                          <xs:element name="grupo" type="xs:string"/>
                          <xs:element name="cuartos" type="xs:string"/>
                          <xs:element name="semis" type="xs:string"/>
                          <xs:element name="final" type="xs:string"/>
                        </xs:choice>
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                  <xs:attribute name="servidor" type="xs:string" default="Europa"/>
                </xs:complexType>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>



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

</xs:schema>
HTML eSports eSports