Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ошибка проверки XML файлов документов по DTD #110

Closed
5 of 6 tasks
sergey-s-betke opened this issue Mar 23, 2021 · 10 comments
Closed
5 of 6 tasks
Assignees
Labels
bug Something isn't working VSCode
Milestone

Comments

@sergey-s-betke
Copy link
Contributor

sergey-s-betke commented Mar 23, 2021

Требуемое поведение

Целесообразно восстановить проверку XML документов по DTD.

Текущее поведение

Получаем массу ошибок валидации плагином redhat.vscode-xml.

Возможное решение

Для плагина redhat.vscode-xml необходимо настроить определение положения DTD для валидации. Однако, не помогло. Нет актуальных DTD для текущей редакции схемы .odt, .ott. Только Relax NG схема.

  • исключить проверку исходных файлов документов по DTD:
    • убрать объявление DOCTYPE из исходных файлов
    • добавить исключение DOCTYPE из XML при распаковке файлов документов
    • добавить исключение DOCTYPE из XML при оптимизации файлов документов
  • добавить Relax NG схему
  • включить валидацию исходных файлов по Relax NG схеме
@sergey-s-betke sergey-s-betke added bug Something isn't working VSCode labels Mar 23, 2021
@sergey-s-betke sergey-s-betke self-assigned this Mar 23, 2021
@sergey-s-betke
Copy link
Contributor Author

<?xml version="1.0" encoding="UTF-8"?>
<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog">
	<public publicId="-//OpenOffice.org//DTD OfficeDocument 1.0//EN" uri="../tools/dtd/officedocument/1_0/office.dtd" />
	<uri name="urn:ietf:params:xml:ns:vcard-4.0" uri="../tools/xCard/xsd/xCard.xsd" />
</catalog>

@sergey-s-betke
Copy link
Contributor Author

Но плагин выдаёт кучу ошибок по файлам DTD. И структура XML файлов не соответствует DTD (видимо, DTD устарел).

@sergey-s-betke sergey-s-betke changed the title Ошибка проверки XML по DTD Ошибка проверки XML файлов документов по DTD Jul 17, 2021
@sergey-s-betke
Copy link
Contributor Author

Валидация по Relax NG схеме может быть выполнена с помощью Scholarly XML расширения.

@sergey-s-betke
Copy link
Contributor Author

До решения raffazizzi/vscode-sxml#15 можно при распаковке документов вставлять ссылку на relax NG схему, при сборке - удалять её. То ещё решение...

@sergey-s-betke
Copy link
Contributor Author

Не особо надеюсь на шансы дождаться обновления raffazizzi/vscode-sxml#15. Возможно, быстрее будет создать свой fork. Получение URL схемы достаточно хорошо локализовано в коде плагина. Поэтому добавить обработку конфигурации для получения URL схемы не должно быть особой проблемой.

@sergey-s-betke
Copy link
Contributor Author

Или добавить при распаковке и оптимизации правильную инструкцию препроцессора <?xml-model ... ?>, а при сборке убирать эти инструкции. Тоже вполне вариант.

@sergey-s-betke
Copy link
Contributor Author

@sergey-s-betke
Copy link
Contributor Author

Однако, при добавлении заголовка <?xml-model ?> плагин выдаёт ошибку при чтении схемы 'RNG schema is invalid'...

@sergey-s-betke
Copy link
Contributor Author

Итого, сегодня я raffazizzi/vscode-sxml не в состоянии обработать Relax NG схему документа. Нужно искать иное решение.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working VSCode
Projects
None yet
Development

No branches or pull requests

1 participant