Имя: Пароль:
1C
1С v8
Программное редактирование большой, но некорректной XSD схемы
0 novichok79
 
25.08.19
16:23
Добрый день, уважаемые коллеги. Имеется большой файл XSD с кучей вложенных схем и неуказанным targetnamespace. Надоело править ручками. Как средствами 1с можно подкорректировать XSD файл? У меня 2 варианта - ручное считывание через ЧтениеXML и замена нужных типов и ограничений или считывание через поток кусками и анализ тегов вручную. Какой способ быстрее, менее затратнее? Заранее благодарю за помощь.
1 MaxS
 
25.08.19
16:50
пмсм. Быстрее тот способ, которым Вы умеете пользоваться.
2 novichok79
 
25.08.19
18:21
(1) ну это ответ в стиле - происходит то, что случается, случается то, что происходит
3 ВикторП
 
25.08.19
18:44
некорректная- это не импортируется в XDTO?
4 novichok79
 
25.08.19
20:13
(3) да, targetnamespace не указан.
5 novichok79
 
26.08.19
16:04
сделал через загрузку схемы в DOM документ и анализ документа выражениями XPath. всем спасибо.
6 Жан Пердежон
 
26.08.19
16:49
XSLT
7 Cyberhawk
 
26.08.19
16:53
(6) Так и до незаменимого Васи недалеко :)
8 Вафель
 
26.08.19
16:54
(7) тогда лучше через регэксп
9 Cyberhawk
 
26.08.19
16:54
(8) Через СОМ фу
10 Fragster
 
гуру
26.08.19
16:55
(7) xslt, кстати, пушка. Я с помощью него переделывал файлы для выгрузки-загрузки XML от одной базы к другой похожей. Переставлял реквизиты, добавлял, удалял...
11 novichok79
 
26.08.19
16:59
(6) XSLT - ну вот я написал шаблон преобразования, а дальше? чем его в 1С заюзать?
12 novichok79
 
26.08.19
17:00
(8) xpath разве не аналог regexp для xml?
13 novichok79
 
26.08.19
17:02
14 Жан Пердежон
 
26.08.19
19:23
(11)
Преобразование = Новый ПреобразованиеXSL;
Преобразование.ЗагрузитьИзФайла("c:/transforms/transform.xsl");
Результат = Преобразование.ПреобразоватьИзФайла("c:/docs/report.xml");

Преобразование = Новый ПреобразованиеXSL;
Преобразование.ЗагрузитьИзСтроки(СтрXSL);
Результат = Преобразование.ПреобразоватьИзСтроки(СтрXML);
15 novichok79
 
27.08.19
13:21
(14) интересно, а по скорости работы как оно?