Как известно новый модуль проверки XML файлов XMLChecker использует XSD схему для валидации содержимого кадастрового XML. Поэтому, если некоторые ошибки в вашем регионе не являются ошибками, можно отредактировать оригинальную схему - это файл Digitals\XMLCheck\XMLSchema.xsd.
Предположим, что тег LicenseIssuedDate в вашем регионе является необязательным. Найдите его в файле XMLSchema.xsd (открывается в любом текстовом редакторе, рекомендую Notepad++) и добавьте атрибут minOccurs=“0”. Должно получится так:
<xsd:element name="LicenseIssuedDate" type="xsd:date" minOccurs="0">
Сохраните схему и перезапустите XMLChecker. Уберите тег LicenseIssuedDate из вашего тестового XML и ошибка
Элемент “License” неполный. Также ожидается “LicenseIssuedDate”
больше не будет появляться.
Второй случай. Предположим, что тег LicenseIssuedDate является обязательным, но может содержать пустое значение. В данном случае тип xsd:date нас уже не устраивает, так как не допускает пустых значений. Создадим свой тип, объединяющий пустую строку и формат даты.
Добавьте в начало XMLSchema.xsd файла после строки
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" version="0.7">
эти два блока:
[code]<xsd:simpleType name=“empty-string”>
<xsd:restriction base=“xsd:string”>
<xsd:enumeration value=“”/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name=“date-or-nothing”>
<xsd:union memberTypes=“xsd:date empty-string”/>
</xsd:simpleType>[/code]Они описывают новый тип с именем date-or-nothing, который допускает пустую строку либо строку в формате XML даты.
Затем снова найдите тег LicenseIssuedDate и измените его тип. Должно получится так
<xsd:element name="LicenseIssuedDate" type="date-or-nothing">
После перезапуска XMLChecker ошибка
Пустое значение не допускается в элементе “LicenseIssuedDate” перестанет появляться.