powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Xdocument validate Error Если узлы стоят не в том порядке
18 сообщений из 18, страница 1 из 1
Xdocument validate Error Если узлы стоят не в том порядке
    #37995022
Pavluha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если узлы стоят не в том порядке, то валидация документа не проходит.
Можно ли как-то написать, что бы порядок не учитывался?
...
Рейтинг: 0 / 0
Xdocument validate Error Если узлы стоят не в том порядке
    #37995415
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
/topic/928597
...
Рейтинг: 0 / 0
Xdocument validate Error Если узлы стоят не в том порядке
    #37995614
Pavluha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
_Vasilisk_/topic/928597


Это не подходит
Вот схема, только порядок мб произвольный у узлов. Как такое сделать:

Код: xml
\r\n<?xml version="1.0" encoding="utf-8" ?>\r\n<!--Created with Liquid XML Studio - 30 Day Trial Edition 7.1.6.1440 (http://www.liquid-technologies.com)-->\r\n<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">\r\n  <xs:element name="billing-log">\r\n    <xs:complexType>\r\n      <xs:sequence>\r\n          <xs:element minOccurs="1" name="log-start-date" type="xs:dateTime" />\r\n          <xs:element minOccurs="1" name="player-name" type="xs:string" />\r\n          <xs:element minOccurs="1" name="schema-version" type="xs:unsignedByte" />\r\n          <xs:element minOccurs="1" name="player-uuid" type="xs:string" />\r\n          <xs:element minOccurs="1" name="log-end-date" type="xs:dateTime" />\r\n        <xs:element minOccurs="1" maxOccurs="unbounded" name="entry">\r\n          <xs:complexType>\r\n            <xs:sequence>\r\n              <xs:element minOccurs="0" name="page" type="xs:string" />\r\n              <xs:element minOccurs="0" name="path" type="xs:string" />\r\n              <xs:element minOccurs="1" name="in" type="xs:dateTime" />\r\n              <xs:element minOccurs="1" name="out" type="xs:dateTime" />\r\n              <xs:element minOccurs="1" name="duration" type="xs:decimal" />\r\n              <xs:element minOccurs="1" name="channel" type="xs:string" />\r\n              <xs:element minOccurs="1" name="frame" type="xs:string" />\r\n              <xs:element minOccurs="1" name="mediaitem-path" type="xs:string" />\r\n              <xs:element minOccurs="0" name="custom" type="xs:string" />\r\n            </xs:sequence>\r\n          </xs:complexType>\r\n        </xs:element>\r\n      </xs:sequence>\r\n    </xs:complexType>\r\n  </xs:element>\r\n</xs:schema>\r\n
\r\n
...
Рейтинг: 0 / 0
Xdocument validate Error Если узлы стоят не в том порядке
    #37995632
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PavluhaЭто не подходитОбоснуете?
...
Рейтинг: 0 / 0
Xdocument validate Error Если узлы стоят не в том порядке
    #37995638
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_PavluhaЭто не подходитОбоснуете?Чем Вам не подошло xsd:all?
...
Рейтинг: 0 / 0
Xdocument validate Error Если узлы стоят не в том порядке
    #37995679
Pavluha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
_Vasilisk__Vasilisk_пропущено...
Обоснуете?Чем Вам не подошло xsd:all?

maxOccurs="unbounded" нельзя указать
...
Рейтинг: 0 / 0
Xdocument validate Error Если узлы стоят не в том порядке
    #37995707
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Укажите maxOccurs="unbounded" у нужной вам sequence.
...
Рейтинг: 0 / 0
Xdocument validate Error Если узлы стоят не в том порядке
    #37995713
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PavluhamaxOccurs="unbounded" нельзя указатьА где в Вашей исходной схеме maxOccurs="unbounded"?
...
Рейтинг: 0 / 0
Xdocument validate Error Если узлы стоят не в том порядке
    #37995728
Pavluha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
_Vasilisk_PavluhamaxOccurs="unbounded" нельзя указатьА где в Вашей исходной схеме maxOccurs="unbounded"?

Код: xml
1.
<xs:element minOccurs="1" maxOccurs="unbounded" name="entry">
...
Рейтинг: 0 / 0
Xdocument validate Error Если узлы стоят не в том порядке
    #37995880
Pavluha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AntonariyУкажите maxOccurs="unbounded" у нужной вам sequence.

Указал, не работает. Да и в xsd:all нельзя вкладывать xs:sequence
...
Рейтинг: 0 / 0
Xdocument validate Error Если узлы стоят не в том порядке
    #37996098
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PavluhaAntonariyУкажите maxOccurs="unbounded" у нужной вам sequence.

Указал, не работает. Да и в xsd:all нельзя вкладывать xs:sequenceЗамените all на sequence, очевидно же. И почитайте для разнообразия документацию по xsd — all предназначено как раз для того, чтобы группа элементов не повторялась.
...
Рейтинг: 0 / 0
Xdocument validate Error Если узлы стоят не в том порядке
    #37997986
Pavluha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AntonariyЗамените all на sequence, очевидно же. И почитайте для разнообразия документацию по xsd — all предназначено как раз для того, чтобы группа элементов не повторялась.

Вопрос был о др. Я читал документацию и не нашел, как сделать то, что написал в вопросе.
Ваши же предложенные варианты не работаю, которые я и сам пробовал.
...
Рейтинг: 0 / 0
Xdocument validate Error Если узлы стоят не в том порядке
    #37998014
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PavluhaAntonariyЗамените all на sequence, очевидно же. И почитайте для разнообразия документацию по xsd — all предназначено как раз для того, чтобы группа элементов не повторялась.

Вопрос был о др. Я читал документацию и не нашел, как сделать то, что написал в вопросе.
Ваши же предложенные варианты не работаю, которые я и сам пробовал.Приведите пример xml, который должен проходить валидацию, а то я перестал понимать, что вам нужно.
...
Рейтинг: 0 / 0
Xdocument validate Error Если узлы стоят не в том порядке
    #37998034
Pavluha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
<?xml version="1.0" encoding="UTF-8" ?>
<billing-log>
  <schema-version>1</schema-version>
  <player-name>PLAYER</player-name>
  <player-uuid>7da60fe7-36ac-4d44-ad0c-c2e19de64f10</player-uuid>
  <log-start-date>2012-09-16T00:00:00+04:00</log-start-date>
  <log-end-date>2012-09-16T23:59:59.999+04:00</log-end-date>
<entry><page>SVk</page><path>Path</path><in>2012-09-15T09:00:00.265+04:00</in><out>2012-09-15T09:00:15.265+04:00</out><duration>15.000</duration><channel>dghgh</channel><frame>New 0</frame><mediaitem-path>path</mediaitem-path><custom>736f4bf8-d0d9-48ab-b64e-84b627a9e843</custom></entry>
</billing-log>



Здесь последовательность изменена, но хмл верный.
Вот так все работает
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
<?xml version="1.0" encoding="UTF-8" ?>
<billing-log>
  <log-start-date>2012-09-16T00:00:00+04:00</log-start-date>
  <player-name>PLAYER</player-name>
  <schema-version>1</schema-version>
  <player-uuid>7da60fe7-36ac-4d44-ad0c-c2e19de64f10</player-uuid>
  <log-end-date>2012-09-16T23:59:59.999+04:00</log-end-date>
<entry><page>SVk</page><path>Path</path><in>2012-09-15T09:00:00.265+04:00</in><out>2012-09-15T09:00:15.265+04:00</out><duration>15.000</duration><channel>dghgh</channel><frame>New 0</frame><mediaitem-path>path</mediaitem-path><custom>736f4bf8-d0d9-48ab-b64e-84b627a9e843</custom></entry>
</billing-log>
...
Рейтинг: 0 / 0
Xdocument validate Error Если узлы стоят не в том порядке
    #37998055
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так работают оба. Подходит?
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="billing-log">
    <xs:complexType>
      <xs:choice maxOccurs="unbounded">
          <xs:element minOccurs="1" name="log-start-date" type="xs:dateTime" />
          <xs:element minOccurs="1" name="player-name" type="xs:string" />
          <xs:element minOccurs="1" name="schema-version" type="xs:unsignedByte" />
          <xs:element minOccurs="1" name="player-uuid" type="xs:string" />
          <xs:element minOccurs="1" name="log-end-date" type="xs:dateTime" />
        <xs:element minOccurs="1" maxOccurs="unbounded" name="entry">
          <xs:complexType>
            <xs:sequence>
              <xs:element minOccurs="0" name="page" type="xs:string" />
              <xs:element minOccurs="0" name="path" type="xs:string" />
              <xs:element minOccurs="1" name="in" type="xs:dateTime" />
              <xs:element minOccurs="1" name="out" type="xs:dateTime" />
              <xs:element minOccurs="1" name="duration" type="xs:decimal" />
              <xs:element minOccurs="1" name="channel" type="xs:string" />
              <xs:element minOccurs="1" name="frame" type="xs:string" />
              <xs:element minOccurs="1" name="mediaitem-path" type="xs:string" />
              <xs:element minOccurs="0" name="custom" type="xs:string" />
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:choice>
    </xs:complexType>
  </xs:element>
</xs:schema>
...
Рейтинг: 0 / 0
Xdocument validate Error Если узлы стоят не в том порядке
    #37998107
Pavluha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Antonariy,

Спасибо большое за помощь!
Entry обязательный элемент, но валидация пропустила его. Хотя в схеме стоит 1 раз обязательное должен присутствовать.
...
Рейтинг: 0 / 0
Xdocument validate Error Если узлы стоят не в том порядке
    #37998207
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PavluhaEntry обязательный элемент, но валидация пропустила его. Хотя в схеме стоит 1 раз обязательное должен присутствовать.Можно сделать так, но тогда содержимое типа billing-log становится необязательным или может дублироваться. Можно чуть ужесточить правило, написав <xs:choice minOccurs="5" maxOccurs="5">, но все равно не айс.
Что-то я в затруднении.
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="billing-log">
    <xs:complexType mixed="false">
		<xs:complexContent>
			<xs:extension base="billing-log">
				<xs:sequence>
					<xs:element minOccurs="1" maxOccurs="unbounded" name="entry">
					  <xs:complexType>
						<xs:sequence>
						  <xs:element minOccurs="0" name="page" type="xs:string" />
						  <xs:element minOccurs="0" name="path" type="xs:string" />
						  <xs:element minOccurs="1" name="in" type="xs:dateTime" />
						  <xs:element minOccurs="1" name="out" type="xs:dateTime" />
						  <xs:element minOccurs="1" name="duration" type="xs:decimal" />
						  <xs:element minOccurs="1" name="channel" type="xs:string" />
						  <xs:element minOccurs="1" name="frame" type="xs:string" />
						  <xs:element minOccurs="1" name="mediaitem-path" type="xs:string" />
						  <xs:element minOccurs="0" name="custom" type="xs:string" />
						</xs:sequence>
					  </xs:complexType>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
    </xs:complexType>
  </xs:element>

	
<xs:complexType name="billing-log">
    <xs:choice minOccurs="1" maxOccurs="unbounded">
          <xs:element minOccurs="1" name="log-start-date" type="xs:dateTime" />
          <xs:element minOccurs="1" name="player-name" type="xs:string" />
          <xs:element minOccurs="1" name="schema-version" type="xs:unsignedByte" />
          <xs:element minOccurs="1" name="player-uuid" type="xs:string" />
          <xs:element minOccurs="1" name="log-end-date" type="xs:dateTime" />
    </xs:choice>
</xs:complexType>
	
</xs:schema>
...
Рейтинг: 0 / 0
Xdocument validate Error Если узлы стоят не в том порядке
    #37998221
Pavluha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Antonariy,

Спасибо большое еще раз!
Я написал свой валидатор на присутствие узлов. Этого хватило.
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Xdocument validate Error Если узлы стоят не в том порядке
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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