Еще одна проблема с возможностями XSD:
Я отправлял XML-файлы моими клиентами, у которых будет 0 или более неопределенных или [вызываемых] неожиданных тегов (может отображаться в иерархии). Ну, это лишние теги для меня .. поэтому я должен игнорировать их присутствие, но вместе с ними есть набор тегов, которые должны быть проверены.Как игнорировать проверку неизвестных тегов?
Это пример XML:
<root>
<undefined_1>one</undefined_1>
<undefined_2>two</undefined_2>
<node>to_be_validated</node>
<undefined_3>two</undefined_3>
<undefined_4>two</undefined_4>
</root>
И XSD я попытался с:
<xs:element name="root" type="root"></xs:element>
<xs:complexType name="root">
<xs:sequence>
<xs:any maxOccurs="2" minOccurs="0"/>
<xs:element name="node" type="xs:string"/>
<xs:any maxOccurs="2" minOccurs="0"/>
</xs:sequence>
</xs:complexType
XSD не позволяет этого, в силу определенных причин.
Вышеупомянутый пример - всего лишь образец. Практический XML поставляется со сложной иерархией XML-тегов.
Просьба сообщить мне, можете ли вы его взломать.
Кстати, альтернативным решением является вставка XSL-преобразования перед процессом проверки. Ну, я избегаю этого, потому что мне нужно изменить код .Net, который инициирует процесс проверки, который поддерживается, по крайней мере, моей компанией.
Проблема в том, что она не проверяет схему? –
yup .. скорее я хотел показать, что «я не знаю, как это сделать .. и я попробовал ЭТО» .. –