我有一個導入文件,需要跳過並繼續執行特定錯誤。我想忽略數據類型,最小/最大長度和必填字段的錯誤。我想要捕獲並顯示有關未正確格式化並且位置錯誤的項目的錯誤。驗證xml到xsd只捕獲特定錯誤
在這種情況下,該文件包含一組人。
我想趕上的是錯誤: 1:一個人節點外的子節點。 2:兒童節點外的孩子。 3:人的節點旁邊的人。
我想忽略錯誤: 1:孩子沒有名字。 2:人沒有出生日期。
<xs:element name="People">
<xs:complexType>
<xs:sequence>
<xs:element name="Person" minOccurs="1" maxOccurs="unbounded">
<xs:complexType>
<xs:all>
<xs:element name="FirstName" minOccurs="1" maxOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="LastName" minOccurs="1" maxOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="BirthDate" type="Date" minOccurs="1" maxOccurs="1"/>
<xs:element name="Children">
<xs:complexType>
<xs:sequence>
<xs:element name="Child" minOccurs="1" maxOccurs="unbounded">
<xs:complexType>
<xs:all>
<xs:element name="FirstName" minOccurs="0" maxOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="BirthDate" type="Date" minOccurs="1" maxOccurs="1"/>
</xs:all>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:all>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
謝謝,但我想離開這些項目。我想創建文件的人看到哪些字段是必需的。但是當他們嘗試導入文件時,我需要忽略一些項目。我遇到的問題是在驗證時調用的ValidationCallBack事件無法查看發生了什麼樣的錯誤。 所以我不想修改我的模式,但修改驗證回調方法,以便能夠讀取並確定正在拋出什麼錯誤,或者只有在我確定爲錯誤的錯誤上調用驗證回調災難性的。 – Irimis 2010-07-26 13:45:57