VirtualIreland.ru - Виртуальная Ирландия
Вернуться   VirtualIreland.ru - Виртуальная Ирландия > Живем в Ирландии > IT и Связь

IT и Связь Обсуждение "айтишных" вопросов и средств связи

Ответ
 
Опции темы Опции просмотра
Старый 27.11.2008, 13:08   #1
Просто Зануда
 
Аватар для tadpole
 
Сообщений: 7,099
Благодарности: 4,110 в 1,743 сообщениях Поиск благодарностей tadpole
По умолчанию Reverse engineering XML schema from database

Никто не встречался с инструментарием, который мог бы посмотреть на колонку в табличке, в которой хранится XML, и, проанализировав значения в этой колонке для заданного подмножества записей, reverse engineer XML схему для хранимого XML'я?


Так же подойдёт инструмент, которому на вход можно дать набор XML -файлов, по которым он сделает XML схему.
__________________
The misuse of language induces evil in the soul © Socrates


Последний раз редактировалось tadpole, 27.11.2008 в 13:17. Причина: Добавлено сообщение
tadpole вне форума   Ответить с цитированием

Зарегистрируйтесь или войдите под своим именем, чтобы спрятать этот рекламный блок
Старый 27.11.2008, 13:56   #2
Заслуженный Участник
 
Аватар для Troll
 
Сообщений: 2,443
Благодарности: 838 в 444 сообщениях Поиск благодарностей Troll
По умолчанию Re: Reverse engineering XML schema from database

если я правильно понял задачу, то в общем случае это невозможно - в конкретных примерах XMLей могут содержаться не все возможные разновидности содержимого
Troll вне форума   Ответить с цитированием
Благодарность от:
KaraNagai (27.11.2008)
Старый 27.11.2008, 14:01   #3
Просто Зануда
 
Аватар для tadpole
 
Сообщений: 7,099
Благодарности: 4,110 в 1,743 сообщениях Поиск благодарностей tadpole
По умолчанию Re: Reverse engineering XML schema from database

Цитата:
Сообщение от Troll Посмотреть сообщение
если я правильно понял задачу, то в общем случае это невозможно - в конкретных примерах XMLей могут содержаться не все возможные разновидности содержимого
Я думаю, что даже в общем случае это возможно, так как в самом крайнем случае можно сделать по схеме на instance и засунуть их в choice группу.

Однако вопрос был другой - знает ли кто-то конкретный инструментарий, способный решить поставленную задачу?
__________________
The misuse of language induces evil in the soul © Socrates

tadpole вне форума   Ответить с цитированием
Старый 27.11.2008, 14:21   #4
Заслуженный Участник
 
Аватар для Zindur
 
Откуда: из роддома
Сообщений: 1,929
Благодарности: 1,861 в 509 сообщениях Поиск благодарностей Zindur
По умолчанию Re: Reverse engineering XML schema from database

тута SQL Forum быстрее ответ найдёшь
__________________
Перед тем как на кого то насрать, убедись что ты снял штаны
Zindur вне форума   Ответить с цитированием
Благодарность от:
tadpole (27.11.2008)
Старый 27.11.2008, 14:31   #5
Активный Участник
 
Аватар для vertex
 
Сообщений: 437
Благодарности: 152 в 75 сообщениях Поиск благодарностей vertex
По умолчанию Re: Reverse engineering XML schema from database

Цитата:
Сообщение от tadpole Посмотреть сообщение
Так же подойдёт инструмент, которому на вход можно дать набор XML -файлов, по которым он сделает XML схему.
Не думаю что такие существуют, т.к. содержимое/данные в XML-файле не подлежат простому анализу. Это по-сути, как в математике, задача вывода формулы прогрессии по начальному набору елементов, что в переводе на форматирование в XML просто невозможно.
vertex вне форума   Ответить с цитированием
Старый 27.11.2008, 14:34   #6
Просто Зануда
 
Аватар для tadpole
 
Сообщений: 7,099
Благодарности: 4,110 в 1,743 сообщениях Поиск благодарностей tadpole
По умолчанию Re: Reverse engineering XML schema from database

Цитата:
Сообщение от vertex Посмотреть сообщение
Не думаю что такие существуют, т.к. содержимое/данные в XML-файле не подлежат простому анализу. Это по-сути, как в математике, задача вывода формулы прогрессии по начальному набору елементов, что в переводе на форматирование в XML просто невозможно.
Мне не надо анализировать данные, только структуру вытащить.
__________________
The misuse of language induces evil in the soul © Socrates

tadpole вне форума   Ответить с цитированием
Старый 27.11.2008, 14:47   #7
My name is Exaybachay
 
Аватар для KaraNagai
 
Откуда: Дублин, Ирландия
Сообщений: 21,481
Благодарности: 12,152 в 4,948 сообщениях Поиск благодарностей KaraNagai
По умолчанию Re: Reverse engineering XML schema from database

