我有一个xml,其中一个元素(dynamic1,dynamic2,dynamic3 ...... dynamicN)不断动态变化。如何生成XSD来验证这种XML?
我尝试使用xs:any,但这不起作用。
<?xml version="1.0" encoding="UTF-8"?>
<root>
<dynamic1>
<abc>B</abc>
<xyz>10</xyz>
</dynamic1>
<dynamic2>
<abc>B</abc>
<xyz>10</xyz>
</dynamic2>
.
.
.
<dynamic100>
<abc>B</abc>
<xyz>10</xyz>
</dynamic100>
</root>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="root">
<xs:complexType>
<xs:sequence>
<xs:element name="dynamic1">
<xs:complexType>
<xs:sequence>
<xs:element type="xs:string" name="abc"/>
<xs:element type="xs:byte" name="xyz"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
答案 0 :(得分:1)
你不能(除非在XSD 1.1中极端使用断言)。 XSD不是为验证任意XML而设计的,它旨在验证XSD设计人员认为您应该设计的XML类型。