ShortMan
Новичок
Всем доброго времени суток.
Проблема такая. Есть XML
есть XSD
Хотел было валидировать документ методом DOMDocument::schemaValidate($xsd);
Но появляется ошибка уровня WARNING -> invalidSchema. Предполагаю, что метод использует XSD 1.0, в то время как сама схема заточена под версию XSD 1.1.
Уважаемые специалисты, подскажите: Есть ли способ, заставить метод работать с XSD 1.1? Если не то возможные решения. Спасибо
Проблема такая. Есть XML
Код:
<?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>
Код:
<?xml version="1.0"?>
<xs:schema
xmlns:xs="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified">
<!-- Тут описание типов -->
<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>
Но появляется ошибка уровня WARNING -> invalidSchema. Предполагаю, что метод использует XSD 1.0, в то время как сама схема заточена под версию XSD 1.1.
Уважаемые специалисты, подскажите: Есть ли способ, заставить метод работать с XSD 1.1? Если не то возможные решения. Спасибо