|
варианты получения и работы с ДокументDOM на клиенте | ☑ | ||
|---|---|---|---|---|
|
0
novichok79
04.09.19
✎
12:13
|
Доброго времени суток, уважаемые специалисты 1С.
Есть список XSD-документов, ссылающихся друг на друга, в них не указан так любимый фабриками XDTO "targetNamespace". Я написал серверный модуль анализа и исправления файлов. Функция исправления ищет ссылки на вложенные в основной XSD-документы, превращает относительные пути в абсолютные, находит общий каталог у всех файлов, воссоздает иерархию во временном каталоге на сервере, кладет туда исправленные XSD-документы, затем создает фабрику XDTO из этих документов и кидает ее обратно. Когда файлы лежали на сервере в режиме теста, работали методы построителя DOM и выполнение XPath запросов. Но в идеальный мир вмешался случай в виде необходимости разбора данной схемы на клиенте. Варианты решения задачи: 1. Написать примитивный разбор XML через ЧтениеXML на клиенте, чтобы найти тэги "include" c путями к вложенным схемам. потом передать эту кучку файлов на сервер, на сервере построить иерархию, сохранить файлы, обработать их. 2. Написать непримитивный разбор XML с XPath выражениями и прочими плюшками, передавая текст файла XML на сервер, для дальнейшей обработки. Первый вариант предпочтительнее, ибо происходит одна передача кучи файлов на сервер. На стороне сервера получаем хранилищезначений с двоичными данными исправленного XSD файла и запись этого дела в реквизит Объекта справочника. А как считаете вы? Может быть есть более элегантное решение? Подскажите пожалуйста. Заранее благодарю за помощь. |
|||
|
1
Сияющий в темноте
04.09.19
✎
12:22
|
если файлы небольшие,а результат нужен на сервере,то передавать их туда,а там уже обрабатывать.
|
|||
|
2
novichok79
04.09.19
✎
12:26
|
(1) в сумме, 12 рабочих XSD файлов дают 478 кб.
|
|||
|
3
Вафель
04.09.19
✎
12:41
|
и что это так сложно по сети прогнать?
|
|||
|
4
novichok79
04.09.19
✎
12:45
|
(3) это сейчас такой размер, но ведь заказчику могут прислать громадный XSD. ну и чтобы оное гонять по сети, для начала надо знать, какие именно файлы нужны, а для этого все равно нужен предварительный разбор XML перед отправкой. с сервера я могу вернуть фабрику XDTO без возможности сохранения в конечный файл XML (ибо метод Записать() серверный согласно СП), такая фабрика на**уй не нужна на клиенте, поэтому и предпочтительнее 1-й вариант.
|
| Форум | Правила | Описание | Секции | Поиск |