我有一个Xsd文件
<?xml version="1.0"?>
<xs:schema id="Peoples" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xs:element name="Peoples">
<xs:complexType>
<xs:sequence minOccurs="1" maxOccurs="unbounded">
<xs:element name="People">
<xs:complexType>
<xs:all>
<xs:element name="firstname" minOccurs="1" >
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
<xs:maxLength value="50"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="lastname" minOccurs="1" >
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
<xs:maxLength value="50"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="midinitial" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="email" minOccurs="0" >
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:all>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
,xml文件是
<Peoples xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="">
<People>
<firstname>James</firstname>
</People>
</Peoples>
它给出的xml验证 :1:142:cvc-complex-type.2.4.b:元素'People'的内容不完整。预计会有一个'{lastname,midinitial,email}'。
但是在这里,firstname和lastname是requied字段。 有一种方法可以单独验证xml仅需要的字段
答案 0 :(得分:0)
您的问题不是验证器验证不正确。您的问题是您不喜欢它的错误消息。您的选择是尝试另一个验证器,看看它是否为您更喜欢的案例生成验证消息,或者习惯于错误消息有时不告诉我们他们希望他们做什么,有时告诉我们事情我们希望他们没有。