当我在这个项目上工作时,我不断收到错误说:
元素'客户'必须没有字符或元素信息项 [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"
但是我怎么能让它必须有一个字符串?
答案 0 :(得分:10)
您需要修正XSD对Customer
的定义:在您的定义(customer.xsd)中使用xs:simpleContent
而非xs:complexType
而不是xsl:element/@type
:
<?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>