![]() |
|
Модераторы: diadiavova |
![]()
|
|
| Dims |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1016 Регистрация: 21.11.2006 Репутация: нет Всего: 11 |
У меня есть сложный тип DimensionType, который описывает измерение. DimensionType описывает шкалу (Scale), множитель (Factor) и роль (role). Шкала и множитель задаются соответствующими дочерними элементами, а роль задаётся атрибутом. Роль может принимать три возможных значения: X, P и B.
Теперь у меня есть сложный тип Affector3Params, который описывает параметры модели. По задаче, в этих параметрах обязательно должны быть описаны три измерения всех трёх возможных ролей. Я объявил, что Affector3Params обязательно должно содержать 3 элемента Dimension типа DimensionType, а вот как потребовать, чтобы среди этих трёх элементов обязательно бы встречались все три роли, я не знаю. Возможно ли запрограммировать такое ограничение? Или, быть может, следует иначе подойти к самой структуре? Вот файл:
|
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 8 Всего: 538 |
Можно потребовать, чтобы элементов было 3 (это ты и так уже сделал) и потребовать уникальности этого атрибута.
-------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| Dims |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1016 Регистрация: 21.11.2006 Репутация: нет Всего: 11 |
А как? :->
|
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 8 Всего: 538 |
Поиск рулит: Как сделать элемент XML schema уникальным?
-------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| Dims |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1016 Регистрация: 21.11.2006 Репутация: нет Всего: 11 |
Да я читал, но не врубаюсь.
Я пришёл к выводу, что нужно куда-то поместить элемент key? Но куда? Внутрь sequence? И что указать в selector и field? |
|||
|
||||
| Dims |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1016 Регистрация: 21.11.2006 Репутация: нет Всего: 11 |
Я написал вот так, правильно ли это:
Добавлено через 13 минут и 52 секунды Не работает :( Валидатор не находит ошибок если два раза P. |
|||
|
||||
| Dims |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1016 Регистрация: 21.11.2006 Репутация: нет Всего: 11 |
Вот такой файл успешно проходит валидацию, хотя не должен:
|
|||
|
||||
| Dims |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1016 Регистрация: 21.11.2006 Репутация: нет Всего: 11 |
Когда я переписал вот так, стало частично работать:
В этой ситуации выдаёт ошибку: Identity Constraint error (cvc-identity-constraint.4.2.1): element "Dimension" has a key with no value. [18] То есть, как я понимаю, она поняла, к какому элементу относится требование, но не поняла, к какому полю. Как-то я неправильно путь к атрибуту указываю... Добавлено через 2 минуты и 11 секунд Хм... Когда я переписал вот так, то снова перестало работать:
Добавлено через 2 минуты и 32 секунды (то есть, проходит валидацию, хотя не должно) |
||||
|
|||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 8 Всего: 538 |
Дай полную схему без уникальности и пример XML, а то сейчас тут какие-то куски схемы, сиди и гадай по ним.
-------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| Dims |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1016 Регистрация: 21.11.2006 Репутация: нет Всего: 11 |
Вот так сейчас выглядит схема:
Добавлено через 1 минуту и 19 секунд А вот так выглядит файл, который проходит валидацию, но который, по моему мнению, не должен:
Добавлено через 3 минуты и 19 секунд И такой теоретический вопрос: зачем внутри тега key требуется параметр selector? Для меня, по аналогии с СУБД, это не совсем понятно. Получается, ключ находится внутри одной таблицы, а ограничение может накладывать на другую. Зачем это нужно? |
||||
|
|||||
| Dims |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1016 Регистрация: 21.11.2006 Репутация: нет Всего: 11 |
Нижеследующий код заработал. Получается, что ключ нельзя присвоить классу, а можно объявить только там, где класс используется, то есть, в другом месте с тем же классом ключа может и не быть?
|
|||
|
||||
![]()
|
| Правила форума "XML/XSLT" | |
|
|
Прежде чем опубликовать вопрос, попробуйте воспользоваться поиском - возможно тема уже поднималась. Также рекомендуем Вам зайти в раздел FAQ ,раздел дополняется и, возможно, там вы увидите готовое решение. Для ответов на часто задаваемые вопросы существует FAQ раздела. Новости можно публиковать в разделе новостей. Для статей так же есть специальный раздел Желаем удачи в Вашем деле! Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, diadiavova. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | XML, XSL | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |