Аналіз XML-редакторів для внесення змін до Liquibase XML-Changelog файлів
Приклади коду для редагування
Liquibase XML-Changelog опису дата моделі
<?xml version="1.1" encoding="UTF-8" standalone="no"?>
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext"
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-4.5.xsd
http://www.liquibase.org/xml/ns/dbchangelog-ext https://nexus-public-mdtu-ddm-edp-cicd.apps.cicd2.mdtu-ddm.projects.epam.com/repository/extensions/com/epam/digital/data/platform/liquibase-ext-schema/latest/liquibase-ext-schema-latest.xsd">
<changeSet id="table koatuu" author="registry owner">
<createTable tableName="koatuu" ext:historyFlag="true">
<column name="koatuu_id" type="UUID" defaultValueComputed="uuid_generate_v4()">
<constraints nullable="false" primaryKey="true" primaryKeyName="pk_koatuu_id"/>
</column>
<column name="code" type="TEXT">
<constraints nullable="false"/>
</column>
<column name="level1" type="TEXT">
<constraints nullable="false"/>
</column>
<column name="level2" type="TEXT">
<constraints nullable="false"/>
</column>
<column name="type" type="TEXT"/>
<column name="category" type="CHAR(1)"/>
<column name="name" type="TEXT">
<constraints nullable="false"/>
</column>
</createTable>
</changeSet>
</databaseChangeLog>
Ключові вимоги до редактора
-
Підтримка автодоповнення
-
Синтаксичний аналіз
-
Підтримка валідації вибраної schema
-
Підтримка автодоповнення для вибраної schema
Аналіз на відповідність вимогам
Критерій / Функціональність | monaco-editor |
---|---|
Підтримка автодоповнення |
Так |
Підтримка валідації вибраної schema |
Базовий функціонал відсутній, але є можливість інтеграції з мовним сервером В якості мовного серверу використовується XML Language Server (LemMinX) |
Синтаксичний аналіз |
Базовий функціонал відсутній, але є можливість інтеграції з мовним сервером В якості мовного серверу використовується XML Language Server (LemMinX) |
Підтримка автодоповнення для вибраної schema |
Базовий функціонал відсутній, але є можливість інтеграції з мовним сервером В якості мовного серверу використовується XML Language Server (LemMinX) |
Підтримка можливості порівняння версій xml |
Так |
Підтримка коментарів |
Так |
Можливість згортання та розгортання блока з кодом |
Так |
Рішення за результатами аналізу
Рекомендовано використовувати бібліотеку monaco-editor, яка повністю покриває вимоги до XML редактора.
Підтримка темування та стилізації
Бібліотека monaco-editor надає доступні варіанти теми "vs-dark" | «light». Також ми можемо визначати власні теми за допомогою monaco.editor.defineTheme Приклад