Использование альтернативных имён в XML
Вам может потребоваться преобразовать имена набора данных, временных таблиц или полей при их записи в XML-документ. Особенно если их имена являются ключевыми словами или содержат запрещённые символы для имён ABL. Поэтому вам нужен простой способ решить эту задачу.
ABL предоставляет возможность присвоения альтернативных имён элементам ABL, которые используются при сериализации данных и схемы ABL в XML.
Параметр XML-NODE-NAME указывает имя XML-элемента или атрибута, представляющего набор данных, временную таблицу, буфер временной таблицы или поля в XML-документе. Однако этот параметр взаимодействует с общим параметром сериализации SERIALIZE-NAME. Поэтому вы должны понять это взаимодействие, прежде чем использовать любой из них.
Назначение XML-NODE-NAME пересекается с атрибутом SERIALIZE-NAME. Из-за этого атрибуты взаимодействуют следующим образом:
- Методы READ-XML( ) и WRITE-XML( ) всегда используют значение атрибута XML-NODE-NAME. Если вы задаёте значение для атрибута XML-NODE-NAME, то методы сохраняют это значение независимо от того, как вы задаёте атрибут SERIALIZE-NAME.
- Если вы не задали XML-NODE-NAME, но установили SERIALIZE-NAME, то AVM установит XML-NODE-NAME равным SERIALIZE-NAME.
- Если оба атрибута не будут заданы, то AVM присвоит им оригинальное имя ABL-объекта.
Следующие операторы могут использовать атрибут XML-NODE-NAME:
- DEFINE BUFFER
- DEFINE DATASET
- DEFINE TEMP-TABLE
- Опция FIELD в DEFINE TEMP-TABLE
Параметр XML-NODE-NAME так же может быть использован для метода WRITE-XMLSCHEMA для записи схемы XML в файл.