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

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


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