Запись XML из нескольких наборов данных
Мощные возможности ProDataSets приходят от способности собрать и представить данные от множественных источников. ProDataSet может включать данные из нескольких баз данных и внешних источников. Если вы объединяете данные из разных источников в один ProDataSet, то у вас могут быть разные временные таблицы с одинаковым именем. Но поскольку в одном ProDataSet не может быть двух временных таблиц с одинаковым именем, то их имена должны быть определены с идентификатором источника данных namespace.
При связывании временной таблицы или ProDataSet с пространством имён метод WRITE-XML автоматически записывает информацию о пространстве имён в XML-файл.
Существует два сценария, когда вы могли бы использовать пространства имён:
- Каждый источник данных использует одну и ту же схему, и важно знать, откуда взялись данные в объединённом ProDataSet.
- Каждый источник данных использует свою схему, и вы должны объединить данные в один ProDataSet.
Например, предположим, что ProDataSet собирает данные из трёх различных региональных отделений – Северо-Западного, Юго-Западного и Северо-Восточного. Данные из всех трёх отделений будут объединены и представлены одним или несколькими наборами данных. Однако данные из разных регионов будут иметь повторяющиеся имена временных таблиц и полей. Вы должны использовать различные источники данных, не только в ProDataSet, но и в XML-файле.
Чтобы указать пространство имён, вы определяете временные таблицы или ProDataSet с атрибутом NAMESPACE-URI, а также определяете префикс пространства имён (NAMESPACE-PREFIX). Префикс является важной частью пространства имён. Он используется для дифференциации элементов в XML-документе из различных схем.
Пример:
DEFINE TEMP-TABLE ttOrder NO-UNDO NAMESPACE-URI "urn:NWorders" NAMESPACE-PREFIX "NWorders" FIELD OrderNum AS INTEGER FIELD OrderDate AS DATE FIELD ShipDate AS DATE FIELD PromiseDate AS DATE FIELD OrderTotal AS DECIMAL INDEX OrderNumIdx IS UNIQUE PRIMARY OrderNum.