[英]xml schema with unique id
你好,我必须为大学示例做 xsd 文件。 我的 xsd 文件应该包含有关部门的信息。 每个部门都应该有唯一的 ID xs:ID,然后是名称和可选的地址数。 在部门中,有些员工也应该具有特定部门的唯一 ID。 每个员工都有姓名,必填姓氏,可选标题和三个类别。 每个人都应该按特定顺序至少回答一个问题。 在大学里也有科目列表,其中每个科目都有唯一的 ID、描述和学生人数。 对于每个主题,它应该被定义为 employed xs:IDREF。 我有这样的事情:如何将此 IDREF 添加到主题,当我尝试在 xsd 图表中打开它时遇到问题。 我得到的信息是属性元素是未知的,节点是未知的。 这里有什么问题以及如何解决这个问题?
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:element name="university">
<xs:complexType>
<xs:sequence>
<xs:element name="department" >
<xs:complexType>
<xs:sequence>
<xs:element name="id_department"><xs:attribute name="id_department"
type="xs:ID"
use="required"/></xs:element>
<xs:element name="name"
type="xs:string"></xs:element>
<xs:element name="address"
type="xs:string"
maxOccurs="unbounded" ></xs:element>
<xs:element name="employee" >
<xs:complexType>
<xs:sequence>
<xs:element name="id_employee"
type="xs:ID"
minOccurs="1">
<xs:attribute name="id_employee"
type="xs:ID"
use="required"/>
</xs:element>
<xs:element name="name"
type="xs:string"
minOccurs="1"></xs:element>
<xs:element name="surname"
type="xs:string"
minOccurs="1"></xs:element>
<xs:element name="title"
type="xs:string"
minOccurs="0"></xs:element>
<xs:element name="category"
type="xs:string">
<xs:simpleType>
<xs:restriction base="string">
<xs:enumeration value="science"></xs:enumeration>
<xs:enumeration value="administration"></xs:enumeration>
<xs:enumeration value="technical"></xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="address" minOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="street"></xs:element>
<xs:element name="number"></xs:element>
<xs:element name="zip_code"></xs:element>
<xs:element name="city"></xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="subject">
<xs:complexType>
<xs:sequence>
<xs:element name="id_subject"
type="xs:string"> <xs:attribute name="id_subject"
type="xs:ID"
use="required"/></xs:element>
<xs:element name="name"
type="xs:string"></xs:element>
<xs:element name="description"
type="xs:string"></xs:element>
<xs:element name="students_count"
type="xs:int"><xs:minInclusive value="6"/>
<xs:maxInclusive value="400"/>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
xs:attribute
不能作为xs:element
的子元素出现。 您需要为元素定义一个xs:complexType
,属性可以定义为 complexType 的一部分。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.