元素'simpleType'无效,放错位置或过于频繁发生

时间:2017-10-17 15:24:05

标签: xslt xsd xml-parsing xsd-validation

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

  

s4s-elt-invalid-content.1:元素'simpleType'无效,放错位置或过于频繁发生。

    <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>

1 个答案:

答案 0 :(得分:1)

xsd:complexType元素不能将xsd:simpleType作为子元素,因此您使用的文档对于架构文档的XSD架构无效。如果您没有明确的架构文档架构(可能有一些人会这样做),如果您使用具有架构知识的XML编辑器并且可以检查架构文档,那么您将免于很多痛苦至少对于模式有效性;如果您的编辑器可以检查您的模式文档是否符合规范(这涉及一些超出单个模式文档有效性的约束),您将节省更多时间。

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