6.2 HTML-визуализация документа из файла XML

Через запрос к API «Портала ГосЭДО» можно выполнить визуализацию файла цифрового документа XML в виде HTML-файла с помощью команды convertXmlToHtml.

Команда: convertXmlToHtml

Действие:

Визуализирует документ по шаблону НСИ из XML в файл HTML.

Параметры:

  • xml (файл) – цифровой документ в формате XML.

Возвращаемый результат:

Возвращает файл HTML, полученный в результате визуализации.

Пример реализации в JavaScript:

<!-- REST API Портала ГосЭДО: сервисы для цифровых документов -->
<!-- Для вызова используется REST API http(s)://server-url/#/SERVICE -->
<script>
    async function fetchAdapterService(myAction, myKey, myValue, saveAsFile, mySession = 'NONE') {
        // Пример адреса для обращения к сервисам, если Портал ГосЭДО доступен по IP 10.77.142.21:84
        RESTAPIURL = 'http://10.77.142.21:84/api/service';

        const formData = new FormData();
        formData.append('action', myAction);
        formData.append(myKey, myValue);

        if (mySession != 'NONE') formData.append('session_id', mySession);

        var object = {};
        formData.forEach(function(value, key) {
            object[key] = value;
        });

        const response = await fetch(RESTAPIURL, {
            method: 'POST',
            body: formData
        }).catch((error) = >{});

        if (response.status == 200) {
            //Присвоение в переменную file ответа
            let file = await response.blob();
            let link = document.createElement("a");
            link.href = window.URL.createObjectURL(file);
            link.download = saveAsFile;
            link.click();
        }
    }
</script>
<!---- REST API Портала ГосЭДО: визуализация документа из файла XML -->
<script type="text/javascript">
// функция, которая выполняется при нажатии кнопки «Визуализировать из файла в HTML»
    async
    function visualizeDocument() {
        //Получение в переменную myValue файла XML, выбранного в поле file
        myValue = document.querySelector('#file').files[0];
        //передача параметров в функцию fetchAdapterService:
        //Команда: convertXmlToHtml
        //Параметр: xml
        //Значение параметра: myValue (файл)
        fetchAdapterService('convertXmlToHtml', 'xml', myValue, 'document.html');
    }
</script>
<!--поле выбора файла-->
<input id="file" type="file">
<!-- кнопка для запуска HTML-визуализации выбранного XML-файла в поле file-->
<button onclick="visualizeDocument()">Визуализировать из файла в HTML</button>

С выполнением демонстрационного примера по описанной функции можно ознакомиться в разделе 4.6 Демонстрация получения HTML-визуализации из файла XML.

Последнее изменение: Wednesday, 26 June 2024, 14:19