我一直在尝试使用XSD导入XML文件以对其进行验证。但是,当我尝试导入XML文件时,它将失败。然后,我将XML与XSD文件进行了比较,发现XML并没有在XSD文件中指定所有元素。这是引起问题的原因吗? XML文件是否应该使用XSD文件的所有元素?
考虑以下XSD:
<?xml version="1.0" encoding="UTF-8" ?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:complexType>
<xs:element name="PersonInfo">
<xs:element name="orderperson" type="xs:string"/>
<xs:element name="name" type="xs:string"/>
<xs:element name="address" type="xs:string"/>
<xs:element name="city" type="xs:string"/>
<xs:element name="country" type="xs:string"/>
<xs:element name="title" type="xs:string"/>
<xs:element name="note" type="xs:string"/>
<xs:element name="quantity" type="xs:positiveInteger"/>
<xs:element name="price" type="xs:decimal"/>
</xs:complexType>
</xs:element>
</xs:schema>
然后我创建一个仅包含以下元素的XML:
<PersonInfo>
<name>Mark</name>
<title>XYZ</title>
<quantity>10</quantity>
<price>100</price>
</PersonInfo>
这是XSD的有效实现吗?当我尝试通过loadXML()函数导入XML文件时,该函数返回S_FALSE? 我不明白为什么导入失败。
答案 0 :(得分:0)
XSD模式说明XML中的哪些元素是必需的,哪些是可选的。如果XSD指出需要一个元素,则XML实例如果不存在则无效。