Разбор XML

Описание

Компонент разбирает таблицу данных из столбца входной таблицы, в ячейках которого содержатся документы XML в строковом виде. Все документы из столбца должны соответствовать подключенной XSD-схеме.

Порты

Вход

  •  — Подключение к источнику XSD-схемы — подключение настроенного ранее подключения к файлам XSD-схем.
  •  — Управляющие переменные (переменные), необязательный.
  •  — Источник данных — таблица данных, содержащая ячейки с документами XML.

Выход

  •  — Набор данных — таблица данных, разобранных из документов XML.

    • Поля, наличие которых задается пользователем:
      • Идентификатор поля — показывает, из какого именно документа была разобрана конкретная строка.
  •  — Ошибки и коды завершения — таблица логов разбора, имеет следующую структуру:

    • Обязательные поля:
      • Код завершения — содержит значения кодов разбора для каждого документа.
    • Поля, наличие которых задается пользователем:
      • Идентификатор поля — показывает, какому документу соответствует запись в таблице логов;
      • Описание ошибки — описание кодов завершения.

Мастер настройки

Шаг 1. Параметры разбора XML

  • Имя столбца — выбор столбца с документами XML.

  • Идентификация XML-документа — в этой области определяется наличие столбца идентификатора в разбираемом наборе данных и в таблице логов:

    • Один запрос на весь набор данных (используется по умолчанию) — входной набор данных содержит только один XML-документ. В выходной набор не добавляется столбец Идентификатор документа.
    • Один запрос в каждой строке входного набора — в выходной набор добавляется столбец Идентификатор документа, где в качестве значений указан номер строки входного набора, в которой содержится документ. Первой строке соответствует идентификатор 0.
    • Идентификатор запроса — поле входного набора — необходимо выбрать идентификатор из списка полей входного набора. В выходной набор данных добавляется столбец Идентификатор документа, который содержит значения поля, выбранного в качестве идентификатора.

Примечание: если входной набор данных пустой, то на выходе количество строк равно нулю при любых настройках параметра Идентификация XML-документа.

  • Останавливаться при ошибках — данный флаг отменит разбор при обнаружении первой ошибки.

  • Разэкранировать сущности XML — применяется в том случае, если документы разбираются из другого документа XML, в котором они были заэкранированы. При отсутствии данного флага разбор документа, начинающегося, например, с объявления <

<?xml version="1.0" encoding="UTF-8"?&gt

выдаст ошибку, а при наличии флага узел интерпретирует такое объявление как корректное:

<?xml version=«1.0» encoding=«UTF-8»?>
  • Выдавать описание кодов завершения — в таблицу с логами будет добавлен столбец "Описание ошибки".

Шаг 2. Импортируемые поля

  • Подключение — состояние подключения к XSD-схеме.

  • Корневой элемент — выбор корневого элемента XSD-схемы, в соответствии с которым данные будут разбираться. Ниже расположена область, отображающая иерархическую структуру выбранного корневого элемента — в ней следует отметить флагами элементы, которые сформируют поля разбираемой таблицы.

  • Временная зона по умолчанию — значения с типом Дата/Время преобразуются при разборе из XML по следующему алгоритму:

    • Если значение содержит указание временной зоны, оно преобразуется к текущей временной зоне сервера Loginom.
    • Если значение не содержит указание временной зоны, то:
      • если Временная зона по умолчанию задана, значение преобразуется к текущей временной зоне сервера Loginom в предположении, что имеет временную зону, указанную в параметре Временная зона по умолчанию.
      • если Временная зона по умолчанию не задана, значение остается без изменений.
  • Дублировать единичные значения — если в составе последовательности имеется единичный элемент и вложенная последовательность, значения единичного элемента будут продублированы для каждой строки, образованной из вложенной последовательности.

  • Проверять на строгое соответствие XSD — при установке флага производится валидация XML на строгое соответствие XSD схеме. В противном случае проверка производится в упрощенном, ускоренном режиме. Процесс проверки в упрощенном режиме происходит быстрее, однако не гарантирует корректный разбор данных из XML в случае, если имеются невыявленные ошибки валидации.

  • Генерировать составные метки полей — при наличии данного флага в каждой метке поля будет отражена иерархия относительно корневого элемента. Например, составная метка "ROOT|PERSON|ACCES-LEVEL" будет сформирована для поля разобранной таблицы, содержащего данные атрибута "ACCESS-LEVEL" элемента "PERSON" из корневого элемента "ROOT" документа. При отсутствии флага поле получит название "ACCESS-LEVEL".