Xml 如何允许具有字符串内容的元素具有属性?
我正在尝试为以下XML编写XSD:Xml 如何允许具有字符串内容的元素具有属性?,xml,parsing,xsd,xml-validation,Xml,Parsing,Xsd,Xml Validation,我正在尝试为以下XML编写XSD: <users> <user id='u1'>A</user> <user id='u2'>B</user> <user id='u3'>C</user> </users> A. B C 以下是我到目前为止的情况: <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema
<users>
<user id='u1'>A</user>
<user id='u2'>B</user>
<user id='u3'>C</user>
</users>
A.
B
C
以下是我到目前为止的情况:
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name="users">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="user" maxOccurs="unbounded" type="xsd:string">
<xsd:attribute name="id" type="xsd:string"/>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
但它返回错误:
元素
“{}元素”:内容无效。
应为(注释?,((simpleType | complexType)?,(唯一|键
|keyref)*)
id属性是用户的id。
知道如何解决这个问题吗?下面是如何使用
simpleContent
(xsd:string
)和xsd中的属性定义元素:
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name="users">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="user" maxOccurs="unbounded">
<xsd:complexType>
<xsd:simpleContent>
<xsd:extension base="xsd:string">
<xsd:attribute name="id" type="xsd:string"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
(您的错误与maxOccurs
未绑定无关。它与user
元素的内容模型有关。)