я думаю не надо замыкаться на сиквеле. нужна любая софтина жрущая много хмл файлов и вырабатывающая _какую_то_ схему которой бы эти файлы соответствовали.

проблема конечно в том что такая схема будет не единсвтенной, и требования типа наименьшая, наибольшая и т.п. не подходят, потому что наименьшая тривиальна, а наибольшей не существует.

вообще задача теоретически интересна. особенно определение практически полезных критериев с помощью которых можно было из всех возможных схем выбрать наиболее полезную.

с решениями не сталкивался, впрочем.

KaraNagai добавил 27.11.2008 в 15:51
подумал - по-простому схема должна описывать лишь все возможные элементы и атрибуты, не накладывая ограничений на количество первых и значение последних в каждом контексте.

тулзу можно написать весьма просто, но вот вопрос будет ли такая схема полезна? и какова вероятность что во всех примерах просто не встретился какой-то элемент или атрибут, который встретится в новых примерах, к которым эта схема будет применяться?
__________________
митьки никого не хотят победить

Последний раз редактировалось KaraNagai, 27.11.2008 в 14:51. Причина: Добавлено сообщение
KaraNagai вне форума   Ответить с цитированием
Старый 27.11.2008, 14:57   #8
Просто Зануда
 
Аватар для tadpole
 
Сообщений: 7,099
Благодарности: 4,110 в 1,743 сообщениях Поиск благодарностей tadpole
По умолчанию Re: Reverse engineering XML schema from database

Антон, ты смотришь на задачу слишком широко

У меня же конкретная потребность. Есть БД, спроектированная Java-программистами, которые считают, что БД - это data dump. Поэтому они в таблицах определяют колонки ID, LAST_UPDATED и XML. И в последней прячут все атрибуты. Мне надо как-то просто и быстро понять, какие атрибуты бывают запрятаны в этом XML'е, какие там всегда есть, а какие не всегда и т.п. Очевидно, что для этого XML'я существует вполне определённая схема. Может, правда, не физически, но в головах этих гениев. К моему сожалению и их счастью, доступа к этим "разработчикам" у меня сейчас нет и в отведённых на анализ временных рамках не предвидется. Поэтому хочется готовый инструмент, который посмотрит на набор XML instances (в БД или не в БД - это уже не важно, как ты правильно заметил) и нарисует схему для данного набора.

tadpole добавил 27.11.2008 в 16:03
Цитата:
Сообщение от KaraNagai Посмотреть сообщение
тулзу можно написать весьма просто
Я могу потерпеть до обеда в будущий понедельник

Цитата:
Сообщение от KaraNagai Посмотреть сообщение
но вот вопрос будет ли такая схема полезна?
Для меня сейчас - очень.
__________________
The misuse of language induces evil in the soul © Socrates


Последний раз редактировалось tadpole, 27.11.2008 в 15:03. Причина: Добавлено сообщение
tadpole вне форума   Ответить с цитированием
Старый 27.11.2008, 15:18   #9
Спам-робот
 
Аватар для svu
 
Откуда: Ленинград --> Петербург --> Dublin --> Cork --> Castleisland --> Tralee
Сообщений: 20,480
Благодарности: 12,385 в 6,695 сообщениях Поиск благодарностей svu
По умолчанию Re: Reverse engineering XML schema from database

Сложность результата зависит от того, насколько детально хочется прорабатывать схему. Например, хочется ли распознавать типы данных - или достаточно все считать стрингами. Считать ли min/max - или все повторения тупо объявлять 1-unlimited. И т.д.

Каранагай прав, если не углубляться в подобные мелочи, оно пишется на той же жабке довольно шустро. Разумеется, к СУБД привязывать смысла нет. На входе текстовый стрим, на выходе стрим. Unix way...
svu вне форума   Ответить с цитированием
Старый 27.11.2008, 15:25   #10
Просто Зануда
 
Аватар для tadpole
 
Сообщений: 7,099
Благодарности: 4,110 в 1,743 сообщениях Поиск благодарностей tadpole
По умолчанию Re: Reverse engineering XML schema from database

Цитата:
Сообщение от svu Посмотреть сообщение
Сложность результата зависит от того, насколько детально хочется прорабатывать схему. Например, хочется ли распознавать типы данных - или достаточно все считать стрингами. Считать ли min/max - или все повторения тупо объявлять 1-unlimited. И т.д.
Тупо подойдёт, т.е. всё можно считать string'ами, min/max не определять и т.п. Хорошо бы проверять всегда ли элемент/атрибут присутствует, чтобы решить по поводу required.

Цитата:
Сообщение от svu Посмотреть сообщение
Каранагай прав, если не углубляться в подобные мелочи, оно пишется на той же жабке довольно шустро. Разумеется, к СУБД привязывать смысла нет. На входе текстовый стрим, на выходе стрим. Unix way...
До 11-ти утра в понедельник справишься?
__________________
The misuse of language induces evil in the soul © Socrates

tadpole вне форума   Ответить с цитированием
Старый 27.11.2008, 15:31   #11
Заслуженный Участник
 
Аватар для vova7777
 
Сообщений: 934
Благодарности: 616 в 285 сообщениях Поиск благодарностей vova7777
Отправить сообщение для  vova7777 с помощью ICQ
Счастье Re: Reverse engineering XML schema from database

Цитата:
Сообщение от tadpole Посмотреть сообщение
Так же подойдёт инструмент, которому на вход можно дать набор XML -файлов, по которым он сделает XML схему.
попробуйте Oxygen XML Editor
загрузите ваш XML и откройте его как XSD файл (XML Schema Definition (XSD))
vova7777 вне форума   Ответить с цитированием
Старый 27.11.2008, 15:36   #12
Просто Зануда
 
Аватар для tadpole
 
Сообщений: 7,099
Благодарности: 4,110 в 1,743 сообщениях Поиск благодарностей tadpole
По умолчанию Re: Reverse engineering XML schema from database

Цитата:
Сообщение от vova7777 Посмотреть сообщение
загрузите ваш XML и откройте его как XSD файл (XML Schema Definition (XSD))
А он умеет больше одного за раз? У меня десятки и сотни тысяч документов.
__________________
The misuse of language induces evil in the soul © Socrates

tadpole вне форума   Ответить с цитированием
Старый 27.11.2008, 15:38   #13
Спам-робот
 
Аватар для YellowMan
 
Откуда: Dublin<->Брянск
Сообщений: 21,268
Благодарности: 11,080 в 5,139 сообщениях Поиск благодарностей YellowMan
По умолчанию Re: Reverse engineering XML schema from database

OFFTOP: Ненавижу XML

А поле куда он слит - текстовое или XML типа? Может Оракл сам оттуда вытянет схему?
__________________
My Church is Black...
YellowMan вне форума   Ответить с цитированием

Зарегистрируйтесь или войдите под своим именем, чтобы спрятать этот рекламный блок
Старый 27.11.2008, 15:43   #14
Просто Зануда
 
Аватар для tadpole
 
Сообщений: 7,099
Благодарности: 4,110 в 1,743 сообщениях Поиск благодарностей tadpole
По умолчанию Re: Reverse engineering XML schema from database

Цитата:
Сообщение от YellowMan Посмотреть сообщение
OFFTOP: Ненавижу XML
Не, я XML люблю. Если правильно использован. А вот людей, которые допускают Java-программистов к проектированию реляционных БД, да, не очень люблю

Цитата:
Сообщение от YellowMan Посмотреть сообщение
А поле куда он слит - текстовое или XML типа? Может Оракл сам оттуда вытянет схему?
CLOB. Использовать XMLType с привязкой схем Java-программисты не догадались, к сожалению.
__________________
The misuse of language induces evil in the soul © Socrates

tadpole вне форума   Ответить с цитированием
Старый 27.11.2008, 16:18   #15
Пенсионер всея Ирландея
 
Аватар для magician
 
Откуда: StormWind city
Сообщений: 15,195
Благодарности: 9,619 в 3,376 сообщениях Поиск благодарностей magician
По умолчанию Re: Reverse engineering XML schema from database

Денис,
алгоритм примерно такой:

берешь первую строку за этолон и всасываешь в дом,
для каждой последующей строки сравниваешь дом с эталоном,
если в эталоне не существует - добавляешь в эталон,
как резульлтат получаешь xml содержаший все, что только возможно
ну и там рющечки всякие, типа длину сравнивать/увеличивать походу
тип & etc
__________________
невозможно испугать санкциями того, кому похер, так,что санкции против меня на этом форуме, мне феерически похер
magician вне форума   Ответить с цитированием
Ответ



Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать на сообщения
Вы не можете добавлять вложения
Вы не можете редактировать свои сообщения

BB код Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщ.
Looking for job from May (AutoCAD technician), engineering... inna65 Работа в Ирландии 6 28.03.2008 11:03
engineering (что выбрать) AlesKlar Образование 19 21.01.2008 18:28
Civil Engineering Reference dzher Само приползло 0 26.07.2007 12:16
Industrial Engineering. Какой ВУЗ выбрать? Agent Образование 6 04.03.2007 10:47
Buyer tries to reverse sale werewolf Автотранспорт 73 24.01.2007 17:30


Часовой пояс GMT, времени сейчас: 18:24.


vBulletin®, Copyright ©2000-2025, Jelsoft Enterprises Ltd., Русификация: zCarot, Vovan & Co
©2003-2025 VirtualIreland.ru - Виртуальная Ирландия