Điều tôi muốn làm là tạo một phần tử trình tự trong một lược đồ XML sao cho các nội dung phải theo thứ tự, nhưng có thể không phải tất cả đều có mặt. Ví dụ, lược đồ sẽ là một cái gì đó như thế này:Làm thế nào bạn có thể tạo một chuỗi các mục tùy chọn phải theo thứ tự trong một lược đồ XML?
<xs:element name="rods" maxOccurs="1" minOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="green" type="xs:positiveInteger" />
<xs:element name="white" type="xs:positiveInteger" />
<xs:element name="blue" type="xs:positiveInteger" />
<xs:element name="yellow" type="xs:positiveInteger" />
<xs:element name="red" type="xs:positiveInteger" />
<xs:element name="tan" type="xs:positiveInteger" />
<xs:element name="gray" type="xs:positiveInteger" />
<xs:element name="black" type="xs:positiveInteger" />
</xs:sequence>
</xs:complexType>
</xs:element>
và sẽ cho phép XML như thế này:
<rods>
<green>142</green>
<white>34</white>
<gray>65</gray>
</rods>
MSDN có này để nói về nó:
Ví dụ chương trình sau một phần tử (zooAnimals) có thể có không hoặc nhiều hơn các yếu tố sau, voi, gấu, hươu cao cổ, trong phần tử thứ tự.
<xs:element name="zooAnimals"> <xs:complexType> <xs:sequence minOccurs="0" maxOccurs="unbounded"> <xs:element name="elephant"/> <xs:element name="bear"/> <xs:element name="giraffe"/> </xs:sequence> </xs:complexType> </xs:element>
W3Schools cũng đề xuất như vậy. Tuy nhiên, cả studio trực quan và dịch vụ xác thực trực tuyến đều không thích những gì được đề xuất.
Dưới đây là những gì tôi có vào lúc này:
<xs:element name="rods" maxOccurs="1" minOccurs="1">
<xs:complexType>
<xs:sequence minOccurs="0" maxOccurs="1">
<xs:element name="green" type="xs:positiveInteger" />
<xs:element name="white" type="xs:positiveInteger" />
<xs:element name="blue" type="xs:positiveInteger" />
<xs:element name="yellow" type="xs:positiveInteger" />
<xs:element name="red" type="xs:positiveInteger" />
<xs:element name="tan" type="xs:positiveInteger" />
<xs:element name="gray" type="xs:positiveInteger" />
<xs:element name="black" type="xs:positiveInteger" />
</xs:sequence>
</xs:complexType>
</xs:element>
Và đây là XML:
<rods>
<green>142</green>
<white>34</white>
<gray>65</gray>
</rods>
Visual Studio 2005 tuyên bố rằng "màu xám" không hợp lệ "xanh" dự kiến, vì vậy rõ ràng nó muốn tất cả các trẻ em
Xin cảm ơn,
Eric
Định nghĩa lược đồ của bạn có vẻ phù hợp với tôi. Chăm sóc để chia sẻ kết quả/phản hồi của Visual Studio và trình xác thực trực tuyến? –
Tôi đã thêm kết quả vào bài viết – Eric