Я пытаюсь импортировать данные XML (связанные со схемой) в Excel, затем добавить недопустимые данные в файл Excel, экспортировать их и убедиться, что Excel выдает ошибку при экспорте данных.
Я пытался проверить кнопку «Проверить экспорт по XML».Он показывает предупреждение с ошибкой, но все же позволяет мне экспортировать.Всякий раз, когда я экспортирую с недопустимыми данными, моя ссылка на схему в исходном XML удаляется.Как я могу предотвратить эти две вещи?
Это мой файл XML.По сути, ученик может иметь только оценку A, B или C.
<?xml version="1.0" encoding="UTF-8"?>
<grades xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="schema.xsd">
<student sname = "John Smith">
<grade>C</grade>
</student>
<student sname = "Kelly Jones">
<grade>A</grade>
</student>
</grades>
Это мой файл схемы, который ограничивает значение оценок ученика.
<?xml version="1.0" encoding="UTF-8" ?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name = "grades">
<xs:complexType>
<xs:sequence>
<xs:element name="student" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="grade">
<xs:simpleType>
<xs:restriction base = "xs:string">
<xs:enumeration value = "A"/>
<xs:enumeration value = "B"/>
<xs:enumeration value = "C"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
<xs:attribute name="sname" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
КогдаЯ импортирую это в Excel (используя вкладку «Разработчик»), изменяю оценку Келли на D, а затем экспортирую, он не выдает ошибки, и новый созданный XML-файл не имеет ссылки на схему - xsi:noNamespaceSchemaLocation = "schema.xsd" - в нем.Есть ли способ это исправить?Я хотел бы, чтобы ссылка была там, чтобы моя схема могла кричать мне, что XML недействителен.