验证xsd方案

时间:2015-11-25 11:24:24

标签: xml xsd

我试图验证我的方案,但它总是报告同样的问题。

这是我的计划

<?xml version="1.0"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name="Coches">
    <xsd:complexType>
        <xsd:sequence>
            <xsd:element name="Coche" minOccurs="0" maxOccurs="unbounded">
                <xsd:attribute name="anio_fabricacion" type="xsd:string">
                    <xsd:complexType>
                        <xsd:sequence>
                            <xsd:element name="Bastidor" type="xsd:string"/>
                            <xsd:element name="Marca" type="xsd:string"/>
                            <xsd:element name="Modelo" type="xsd:string"/>
                            <xsd:element name="Submodelo" type="xsd:string"/>
                            <xsd:element name="Color" type="xsd:string"/>
                            <xsd:element name="Precio" type="xsd:string"/>
                        </xsd:sequence>
                    </xsd:complexType>
                </xsd:attribute>
            </xsd:element>
        </xsd:sequence>
    </xsd:complexType>
</xsd:element>

这是我的XML文档

<Coches>
    <Coche anio_fabricacion="2015">
        <Bastidor>1234567890qwertyQ</Bastidor>
        <Marca>Renault</Marca>
        <Modelo>Megane</Modelo>
        <Submodelo>Coupé</Submodelo>
        <Color>Rojo</Color>
        <Precio>18000</Precio>
    </Coche>
</Coches>

这是报告的错误。

Line:   7
Kind:   Schema Validation Error
Details:    Element '{http://www.w3.org/2001/XMLSchema}element': The content is not valid. Expected is (annotation?, ((simpleType | complexType)?, (unique | key | keyref)*)).

1 个答案:

答案 0 :(得分:2)

你有一个complexType的属性,它回到了前面。以下是更正后的架构:

<?xml version="1.0"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name="Coches">
    <xsd:complexType>
        <xsd:sequence>
            <xsd:element name="Coche" minOccurs="0" maxOccurs="unbounded">
                <xsd:complexType>
                    <xsd:sequence>
                        <xsd:element name="Bastidor" type="xsd:string"/>
                        <xsd:element name="Marca" type="xsd:string"/>
                        <xsd:element name="Modelo" type="xsd:string"/>
                        <xsd:element name="Submodelo" type="xsd:string"/>
                        <xsd:element name="Color" type="xsd:string"/>
                        <xsd:element name="Precio" type="xsd:string"/>
                    </xsd:sequence>
                    <xsd:attribute name="anio_fabricacion" type="xsd:string">
                    </xsd:attribute>
                </xsd:complexType>
            </xsd:element>
        </xsd:sequence>
    </xsd:complexType>
</xsd:element>