微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在 XSD 中混合简单和复杂的内容?

如何解决在 XSD 中混合简单和复杂的内容?

首先,不要介意 XML 名称,因为它是西班牙语。 所以,基本上我一直试图在很多网站上解决这个问题,但我仍然不知道为什么我的 XSD 给我这个错误

s4s-elt-invalid-content.1:'TipoEquipo' 的内容无效。元素“序列”无效、错位或出现频率过高。

这是我的 XML:

<jornada num="23" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="jornada.xsd">
    <partido>
        <equipo nombre="Celta">
            <goles>
                <gol min="45">Santi Mina</gol>
                <gol min="47">Brais Méndez</gol>
                <gol min="68">Santi Mina</gol>
            </goles>
            <entrenador>Coudet</entrenador>
        </equipo>
        <equipo>Elche
            <goles>
                <gol min="50">Emiliano Rigoni</gol>
            </goles>
        </equipo>
        <resultado>3-1</resultado>
        <estadio>Balaídos</estadio>
        <fecha>2021-02-12</fecha>
        <espectadores>0</espectadores>
    </partido>
    <partido>
        <equipo nombre="Sevilla">
            <goles>
                <gol min="57">El Haddadi</gol>
            </goles>
            <entrenador>Lopetegui</entrenador>
        </equipo>
        <equipo nombre="Huesca"/>
        <resultado>1-0</resultado>
        <estadio>Sánchez Pizjuán</estadio>
        <fecha>2021-02-13</fecha>
    </partido>
    <partido>
        <equipo nombre="Granada">
            <goles>
                <gol min="66">Yangel Herrera</gol>
            </goles>
        </equipo>
        <equipo nombre="Atlético de Madrid">
            <entrenador>Simeone</entrenador>
            <goles>
                <gol min="63">marcos Llorente</gol>
                <gol min="75">Ángel Correa</gol>
            </goles>
        </equipo>
        <resultado>1-2</resultado>
        <estadio>Los Cármenes</estadio>
        <fecha>2021-02-13</fecha>
        <espectadores>0</espectadores>
    </partido>
    <partido>
        <equipo nombre="Villarreal">
            <goles>
                <gol min="65" penalti="true">Gerard Moreno</gol>
            </goles>
        </equipo>
        <equipo nombre="Betis">
            <entrenador>Pellegrini</entrenador>
            <goles>
                <gol min="45">Nabil Fekir</gol>
                <gol>Emerson Royal</gol>
            </goles>
        </equipo>
        <resultado>1-2</resultado>
        <estadio>La Cerámica</estadio>
        <fecha>2021-02-14</fecha>
    </partido>
    <partido>
        <equipo nombre="Getafe"/>
        <equipo nombre="Real Sociedad">
            <goles>
                <gol min="30">Alexander Isak</gol>
            </goles>
        </equipo>
        <resultado>0-1</resultado>
        <estadio>Coliseum Alfonso Pérez</estadio>
        <fecha>2021-02-14</fecha>
        <espectadores>0</espectadores>
    </partido>
    <quiniela>
        <combinacion>11222</combinacion>
        <recaudacion>3801225.50</recaudacion>
    </quiniela>
</jornada>

这是我的 XSD:

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:element name="jornada" type="TipoJornada" />
    <xs:complexType name="TipoJornada">
        <xs:sequence>
            <xs:element name="partido" type="TipoPartido" maxOccurs="unbounded" />
            <xs:element name="quiniela" type="TipoQuiniela" />
        </xs:sequence>
        <xs:attribute name="num" type="xs:integer" />
    </xs:complexType>
    <xs:complexType name="TipoPartido">
        <xs:sequence>
            <xs:element name="equipo" type="TipoEquipo" maxOccurs="unbounded" minOccurs="0"/>
            <xs:element name="resultado" type="xs:string" />
            <xs:element name="estadio" type="xs:string" />
            <xs:element name="fecha" type="xs:date" />
            <xs:element name="espectadores" type="xs:integer"  minOccurs="0" />
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="TipoEquipo">
        <xs:simpleContent>
            <xs:extension base="xs:string">
                <xs:sequence>
                    <xs:element name="goles" type="TipoGoles" minOccurs="0"/>
                    <xs:element name="entrenador" type="xs:string" minOccurs="0" />
                </xs:sequence>
            <xs:attribute name="nombre" type="xs:string"/>
            </xs:extension>
        </xs:simpleContent>
    </xs:complexType>
    <xs:complexType name="TipoGoles">
        <xs:sequence>
            <xs:element name="gol" type="TipoGol" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="TipoGol">
        <xs:simpleContent>
            <xs:extension base="xs:string">
                <xs:attribute name="min" type="xs:integer" />
                <xs:attribute name="penalti" type="xs:boolean" />
            </xs:extension>
        </xs:simpleContent>
    </xs:complexType>
    <xs:complexType name="TipoQuiniela">
        <xs:sequence>
            <xs:element name="combinacion" type="xs:integer" />
            <xs:element name="recaudacion" type="xs:decimal" />
        </xs:sequence>
    </xs:complexType>
</xs:schema>```

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。