powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / xsd, елемент с namespace
13 сообщений из 13, страница 1 из 1
xsd, елемент с namespace
    #39363091
Фотография smoyk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте.
Подскажите пожалуйста, как в xsd объявить елемент, который в xml указан с пространством имен?
Например
Код: xml
1.
<msg:Header>...</msg:Header>


Код: xml
1.
<xs:element name="msg:Header">

не работает.
Заранее спасибо.
...
Рейтинг: 0 / 0
xsd, елемент с namespace
    #39363097
Фридрих
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
xsd, елемент с namespace
    #39363266
Фотография smoyk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Фридрих,

Решение из этой статья повторить не получилось
Код: xml
1.
2.
<xs:element name="Header" type="msg:mes">
<xs:complexType type="mes"]

ОшибкаAttribute 'type' cannot appear in element 'complexType'.ps mes как я понял берется с потолка
...
Рейтинг: 0 / 0
xsd, елемент с namespace
    #39363268
Фотография smoyk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ошибка оформления
Код: xml
1.
2.
<xs:element name="Header" type="msg:mes">
<xs:complexType type="mes">
...
Рейтинг: 0 / 0
xsd, елемент с namespace
    #39363279
Фотография smoyk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: xml
1.
<xs:complexType name="mes">

тоже пробовал, ошибка та же.
...
Рейтинг: 0 / 0
xsd, елемент с namespace
    #39363353
mage.lan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
smoyk,

Код: xml
1.
<xs:element name="Header" type="mes">

пробывали?
...
Рейтинг: 0 / 0
xsd, елемент с namespace
    #39363354
mage.lan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mage.lan,

и наверное даже без типа
...
Рейтинг: 0 / 0
xsd, елемент с namespace
    #39363489
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Одна XSD схема может объявить элементы только в одном пространстве имен. Это пространство имен задается атрибутом targetNamespace элемента xsd:schema . Если Вам нужно описать XML, содержащих элементы из нескольких пространств имен, то Вам нужно создать несколько XSD схем с разными targetNamespace , а потом объединить их в одну при помощи элемента xsd:import
...
Рейтинг: 0 / 0
xsd, елемент с namespace
    #39364608
Фотография smoyk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mage.lan,

И что это будет? Мне "msg" пространство имен нужно задать.

_Vasilisk_,

Мне пока и нужно одно, и да, я объявил targetNamespace, у меня не получается дальше пространство имен задать, ошибку выдает.
...
Рейтинг: 0 / 0
xsd, елемент с namespace
    #39365046
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
smoykМне пока и нужно одно, и да, я объявил targetNamespace, у меня не получается дальше пространство имен задать, ошибку выдает.Давайте будем разговаривать кодом. Что есть, что нужно, что не получается?
...
Рейтинг: 0 / 0
xsd, елемент с namespace
    #39365361
Фотография smoyk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_,

В xml файле есть элемент Header с указанным пространством имен msg. Я не знаю, как указать это пространство имен у элемента в xsd схеме.
Вариант
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:sql="urn:schemas-microsoft-com:mapping-schema" xmlns:msg="http://www.1c.ru/SSL/Exchange/Message" targetNamespace="http://www.1c.ru/SSL/Exchange/Message">

<xs:annotation>
  <xs:appinfo>
    <sql:relationship name="MessageObject" parent="import.Messages" parent-key="OriginFileName" child="import.Objects" child-key="OriginFileName"/>
  </xs:appinfo>
</xs:annotation>

<xs:element name="Message">
	<xs:complexType>
		<xs:sequence>

                  <xs:element name="Header" type="msg:mes" sql:relation="import.Messages" sql:relationship="MessageObject">
				<xs:complexType name="mes">
					<xs:sequence>
						<xs:element name="CreationDate" sql:datatype="datetime"/>
.........


не работаетавторAttribute 'name' cannot appear in element 'complexType'.
...
Рейтинг: 0 / 0
xsd, елемент с namespace
    #39365777
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
smoykВ xml файле есть элемент HeaderПриведите XMLsmoykс указанным пространством имен msg.Это не пространство имен, а алиас пространства имен

Т.е., как я понял, у Вас в XML есть элементы, которые принадлежат двум пространствам имен. Одно пространство имен по-умолчанию (пустое), а второе " http://www.1c.ru/SSL/Exchange/Message". Исходя из этого, Ваша фраза
smoykМне пока и нужно одноне соответствует действительности. И Вам нужно, как я уже говорил
_Vasilisk_Вам нужно создать несколько XSD схем с разными targetNamespace , а потом объединить их в одну при помощи элемента xsd:import
...
Рейтинг: 0 / 0
xsd, елемент с namespace
    #39365780
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
smoykавторAttribute 'name' cannot appear in element 'complexType'.Ну да. элемент xsd:complexType может содержать атрибут name, только когда этот элемент является дочерним к элементу xsd:schema. Если же это дочерний узел элемента xsd:element, то никакого name быть не может
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / xsd, елемент с namespace
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]