Я работаю над BridgeLink 4.6.0, и мне нужно проверить XML-файлы (CCD/CCDA) с использованием схем XSD.
Более ранние версии BridgeLink допускали доступ к Java внутри JavaScript (например, Java.type, Java.extend, LSResourceResolver и т. д.), но в версии 4.6.0 вся интеграция Java в преобразователи была отключена.
По этой причине мой предыдущий подход больше не работает.
Что я пробовал
Сохранил все файлы XSD (CDA.xsd, POCD_MT000040.xsd, datatypes.xsd и т. д.) в диспетчере поиска
Загрузил содержимое XSD через LookupHelper.get()
Попытка создать несколько StreamSource и установите systemId
Попытка использовать LSResourceResolver для разрешения импортированных XSD
Пример попытки:
var xsdText = LookupHelper.get("SchemaFiles", "CDA.xsd", ttl);
var reader = new java.io.StringReader(xsdText);
var src = new javax.xml.transform.stream.StreamSource(reader);
src.setSystemId("CDA.xsd");
Но BridgeLink 4.6 выдает такие ошибки, как:
"Java не определена"
"JavaPackage javax... не является функцией"
Кажется, доступ к Java полностью отключен в обработчике сценариев 4.6.0.
Моя проблема
Я хочу проверить XML с помощью XSD, хранящихся в диспетчере поиска, включая все зависимые импортированные XSD, без загрузки файлов из файловой системы.
Но:
Классы Java недоступны
Нет LSResourceResolver
Нет возможности загружать несколько StreamSources
Шаг «XML Validator» не существует в BridgeLink 4.6
Вопросы
Возможно ли в BridgeLink 4.6.0 проверять XML на соответствие XSD (с импортирует/включает) непосредственно в преобразователе?
Существует ли какой-либо поддерживаемый способ разрешения зависимых XSD, хранящихся в диспетчере поиска?
Официально ли BridgeLink удалил доступ к Java в версии 4.6, что сделало проверку XSD на основе Java невозможной внутри преобразователей JS?
Каков рекомендуемый альтернативный обходной путь?
Внешний API проверки XML?
Пользовательская Java плагин?
Объединить файл XSD?
Цель
Я хочу исключить загрузку и проверку XSD на основе файловой системы с использованием схем, хранящихся внутри BridgeLink.
Любое официальное руководство или рабочий пример для BridgeLink 4.6 было бы полезно.
Подробнее здесь: https://stackoverflow.com/questions/798 ... orts-using