Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > XML, XSL > Несколько вопросов по элементам XSD


Автор: Agares 28.2.2009, 00:49
есть схема:
Код

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="urn:ICECAT-interface" xmlns:b="urn:ICECAT-interface" elementFormDefault="unqualified" attributeFormDefault="unqualified">
...


Скажите пожалуйста, для чего нужны элементы targetNamespace, elementFormDefault и attributeFormDefault и на что они влияют? Нигде не могу найти инфу по этим элементам.

Автор: sir_nuf_nuf 28.2.2009, 20:31
targetNamespace  -  это пространство имен для типов, определяемых в XSD. 
Грубо говоря, XML который соответвует данной схеме, должен быть определен в пространстве имен targetNamespace.
Если в схеме определяется не весь XML документ, а только отдельные типы (структура отдельных элементов),
то в XML эти элементы должны быть объявлениы в targetNamespace

elementFormDefault и attributeFormDefault - указывают нужно ли в XML указывать пространства имен.
Т.е. если у вас в XML все элементы описаны в одной XSD (простой вариант) и вы не хотите указывать для них namespaceы,
то вы можежете указать elementFormDefault="unqualified" - и XSD валиадтор не будет учитывать, то что типы в XSD
привязаны к пространству имен, а элементы в XML - нет.
Очень рекомендуется использовать elementFormDefault="qualified" - это позволит вам в одном XML размещать элементы,
описанные в разных схемах.


attributeFormDefault - аналогично для аттрибутов. Хотя в этом случае чаще всего используют unqualified (Т.К. часто аттрибуты
принадлежат пустому пространству имен..)

Автор: Agares 1.3.2009, 00:59
Спасибо! Отлично объяснили!

Автор: eandy 12.3.2009, 13:00
Спасибо! Не сочтите за флуд, но действительно сложная ситуация в рунете с доступной документацией по этим понятиям. Может кто статейку на эту тему напишет? Например, в хабру.

Автор: sir_nuf_nuf 14.3.2009, 09:47
Все есть. Гуглить нужно тщательнее =)
http://www.rol.ru/news/it/helpdesk/xslt01.htm
http://www.rol.ru/news/it/helpdesk/xpath01.htm

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)