元素 'simpleType' 无效、放错位置或出现太频繁

Element 'simpleType' is invalid, misplaced, or occurs too often

我不确定我做错了什么。但是错误如下:

s4s-elt-invalid-content.1:Element 'simpleType' is invalid, misplaced, or occurs too often.

    <xsd:element name="amtNew" minOccurs="0">
        <xsd:complexType>
            <xsd:simpleType>
                <xsd:restriction base="xsd:decimal">
                    <xsd:totalDigits value="13" />
                    <xsd:fractionDigits value="3" />
                </xsd:restriction>
            </xsd:simpleType>
            <xsd:attribute name="code" use="required">
                <xsd:simpleType>
                    <xsd:restriction base="xsd:token">
                        <xsd:length value="3" />
                    </xsd:restriction>
                </xsd:simpleType>
            </xsd:attribute>
            </xsd:complexType>
        </xsd:element>

xsd:complexType 元素不能将 xsd:simpleType 作为子元素,因此您使用的文档对于模式文档的 XSD 模式无效。如果您的头脑中没有清晰的架构文档的架构(可能有些人这样做),那么如果您使用了解架构并且可以至少检查您的模式文档的模式有效性;如果您的编辑器可以检查您的模式文档是否符合规范(这涉及一些超出单个模式文档有效性的限制),您将节省更多时间。

在这种情况下,您似乎想要定义一个元素,其内容是最多 13 位的十进制数,并且需要携带名为 code 的属性。你要的复杂类型有'simple content',是内容简单类型的扩展;您应该查看架构(或教程)以获取有关 xsd:simpleContent 和 xsd:extension 元素的信息。