Как получить информацию для собственного xml-редактора из соответствующего xsd'S? - PullRequest
0 голосов
/ 28 октября 2019

Я хотел бы написать xml-редактор на java и хотел бы получить информацию для xml-элемента, такую ​​как возможные дочерние элементы, документацию, используя соответствующий xsd. Для проверки я могу использовать этот простой фрагмент кода, но я не думаю, что это поможет мне получить информацию для одного конкретного элемента в XML:

 StreamSource[] schemaDocuments = { new StreamSource("layout.xsd") };
        /* created by your application */;
        Source instanceDocument = new StreamSource("BEW.xml");
        /* created by your application */;

        SchemaFactory sf = SchemaFactory.newInstance(
                "http://www.w3.org/2001/XMLSchema");
        Schema s = sf.newSchema(schemaDocuments);

        Validator v = s.newValidator();

        v.validate(instanceDocument);

1 Ответ

0 голосов
/ 02 ноября 2019

Проект EMF - это инфраструктура моделирования и средство генерации кода для создания инструментов и других приложений на основе структурированной модели данных.

https://www.eclipse.org/modeling/emf/

См. http://blog.xequtor.com/post/2017/06/12/emf-create-ecore-model-from-xsd-file для примера проекта.

Я видел, что он очень успешно использовался для создания редакторов для различных сложных моделей данных, иЯ написал код для загрузки XSD и перебора их содержимого с использованием EMF. Его реализация стандарта XSD очень тщательна - он загрузит xs: includes и xs: import и проверит XSD на соответствие правилам спецификации W3C.

...