我有下面的 xml,它基本上包含自动化测试所需的测试数据。我们之前使用 xls,但由于在 GIT 中进行版本控制很困难,我们希望转向 XML。现在,问题是 - 在 XLS 中,所有行始终一致(它们具有相同的 header ),但在 XML 中,member1 可能会添加带有 2 个参数的 row-1,而 member2 可能会添加带有 4 个参数的 row-2。随着行数的增加,很难看出哪些参数已经存在。在Excel中我们可以简单地检查标题。 我想限制 xml 对同一数据表节点下的所有行具有相同的参数。有人可以告诉我如何为此创建 XSD 吗?我是 xml 新手。
<?xml version = "1.0"? >
<Workbook xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="Sample.xsd" >
<Datasheet name = "sheet1">
<Row rowid="1">
<firstname>dinkar</firstname>
<lastname>kad</lastname>
<nickname>dinkar</nickname>
<marks>85</marks>
</Row>
<Row rowid="1">
<firstname>dinkar</firstname>
<lastname>kad</lastname>
<nickname>dinkar</nickname>
<marks>85</marks>
</Row>
<Row rowid="2">
<firstname>dinkar</firstname>
<lastname>kad</lastname>
<nickname>dinkar</nickname>
<marks>85</marks>
</Row>
</Datasheet>
<Datasheet name = "sheet2">
<Row rowid="2">
<firstname2>Vaneet</firstname2>
<lastname2>Gupta</lastname2>
<nickname2>vinni</nickname2>
<marks2>95</marks2>
</Row>
</Datasheet>
</Workbook>
最佳答案
这是一个简单的示例教程,用于学习如何操作: XSD How To?
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:element name="Workbook">
<xs:complexType>
<xs:sequence>
<xs:element name="Datasheet" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="Row" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="firstname" type="xs:string"></xs:element>
<xs:element name="lastname" type="xs:string"></xs:element>
<xs:element name="nickname" type="xs:string"></xs:element>
<xs:element name="marks" type="xs:int"></xs:element>
</xs:sequence>
<xs:attribute name="rowid" type="xs:int"></xs:attribute>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="name" type="xs:string"></xs:attribute>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="xmlns:xsi" type="xs:string"></xs:attribute>
<xs:attribute name="xsi:noNamespaceSchemaLocation" type="xs:string"></xs:attribute>
</xs:complexType>
</xs:element>
</xs:schema>
关于java - 用于 XML 验证的 XSD 创建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54252330/