|
|
|
XSD: зависимые ограничения
|
|||
|---|---|---|---|
|
#18+
Добрый день! Например есть простой XML Код: plaintext 1. 2. 3. 4. 5. и схема для его проверки Код: plaintext 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. Посоветуйте, пожалуйста, как заставить схему накладывать ограничение на элемент "value" в зависимости от выбранного значения элемента "param" т.е. если param = "Неделя", то допустимые значения value "Понедельник", "Вторник", "Среда" и т.д. а если param = "Месяц", то допустимые значения value из другого списка - "Январь", "Февраль", "Март" и т.д. С уважением, Max ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2008, 11:07 |
|
||
|
XSD: зависимые ограничения
|
|||
|---|---|---|---|
|
#18+
сделать 6 соотв. simpleType'ов и попарно их сгруппировать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2008, 14:08 |
|
||
|
XSD: зависимые ограничения
|
|||
|---|---|---|---|
|
#18+
то есть 2 простых типа для value ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2008, 14:10 |
|
||
|
XSD: зависимые ограничения
|
|||
|---|---|---|---|
|
#18+
uncle_maxПосоветуйте, пожалуйста, как заставить схему накладывать ограничение на элемент "value" в зависимости от выбранного значения элемента "param" т.е. если param = "Неделя", то допустимые значения value "Понедельник", "Вторник", "Среда" и т.д. а если param = "Месяц", то допустимые значения value из другого списка - "Январь", "Февраль", "Март" и т.д. Сам долго над этим бился - ответ никак. Объяснение примерно такое В XSD тип привязывается к имени элемента и с конкретным значением никак не связян. Т.е. для данного контекста у элементов с одним и тем-же именем может быть только один тип. Отсюда явное решение - чтобы такое работало должно выполняться одно из двух условий 1) у элементов разные имена 2) у элементов разный контекст ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2008, 20:14 |
|
||
|
XSD: зависимые ограничения
|
|||
|---|---|---|---|
|
#18+
то есть вот так нельзя? Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2008, 20:19 |
|
||
|
XSD: зависимые ограничения
|
|||
|---|---|---|---|
|
#18+
Конечно нет. Провалидируй схему и получи пинок от парсера Он тебе скажет, что он не телепат и не в состоянии в XML определить какой param ты хотел использовать Еще раз связь здесь name => type => value и никак иначе С уважением, Vasilisk ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2008, 20:24 |
|
||
|
XSD: зависимые ограничения
|
|||
|---|---|---|---|
|
#18+
Всем большое спасибо за ответы. Жаль, конечно, что нельзя, но все равно еще повоюю. Max ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2008, 03:33 |
|
||
|
XSD: зависимые ограничения
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_Он тебе скажет, что он не телепат и не в состоянии в XML определить какой param ты хотел использоватьстранно… choose же стоит, зачем тут телепатия? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2008, 10:56 |
|
||
|
XSD: зависимые ограничения
|
|||
|---|---|---|---|
|
#18+
Ну и что? choose говорит, что нужно использовать либо один элемент, либо другой. Он применяется к ЭЛЕМЕНТУ, а не к типу. Вот тебе пример Код: plaintext choose будет работать так Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. XML1 Код: plaintext Код: plaintext Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2008, 13:14 |
|
||
|
|

start [/forum/topic.php?fid=14&msg=35376887&tid=1333872]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
55ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
| others: | 13ms |
| total: | 151ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...