powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Необходима помощь с валидацией XML документа по XSD v1.1
4 сообщений из 4, страница 1 из 1
Необходима помощь с валидацией XML документа по XSD v1.1
    #39098911
ShortMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем доброго времени суток.

Есть схема документа
Код: 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.
<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">

	<!-- Описание типов опущено в целях экономии места -->
	
	<xs:element name="flats_rent">
		<xs:complexType>
			<xs:sequence>
				<xs:element name="offer" maxOccurs="unbounded">
					<xs:complexType>
						<xs:all>
							<xs:element name="id" type="xs:positiveInteger" minOccurs="1" />
							<xs:element name="rooms_num" type="roomType"    minOccurs="1" /> 
							<xs:element name="address"   type="addressType" minOccurs="1" />
							<xs:element name="area"      type="areaType"    minOccurs="1" />
							<xs:element name="price"     type="priceType"   minOccurs="1" />
							<xs:element name="floor"     type="floorType"   minOccurs="1" />
							<xs:element name="phone"     type="phoneType"   minOccurs="1" />
								<xs:element name="metro"     type="metroType"   minOccurs="0" />
								<xs:element name="options"   type="optionsType" minOccurs="0" />
								<xs:element name="note"      type="xs:string"   minOccurs="0" />
								<xs:element name="photo"     type="xs:string"   minOccurs="0" maxOccurs="unbounded" />
								<xs:element name="com"       type="comType"     minOccurs="0" />
								<xs:element name="publish"   type="publishType" minOccurs="0" />
								<xs:element name="premium"   type="xs:boolean"  minOccurs="0" />
								<xs:element name="pro"       type="xs:boolean"  minOccurs="0" />
						</xs:all>
					</xs:complexType>
				</xs:element>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	
</xs:schema>

и сам документ
Код: 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.
<?xml version="1.0" encoding="windows-1251"?>

<flats_rent>
	<offer>
		<id>349257</id>
		<address house_str='10к.3' street='МАТВЕЕВСКАЯ УЛ.' locality='МОСКВА' admin_area='1'/>
		<metro ttime='14' id='201'/>
		<rooms_num>3</rooms_num>
		<price currency='RUB' deposit='0' prepay='1' for_day='0'>50000</price>
		<floor total='9'>4</floor>
		<note>
			<![CDATA[test_text]]>
		</note>
		<area total='56' living='42' kitchen='30' rooms='20-12' />
		<options kids='yes' pets='yes' rfgr='no' tv='no' wm='yes' balcon='yes' />
		<photo>pathToPhoto</photo>
		<photo>pathToPhoto</photo>
		<photo>pathToPhoto</photo>
		<photo>pathToPhoto</photo>
		<phone>9035637400;</phone>
		<com client='0' agent='0' />
		<publish rentlist='yes' cian='yes'/>
	</offer>
</flats_rent>


Подаю все это в метод объекта php. DOMDocument::schemaValidate($xsd);
В ответ получаю ошибку следующего плана: Element '{http://www.w3.org/2001/XMLSchema}element': Invalid value for maxOccurs (must be 0 or 1).
Согласно спецификации в XSD 1.1, ограничение maxOccurs="1" на композитор "all" было снято.

Вот собственно сам вопрос. Как сделать так, что бы валидировалось согласно задумке. Что бы элементов фото могло быть более одного. Или как расширить схему с XSD 1.0 до XSD 1.1
...
Рейтинг: 0 / 0
Необходима помощь с валидацией XML документа по XSD v1.1
    #39098940
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нужно не схему расширять, а менять валидатор.
SAXON 9.3 поддерживает XSD 1.1
...
Рейтинг: 0 / 0
Необходима помощь с валидацией XML документа по XSD v1.1
    #39098954
ShortMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот это Вы меня обрадовали))) Я три дня мучаю эту тему. Уже все что знал по XML, забыл, сломал, а теперь вообще не знаю что и где менять. Я пишу валидатор для сайта, как Вы наверное догадались. Подскажите, кого нужно напрячь и чем, что все заработало корректно. Я так понимаю, это как то связано с сервером.
...
Рейтинг: 0 / 0
Необходима помощь с валидацией XML документа по XSD v1.1
    #39098974
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Напрягать нужно того, кто обслуживает хостинг. Для php saxon есть в виде беты: http://www.saxonica.com/saxon-c/index.xml
Может есть другой XSD 1.1 валидатор, гуглите.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Необходима помощь с валидацией XML документа по XSD v1.1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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