Гость
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / XSD -> XML приказ ростехнадзора 339 / 17 сообщений из 17, страница 1 из 1
24.03.2015, 11:51
    #38914684
Plus1
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XSD -> XML приказ ростехнадзора 339
Всем доброго дня!

Подскажите пожалуйста, как получить таблицу из предлагаемой в приказе xsd, чтобы эту таблицу можно было заполнить и экспортировать в формате xml? Когда перетаскиваешь всю схему в ячейки, ее нельзя экспортировать, при проверке выдает ошибки:
-список списков,
-ненормированные данные,
-невозможно сохранить отношения сопоставленного элемента с другими элементами.

В справке рассмотрены примеры таких ошибок, но вариантов решений немного. Мне не стало понятно, как избавится от ошибок, не меняя схему.

А может кто-то уже разбирался с этим приказом и на самом деле нужно делать все как-то совсем по другому?
...
Рейтинг: 0 / 0
24.03.2015, 12:32
    #38914795
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XSD -> XML приказ ростехнадзора 339
Никак не получить, это дерево, оно не может быть приведено к списку.

Результат должен быть примерно таким:

Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
<?xml version="1.0" encoding="utf-8"?>
<Data xmlns="http://smev.gosuslugi.ru/request/fed/rev120528">
  <FormData>
    <dOChangeIPData xmlns="">
      <terOrgNum>3</terOrgNum>
      <ipPerson>
        <firstName>asd</firstName>
        <lastName>dsfs</lastName>
        <inn>dsf</inn>
        <ogrnip>dsf</ogrnip>
      </ipPerson>
      <eResponse>1</eResponse>
      <postResponse>1</postResponse>
      <dangerObjects>
        <doTypeName>12</doTypeName>
        <doTypeNameDetail>wer</doTypeNameDetail>
        <doAddress>
          <postIndex>123456</postIndex>
          <fullAddress>sdfsdfsdf</fullAddress>
          <kladr>dfgdf</kladr>
        </doAddress>
        <okatoCode>sdfsdf</okatoCode>
        <dangerClass>2</dangerClass>
        <activityTypeCodes>345</activityTypeCodes>
        <activityTypeCodes>34532</activityTypeCodes>
        <activityTypeCodes>7832</activityTypeCodes>
        <dangerTypeNum>234</dangerTypeNum>
        <commissioningYear>1010</commissioningYear>

      </dangerObjects>
    </dOChangeIPData>
  </FormData>
</Data>

Эту ерунду заполнить руками быстрее, чем писать какой-то софт для нее. В вижуал студии открываешь все три xsd, создаешь xml-файл с текстом <Data xmlns=" http://smev.gosuslugi.ru/request/fed/rev120528">, а дальше студия сама будет предлагать подходящие теги.

Если нужно программное решение, то из этих схем можно сгенерировать c# или vb-классы, собрать из них объект аналогичной структуры и сериализовать его в этот xml.
...
Рейтинг: 0 / 0
24.03.2015, 14:06
    #38914976
Plus1
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XSD -> XML приказ ростехнадзора 339
Antonariy,

Спасибо за оперативный и подробный ответ!

Попробовала Ваш 1ый совет, действительно удобно и теперь процесс ручного заполнения кажется не таким устрашающим:)

Но все же данных очень много и в итоге все равно нужно будет делать программу (даже если сейчас и отдадим готовую xml), потому что, как я поняла, отчетность эта будет каждый год.
Со 2ым советом пока менее понятно как реализовать, т.к. с vb раньше плотно не работала, но за идею спасибо, буду разбираться!
...
Рейтинг: 0 / 0
24.03.2015, 15:25
    #38915106
_Vasilisk_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XSD -> XML приказ ростехнадзора 339
AntonariyНикак не получить, это дерево, оно не может быть приведено к списку.Да ладно. Скажи еще, что реляционных СУБД не существует :)
Plus1с vb раньше плотно не работалаМожет быть Вам легче будет экспортировать данные в любую XML структуру, а потом применить XSL преобразование?
...
Рейтинг: 0 / 0
24.03.2015, 22:24
    #38915681
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XSD -> XML приказ ростехнадзора 339
_Vasilisk_AntonariyНикак не получить, это дерево, оно не может быть приведено к списку.Да ладно. Скажи еще, что реляционных СУБД не существует :)это означает, что нужно раскладывать на несколько таблиц. а зачем?
...
Рейтинг: 0 / 0
24.03.2015, 22:27
    #38915685
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XSD -> XML приказ ростехнадзора 339
Plus1Со 2ым советом пока менее понятно как реализовать, т.к. с vb раньше плотно не работала, но за идею спасибо, буду разбираться!классы генерировать можно этой утилитой: https://msdn.microsoft.com/en-us/library/x6c1kb0s(v=vs.110).aspx
...
Рейтинг: 0 / 0
25.03.2015, 15:11
    #38916607
Plus1
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XSD -> XML приказ ростехнадзора 339
AntonariyЕсли нужно программное решение, то из этих схем можно сгенерировать c# или vb-классы, собрать из них объект аналогичной структуры и сериализовать его в этот xml.

Спасибо за идею с классами! пока удалось сгенерить java класс с помощью jaxb:) осталось разобраться как наполнить его данными и сериализовать затем в xml.

_Vasilisk_Может быть Вам легче будет экспортировать данные в любую XML структуру, а потом применить XSL преобразование?

Спасибо за идею! Почитала про XSL преобразование, но пока не поняла как можно на выходе с помощью него получить нужную xml в соответствии с заявленной xsd...

