| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > XML, XSL > Несколько вопросов по элементам XSD |
| Автор: Agares 28.2.2009, 00:49 | ||
есть схема:
Скажите пожалуйста, для чего нужны элементы 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 |