|
Непонятки с префиксами и пространствами имён в схеме
|
|||
---|---|---|---|
#18+
Добрый день. Есть xml-файл: Код: xml 1. 2. 3. 4. 5.
Составил для него схему: Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
Поверяю валидность вот здесь: http://www.freeformatter.com/xml-validator-xsd.html И валидатор орёт, что ему в схеме не нравится имя "cont:contract". Если убрать префикс, то всё нормально. Почему писать "cont:contract неправильно? Ведь я здесь же в схеме прописал xmlns:cont=" http://blablabla". ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2014, 17:58 |
|
Непонятки с префиксами и пространствами имён в схеме
|
|||
---|---|---|---|
#18+
Летучий Змей Код: xml 1.
Схема описывает идентификаторы, которые будут находиться в пространстве " http://blablabla" Летучий Змей Код: xml 1.
Если нужно будет сослаться на идентификаторы из пространства " http://blablabla" то в схеме можно будет использовать для этого алиас cont Летучий Змей Код: xml 1.
Здесь описывается элемент с именем cont:contract в пространстве имен " http://blablabla". Т.е. XML должен быть такого вида Код: xml 1.
или такого, что эквивалентно Код: xml 1.
но имя элемента не может содержать двоеточие, отсюда и ошибка валидатора Ваша ошибка в непонимании неймспейсов. Идея там такая: каждый элемент имеет имя (local-name) и принадлежит некому пространству имен (быть может - пустому). Пространство имен элемента определяется в таком порядке 1) префикс 2) явное указание через модификатор xmlns элемента 3) пространство имен родительского элемента. Префикс - это просто алиас пространства имен. Этот алиас валиден только в текущем документе Следующие записи полностью эквивалентны Код: xml 1.
Код: xml 1.
Код: xml 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2014, 18:52 |
|
Непонятки с префиксами и пространствами имён в схеме
|
|||
---|---|---|---|
#18+
Летучий Змей, в name указывается имя элемента. А префикс пространство имен не является частью имени. Отсюда и ошибка. Вот так нужно: Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2014, 18:59 |
|
Непонятки с префиксами и пространствами имён в схеме
|
|||
---|---|---|---|
#18+
bazileВот так нужно:Зачем вот это?bazile Код: xml 1.
Это лишнее ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2014, 19:01 |
|
Непонятки с префиксами и пространствами имён в схеме
|
|||
---|---|---|---|
#18+
Рекомендую всем заинтересованным Namespace Tutorial . Всё показано очень наглядно в цвете. Понятно даже без знания английского языка. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2014, 19:08 |
|
Непонятки с префиксами и пространствами имён в схеме
|
|||
---|---|---|---|
#18+
Новая проблема. Есть xml-файл: Код: xml 1. 2. 3. 4.
Схема: Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18.
Валидатор всё тот же - http://www.freeformatter.com/xml-validator-xsd.html В вышеизложенном виде всё работает. Но если написать Код: xml 1. 2. 3.
начинаются вопли, что Invalid Content Was Found Starting With Element 'nsp1:inner'. One Of '{inner}' Is Expected. Что не так? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2014, 04:11 |
|
Непонятки с префиксами и пространствами имён в схеме
|
|||
---|---|---|---|
#18+
Летучий ЗмейЧто не так?Кривой валидатор. MSXML говорит, что XML валидный ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2014, 15:11 |
|
|
start [/forum/topic.php?fid=14&msg=38783568&tid=1332292]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
32ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
others: | 15ms |
total: | 146ms |
0 / 0 |