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

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

Ответ
 
Опции темы Опции просмотра
Старый 28.08.2007, 13:17   #1
Просто Зануда
 
Аватар для tadpole
 
Сообщений: 7,099
Благодарности: 4,110 в 1,743 сообщениях Поиск благодарностей tadpole
Вопрос Переопределние типа в XSD

Софорумчане, а среди вас нет специалистов по XML Schema? Есть вопрос про наследование и переодпределение типа элементов.
__________________
The misuse of language induces evil in the soul © Socrates

tadpole вне форума   Ответить с цитированием

Зарегистрируйтесь или войдите под своим именем, чтобы спрятать этот рекламный блок
Старый 13.09.2007, 13:32   #2
Просто Зануда
 
Аватар для tadpole
 
Сообщений: 7,099
Благодарности: 4,110 в 1,743 сообщениях Поиск благодарностей tadpole
По умолчанию Re: Переопределние типа в XSD

Забыл добавить - консультация может быть оплачена.
__________________
The misuse of language induces evil in the soul © Socrates

tadpole вне форума   Ответить с цитированием
Старый 17.09.2007, 09:54   #3
Заслуженный Участник
 
Сообщений: 1,228
Благодарности: 438 в 286 сообщениях Поиск благодарностей Kot
Смущение Re: Переопределние типа в XSD

Меня трудно назвать экспертом по схеме, но определенный опыт имеетсо.
Можно услышать вопрос если он еще актуален? Желательно четко, а также с подробностями для чего именно (просто валидация или биндинг). Чем смогу тем помогу.
Kot вне форума   Ответить с цитированием
Старый 17.09.2007, 11:11   #4
Просто Зануда
 
Аватар для tadpole
 
Сообщений: 7,099
Благодарности: 4,110 в 1,743 сообщениях Поиск благодарностей tadpole
По умолчанию Re: Переопределние типа в XSD

Для начала очень простой пример:



Вопрос: как должна выглядеть схема?
__________________
The misuse of language induces evil in the soul © Socrates

tadpole вне форума   Ответить с цитированием
Старый 18.09.2007, 09:00   #5
Заслуженный Участник
 
Сообщений: 1,228
Благодарности: 438 в 286 сообщениях Поиск благодарностей Kot
Вопрос Re: Переопределние типа в XSD

Если я правильно понял, то задача все-таки ближе к биндингу. Не совсем понятен смысл "для начала"... Надеюсь это не экзамен.
Если честно, то этот вопрос представляет собой чисто академический интерес. Забегая наперед, могу сказать, что заниматься строгим натягиванием ХМЛя на ООП (судя по диаграмме классовименно это вы пытаетесь делать) определенно бессмысленно. Но вы сами в этом убедитесь позднее.
Во-первых, я бы убрал слово "должна" из постановки задачи. Вариантов представления этой диаграммы в ХМЛь - море. Я приведу только часть из них, самые простые.
Небольшое теоретическое отступление: наследование (derivation) в ХМЛе имеет несколько другой смысл, чем в ООП. Здесь можно либо расширять (extension) либо ограничивать (restriction). Но это касается только объявления типов. Если учесть их использование, то количество вариантов становится втрое больше. Это классический choice, element и type substitution. Примеры прилагаются. Я ограничился только 2 наследниками для простоты.
Простите, но у вас будет какой-то конкретный вопрос или продолжим изыскания на тему?
Вложения
Тип файла: zip xml-samples.zip (3.8 Кбайт, 17 просмотров)
Kot вне форума   Ответить с цитированием
Старый 18.09.2007, 11:11   #6
Просто Зануда
 
Аватар для tadpole
 
Сообщений: 7,099
Благодарности: 4,110 в 1,743 сообщениях Поиск благодарностей tadpole
По умолчанию Re: Переопределние типа в XSD

Kot, спасибо за примеры. Очевидно, что скромничаете вы напрасно и предмет понимаете достаточно хорошо

Однако, к сожалению, все приведённые примеры уже были испробованы и не являются удовлетворительными, так как не позволяют одновременно добавлять новые элементы в "дочерний" тип и переопределять тип элементов из "родительского" типа. Как вы правильно заметили, наследование в XSD "имеет несколько другой смысл", то есть его там как такового нет, что и является причиной нашей сегодняшней головной боли.

Приведённый пример вовсе не академичен, взят из реального проекта, в котором я сейчас участвую. Он достаточно прост, но демонстрирует проблему с переопределением типа. В случае с многоуровневыми иерархиями классов, которые состоят в разнообразных отношениях между собой и с другими классами, всё становится ещё интереснее.

Цели "строго натянуть" XML на ООП нет, но есть необходимость формализовать преобразование UML class diagrams в XSD, сумев передать смысл модели. Пока достаточно удачно это получается, за исключением нахождения красивого решения для переопределения типов. Так как я далеко не специалист по XSD, то вот и пытаюсь по форумам и знакомым найти такового чтобы спросить совета.

Ещё раз спасибо за помощь.
__________________
The misuse of language induces evil in the soul © Socrates

tadpole вне форума   Ответить с цитированием
Ответ



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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщ.
Типа Расследование Wolf Общие темы 2 22.10.2005 13:43
Типа оптическая иллюзия Arte Само приползло 6 11.07.2005 23:10
СПАМ типа от Telestunt nexus Общие темы 7 23.06.2005 17:19
по мотивам ЖЖ (сплошной ненорматив типа ;) 18+ only Arte Само приползло 0 10.06.2005 17:01


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


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