Вообщем, пока изучаю все предложенные направления, спасибо, что подкидываете идеи! Дело сдвинулось с мертвой точки:)
...
Рейтинг: 0 / 0
25.03.2015, 15:19
    #38916623
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XSD -> XML приказ ростехнадзора 339
Plus1Но все же данных очень много и в итоге все равно нужно будет делать программу (даже если сейчас и отдадим готовую xml), потому что, как я поняла, отчетность эта будет каждый год.Если эти данные существуют в электронном виде (в бд или еще каком), то создание программы имеет смысл, но если их все равно нужно вбивать руками, то через программу это будет почти наверняка медленнее, чем прямо в xml.
...
Рейтинг: 0 / 0
25.03.2015, 15:54
    #38916690
_Vasilisk_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XSD -> XML приказ ростехнадзора 339
Plus1но пока не поняла как можно на выходе с помощью него получить нужную xml в соответствии с заявленной xsd...Ну так написать нужное преобразование. Еще раз XSL актуально, только если у Вас данные уже находятся в XML и Вам нужно изменить его структуру и/или содержание. В остальных случаях - он Вам не нужен
...
Рейтинг: 0 / 0
30.03.2015, 09:13
    #38920672
Plus1
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XSD -> XML приказ ростехнадзора 339
_Vasilisk_Ну так написать нужное преобразование. Еще раз XSL актуально, только если у Вас данные уже находятся в XML и Вам нужно изменить его структуру и/или содержание. В остальных случаях - он Вам не нужен

Вот об этом я и прочитала, я подумала вы поняли мою ситуацию. А данные да, еще только предстоит засунуть в xml :)

AntonariyЕсли эти данные существуют в электронном виде (в бд или еще каком), то создание программы имеет смысл, но если их все равно нужно вбивать руками, то через программу это будет почти наверняка медленнее, чем прямо в xml.

Существуют, отчет этот всегда велся в екселе (правда немного не так как теперь нужно). А теперь вот требуется еще и в xml предоставлять. Сериализовать кстати оказалось довольно просто с помощью библиотеки xstream, осталось собрать классы в правильную структуру...
...
Рейтинг: 0 / 0
30.03.2015, 13:20
    #38921089
_Vasilisk_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XSD -> XML приказ ростехнадзора 339
Plus1отчет этот всегда велся в екселеТогда самое простое для Вас - это сохранить Excel документ как XML (Save As ... XML), а потом натравить на него XSL.

Вернее, так делал я. А насколько Вам проще с нуля разобраться с XSL - это вопрос
...
Рейтинг: 0 / 0
01.04.2015, 09:30
    #38923348
Plus1
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XSD -> XML приказ ростехнадзора 339
_Vasilisk_Тогда самое простое для Вас - это сохранить Excel документ как XML (Save As ... XML), а потом натравить на него XSL.


У меня есть просто отчет, обычная таблица в екселе... я попробовала сохранить этот Exel документ как xml, выдало ошибку "Невозможно сохранить xml данные, так как книга не содержит сопоставлений XML." До этого пробовала с помощью конвертера сделать xml, xml получилась, но там был какой-то ужас :) преобразовать тот ужас с помощью xls пока кажется невыполнимым...

Или я где-то туплю и Вы мне вообще о другом ?

_Vasilisk_А насколько Вам проще с нуля разобраться с XSL - это вопрос

быстрее наверное классы будет собрать, хотя там мне тоже пока не нравится то, что получается:(
...
Рейтинг: 0 / 0
01.04.2015, 10:14
    #38923414
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XSD -> XML приказ ростехнадзора 339
Plus1У меня есть просто отчет, обычная таблица в екселе... я попробовала сохранить этот Exel документ как xml, выдало ошибку "Невозможно сохранить xml данные, так как книга не содержит сопоставлений XML."Это не тот формат, _Vasilisk_ имел ввиду "таблица xml 2003". Для xsl-джедая, знакомого с этим форматом экселя, преобразовать ее в нужный документ действительно проще.
...
Рейтинг: 0 / 0
01.04.2015, 14:10
    #38923820
Plus1
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XSD -> XML приказ ростехнадзора 339
Antonariy Для xsl-джедая:D Ясно, спасибо, что прояснили.

Тоды не отвлекаюсь от классов.
...
Рейтинг: 0 / 0
01.04.2015, 15:27
    #38923953
_Vasilisk_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XSD -> XML приказ ростехнадзора 339
AntonariyДля xsl-джедая, знакомого с этим форматом экселяДа ладно. Я не знаю, что сохраняет Excel, но формат OpenOffice самоочевиден. Я не думаю, что у Майкрософта, что-то принципиально сложнее
...
Рейтинг: 0 / 0
18.05.2015, 13:05
    #38961482
Texnix
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XSD -> XML приказ ростехнадзора 339
У меня та же задача. Есть delphi xe7, там существует xml mapper, есть так же эксель файл, с неструктурированным планом закупок.
Собственно вопрос, если я закину в скуэль сервер данные из экселя, затем подключу в делфи к филдам все нужные поля, возможно будет при помощи xml mapper, используя схему, предоставляемую госзакупками, сгенерировать xml- файл ?
...
Рейтинг: 0 / 0
21.05.2015, 14:02
    #38965254
Texnix
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XSD -> XML приказ ростехнадзора 339
Сделал по-другому, написал транслятор из exel в xml используя delphi XML Data Binding Wizard.
...
Рейтинг: 0 / 0
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / XSD -> XML приказ ростехнадзора 339 / 17 сообщений из 17, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]