元素'simpleType'无效,错位或发生太多

问题描述:

我不确定我在做什么错。但错误如下:元素'simpleType'无效,错位或发生太多

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> 

的XSD:complexType元素不能采取XSD:简单类型作为一个孩子,所以你正在使用的文件是不反对的Schema文档的XSD模式是有效的。如果您的头脑中没有Schema文档的架构(可能有些人会这样做),如果您使用了一个熟悉该架构的XML编辑器并且可以检查模式文档,那么您将为自己节省很多的痛苦至少为了模式有效性;如果您的编辑可以检查您的架构文档是否符合规范(其中涉及一些超出各个架构文档有效性的限制),那么您将节省更多时间。

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

+0

谢谢!这个信息非常有用! –