1. Наш канал codeby в telegram. Пишем об информационной безопасности, методах защиты информации, о программирован. Не пропускай новости с кодебай, будь в тренде ! Подробнее ...

    Скрыть объявление
  2. Чат codeby в telegram перезагрузка. Обсуждаем вопросы информационной безопасности и методы защиты информации, программирование. Задавайте свои вопросы и комментируйте чужие. Подробнее ...

    Скрыть объявление

Неправильно Заполняется Xml По Xsd

Тема в разделе "Web - программирование", создана пользователем Aldegid, 20 мар 2012.

  1. Aldegid

    Aldegid Гость

    Репутация:
    0
    Всем привет.

    Делаю игровой проект. Хочу хранить уровни в xml. Так как уровней планируется определенное количество, то решил сделать xsd схему.

    level.xsd
    Код:
    <xs:schema targetNamespace="cp:level" xmlns="cp:level" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:NS="cp:level">
    <xs:element name="Level">
    <xs:complexType>
    <xs:sequence>
    <xs:element ref="Background"/>
    <xs:element ref="Parameters"/>
    <xs:element ref="Balloons"/>
    <!--<xs:element ref="Bonuses"/>-->
    </xs:sequence>
    </xs:complexType>	
    </xs:element>
    
    <xs:element name="Background">
    <xs:complexType>
    <xs:attribute name="filename" type="xs:string"/>
    </xs:complexType>
    </xs:element>
    
    <xs:element name="Parameters">
    <xs:complexType>
    <xs:attribute name="color_count" type="color_count"/>
    <xs:attribute name="pc_projectile_speed_vert_frac" type="xs:float"/>
    <xs:attribute name="pc_cooldown" type="xs:float"/>
    <xs:attribute name="start_time" type="xs:float"/>
    </xs:complexType>
    </xs:element>
    
    <xs:simpleType name="color_count">
    <xs:restriction base="xs:string">
    <xs:pattern value="[4,8]"/>
    </xs:restriction>
    </xs:simpleType>
    
    <xs:element name="Balloons">
    <xs:complexType>
    <xs:sequence>
    <xs:element name="Balloon">
    <xs:complexType>
    <xs:sequence>
    <xs:element ref="AppeareanceParameters" minOccurs="1" maxOccurs="1"/>
    </xs:sequence>
    <xs:attribute name="name" type="xs:string"/>
    <xs:attribute name="count" type="xs:decimal"/>
    </xs:complexType>
    </xs:element>
    </xs:sequence>
    </xs:complexType>
    </xs:element>
    
    <xs:element name="AppeareanceParameters">
    <xs:complexType>
    <xs:sequence>
    <xs:element name="First" minOccurs="0" maxOccurs="1" type="AppearenceParameterType"/>
    <xs:element name="Interim" minOccurs="0" maxOccurs="1" type="AppearenceParameterType"/>
    <xs:element name="Last" minOccurs="0" maxOccurs="1" type="AppearenceParameterType"/>
    </xs:sequence>
    </xs:complexType>
    </xs:element>
    
    <!-- дальше определение AppearenceParameterType-->
    Когда я заполняю level.xml, все идет, как планировалось до тега Level\Balloons\Balloon
    По автозаполнению получается вот что
    level.xml
    Код:
    <Level xmlns="cp:level">
    <Background filename="Media\LvlBckg00.png"/>
    <Parameters color_count="4" 
    pc_cooldown="0.5"
    pc_projectile_speed_vert_frac="0.3"
    start_time="2.0"/>
    
    <Balloons>
    <Balloon xmlns=""/>
    
    </Balloons>
    
    </Level>
    то есть парсер не правильно определяет содержимое тега <Balloon>: не может определить namespace или ещё что-то.
    Подскажите, как лечить.

    Пользуюсь VC++2010
     
Загрузка...

Поделиться этой страницей