“最简单”的含义是非常相对的。
它可能会跟随
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:element name="blocks">
<xs:complexType>
<xs:sequence>
<xs:element name="block" maxOccurs="unbounded">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="id" type="xs:int" use="required"/>
<xs:attribute name="current" type="xs:boolean"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
可能您需要以这种方式定义它,以便能够在模式的其他部分重用某些类型。
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:element name="blocks" type="blocks_type"/>
<xs:complexType name="blocks_type">
<xs:sequence>
<xs:element name="block" type="block_type" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="block_type">
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="id" type="xs:int" use="required"/>
<xs:attribute name="current" type="xs:boolean"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:schema>
但您也可能需要限制“块”元素的内容,例如
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:element name="blocks" type="blocks_type"/>
<xs:simpleType name="block_content_type">
<xs:restriction base="xs:string">
<xs:pattern value="[0-9a-f]{7}" />
</xs:restriction>
</xs:simpleType>
<xs:complexType name="blocks_type">
<xs:sequence>
<xs:element name="block" type="block_type" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="block_type">
<xs:simpleContent>
<xs:extension base="block_content_type">
<xs:attribute name="id" type="xs:int" use="required"/>
<xs:attribute name="current" type="xs:boolean"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:schema>
而且您还可能需要将“id”属性作为键(因此也是唯一的):
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:element name="blocks" type="blocks_type">
<xs:key name="id_key">
<xs:selector xpath="block" />
<xs:field xpath="@id" />
</xs:key>
</xs:element>
<xs:simpleType name="block_content_type">
<xs:restriction base="xs:string">
<xs:pattern value="[0-9a-f]{7}" />
</xs:restriction>
</xs:simpleType>
<xs:complexType name="blocks_type">
<xs:sequence>
<xs:element name="block" type="block_type" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="block_type">
<xs:simpleContent>
<xs:extension base="block_content_type">
<xs:attribute name="id" type="xs:int" use="required"/>
<xs:attribute name="current" type="xs:boolean"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:schema>
等等等等。
您提供的有关您的请求的信息越多,您获得的答案就越具体。