|
Модераторы: diadiavova |
|
LostSoul2 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 24 Регистрация: 1.10.2014 Репутация: нет Всего: нет |
А что вообще делают изначально - схему, и под неё пишут xml-документ, или наоборот, схему делают для готового документа?
|
|||
|
||||
diadiavova |
|
|||
Доктор Зло(диагност, настоящий, с лицензией и полномочиями) Профиль Группа: Модератор Сообщений: 5820 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 22 Всего: 142 |
Так от задачи зависит. Если ты точно себе представляешь, как должен выглядеть документ, то тожешь начать со схемы. Сейчас многие программы включают инструменты для генерации схемы из документа. Это, как правило, не совсем то, что надо , но ее потом можно слегка подредактировать и все. Иногда бывает, что схема и вовсе не нужна.
-------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
|||
|
||||
LostSoul2 |
|
||||
Новичок Профиль Группа: Участник Сообщений: 24 Регистрация: 1.10.2014 Репутация: нет Всего: нет |
Добрый день.
Есть xml-файл:
Составил для него схему:
Поверяю валидность вот здесь: http://www.freeformatter.com/xml-validator-xsd.html И валидатор орёт, что ему в схеме не нравится имя "cont:contract". Если убрать префикс, то всё нормально. Почему писать "cont:contract неправильно? Ведь я здесь же в схеме прописал xmlns:cont="http://blablabla". Или это валидатор кривой? А если префикс действительно здесь не нужен, зачем тогда объявлять его в схеме через xmlns:cont="http://blablabla"? Или это объявление совсем для чего-то другого делается? Это сообщение отредактировал(а) LostSoul2 - 21.10.2014, 17:26 |
||||
|
|||||
diadiavova |
|
|||
Доктор Зло(диагност, настоящий, с лицензией и полномочиями) Профиль Группа: Модератор Сообщений: 5820 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 22 Всего: 142 |
Префикс не является частью имени, а имя не может содержать двоеточий. Префикс указывает на принадлежность элемента или атрибута некоторому пространству имен и в принципе является внутренним инструментом документа. Схема в принципе не может диктовать какие префиксы в документе можно использовать, а какие нет. Тот префикс, который ты объявил в схеме, используется для разруливания пространств внутри самой схемы и никак не влияет на то, какой префикс будет использоваться в целевом документе для указания на пространство имен, описанное в этой схеме.
-------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
|||
|
||||
LostSoul2 |
|
||||||
Новичок Профиль Группа: Участник Сообщений: 24 Регистрация: 1.10.2014 Репутация: нет Всего: нет |
Да, с этим, я кажется, разобрался. Спасибо. Но возникают новые траблы. Есть xml-файл:
Схема:
Валидатор всё тот же - http://www.freeformatter.com/xml-validator-xsd.html Впрочем, может, я зря всё время даю ссылку на валидатор? Может, они все одинаковые? В вышеизложенном виде всё работает. Но если написать
начинаются вопли, что Invalid Content Was Found Starting With Element 'nsp1:inner'. One Of '{inner}' Is Expected. Что здесь может быть не так? Во всех примерах xml-файлов, что я видел, преспокойно пишут префикс и во вложенных элементах. Хотя догадываюсь, что проблема в схеме, чего-то я там не указал... |
||||||
|
|||||||
diadiavova |
|
|||
Доктор Зло(диагност, настоящий, с лицензией и полномочиями) Профиль Группа: Модератор Сообщений: 5820 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 22 Всего: 142 |
Вот если бы ты еще догадался что именно, то было бы вообще замечательно. Я ведь об этом уже писал и причем не далее как в этой самой теме. http://forum.vingrad.ru/index.php?showtopi...t&p=2625240 -------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
|||
|
||||
LostSoul2 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 24 Регистрация: 1.10.2014 Репутация: нет Всего: нет |
Благодарю. Разобрался. Надо elementFormDefault="qualified" attributeFormDefault="qualified".
|
|||
|
||||
LostSoul2 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 24 Регистрация: 1.10.2014 Репутация: нет Всего: нет |
Добрый вечер.
Возник ещё вопрос: если в схеме не указано целевое пр-во имён, что это значит для xml-документа, соответствующего этой схеме (при условии, что документ валидный, т.е., действительно ей соответствует)? Что его элементы не должны принадлежать ни к каким пр-вам имён? Или что схема тупо описывает документ, не обращая внимания на пр-ва имён, к которым принадлежат элементы? Спасибо. Это сообщение отредактировал(а) LostSoul2 - 23.10.2014, 20:59 |
|||
|
||||
diadiavova |
|
|||
Доктор Зло(диагност, настоящий, с лицензией и полномочиями) Профиль Группа: Модератор Сообщений: 5820 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 22 Всего: 142 |
Элементы документа просто не будут сопоставлены схеме и вряд ли будет возможность объяснить валидатору на предмет чего выполняется проверка. Но если такая возможность всё же есть, то результат, видимо, от валидатора и будет зависеть.
-------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
|||
|
||||
LostSoul2 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 24 Регистрация: 1.10.2014 Репутация: нет Всего: нет |
Зачем же тогда вообще нужны такие схемы? Для чего придуман noNamespaceSchemaLocation? Для каких-то редких случаев?
Некоторые примеры, вот этот, в частности - http://wbex.ru/index.php/XML/XML_Schema/no...eSchemaLocation - заставляют думать, что элементы xml-документа для такой схемы именно не должны находиться в каких-либо пр-вах имён. Валидатор этот пример принял, после некоторых доделок, не связанных с пр-вами имён. Это сообщение отредактировал(а) LostSoul2 - 23.10.2014, 23:31 |
|||
|
||||
LostSoul2 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 24 Регистрация: 1.10.2014 Репутация: нет Всего: нет |
Добрый вечер.
Посоветуйте, пожалуйста, какую-нибудь программу-валидатор, в которой можно было бы использовать схемы, состоящие из нескольких xsd-файлов, соединённых посредством xsd:import. Не шарю в этих программах совсем, а то, что видел в интернете, онлайн или для скачивания, не позволяет работать со схемами из нескольких файлов. |
|||
|
||||
diadiavova |
|
|||
Доктор Зло(диагност, настоящий, с лицензией и полномочиями) Профиль Группа: Модератор Сообщений: 5820 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 22 Всего: 142 |
Я в закрепленной теме оставил ссылку на список программ. Поищи среди них.
http://forum.vingrad.ru/index.php?showtopi...t&p=2546715 -------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
|||
|
||||
Правила форума "XML/XSLT" | |
|
Прежде чем опубликовать вопрос, попробуйте воспользоваться поиском - возможно тема уже поднималась. Также рекомендуем Вам зайти в раздел FAQ ,раздел дополняется и, возможно, там вы увидите готовое решение. Для ответов на часто задаваемые вопросы существует FAQ раздела. Новости можно публиковать в разделе новостей. Для статей так же есть специальный раздел Желаем удачи в Вашем деле! Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, diadiavova. |
2 Пользователей читают эту тему (2 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | XML, XSL | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |