XML-файл действителен, если:
- Хорошо сформирован
- Соответствует любым определенным типам схем, связанных с ним.
В вашем случае XML-документ правильно сформирован, и с ним не связано никакой схемы. Итак, поэтому это действительно.
Если вы хотите связать xml с определенными вами типами, вам нужно использовать пространство имен.
Ваша декларация схемы:
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="myNamespaceHere" xmlns="myNamespaceHere">
...
</xs:schema>
Ваш экземпляр xml:
<Help date="2020-06-24" xmlns="myNamespaceHere">
...
</Help>
Теперь, когда вы подтвердите его, ваш синтаксический анализатор узнает, что нужно проверять XSD.
UPDATE
Как отметил Петру в комментариях, эта валидность неверна с точки зрения XSD . Пространство имен на самом деле не требуется для проверки, но в случае, когда пространство имен не требуется, атрибут схемы elementFormDefault
должен быть установлен в «неквалифицирован», чтобы указать, что на типы в схеме можно ссылаться без квалификации пространства имен.
Однако парсеры XSD обычно игнорируют экземпляры схемы без пространств имен, поэтому с точки зрения синтаксического анализатора экземпляр xml без пространства имен всегда возвращается как «допустимый» (если он правильно сформирован).