5

当我在这个项目上工作时,我不断收到一条错误消息:

元素 'Customer' 必须没有字符或元素信息项 [children],因为该类型的内容类型为空。

我不确定为什么这不起作用,因为我遵循了注释,它看起来像这样:

<xs:element name="Customer" type="xs:string">  
  <xs:complexType>  
    <xs:attribute name="id" type="xs:integer" use="required"/>  
  </xs:complexType>  
</xs:element>

我知道它是说我不能type="xs:string"在那里但是我如何让它必须有一个字符串?

4

1 回答 1

11

您需要修复 XSD 的定义Customer:使用xs:simpleContentwithxs:complexType而不是xsl:element/@type在您的定义中 (customer.xsd):

<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
           version="1.0">
  <xs:element name="Customer">
    <xs:complexType>
      <xs:simpleContent>
        <xs:extension base="xs:string">
          <xs:attribute name="id" type="xs:integer" use="required"/>
        </xs:extension>
      </xs:simpleContent>
    </xs:complexType>
  </xs:element>
</xs:schema>

上面的 XSD 然后会认为以下内容有效:

<Customer id="123">This is a string.</Customer>
于 2013-09-26T01:48:38.953 回答