XSD - что за зверь

MrKirill1232

Прославленный
Проверенный
Победитель в номинации 2023
Мастер реакций
Неукротимое пламя
Медаль Благодарности
Победитель в номинации 2022
Старожил I степени
Сообщения
1 724
Розыгрыши
0
Решения
31
Репутация
986
Реакции
1 292
Баллы
1 408
Хроники
  1. Prologue: Prelude of War
Сборка
meowbius
Привет.
Сижу пишу XMLку, пихаю её в генератор XSDшек и у меня ошибка появляется при попытке объявить элемент.
Пишет мол "Атрибут здесь не разрешен" ну и при парсинге сервером - ошибка :)
1653121272589.png
Не в первый раз уже сталкиваюсь с этой заразой.
Примечания "руки из жопы" или "я вот DTD пользуюсь и горя не знаю" оставляем при себе.
Как сформировать адекватно запрос - не имею понятия, все что я нахожу в чибурнетах "ограничение значения" и "у вас заголовок кривой".
XML:
<?xml version="1.0" encoding="UTF-8"?>
<list xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="rewards.xsd">
   <times>
      <time day="1" startHour="10" startMinute="00" endHour="13" endMinute="00" rewardsSet="1" couponID="57" couponCount="1" untilTimeEnd="true"/>
   </times>
   <rewards set="1" isumu="true">
      <rarity stars="1" chance="60">
         <item id="57" count="4000" enchantLevel="0" />
         <item id="57" count="2000" enchantLevel="0" />
         <item id="57" count="1000" enchantLevel="0" />
      </rarity>
      <rarity stars="2" chance="30">
         <item id="57" count="400" enchantLevel="0" />
         <item id="57" count="200" enchantLevel="0" />
         <item id="57" count="100" enchantLevel="0" />
      </rarity>
      <rarity stars="3" chance="10">
         <item id="57" count="40" enchantLevel="0" />
         <item id="57" count="20" enchantLevel="0" />
         <item id="57" count="10" enchantLevel="0" />
      </rarity>
   </rewards>
</list>
XML:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="list" type="listType"/>
  <xs:complexType name="timeType">
    <xs:simpleContent>
      <xs:extension base="xs:string">
        <xs:attribute type="xs:string" name="day" use="optional"/>
        <xs:attribute type="xs:string" name="startHour" use="optional"/>
        <xs:attribute type="xs:string" name="startMinute" use="optional"/>
        <xs:attribute type="xs:string" name="endHour" use="optional"/>
        <xs:attribute type="xs:string" name="endMinute" use="optional"/>
        <xs:attribute type="xs:string" name="rewardsSet" use="optional"/>
        <xs:attribute type="xs:string" name="couponID" use="optional"/>
        <xs:attribute type="xs:string" name="couponCount" use="optional"/>
        <xs:attribute type="xs:string" name="untilTimeEnd" use="optional"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="timesType">
    <xs:sequence>
      <xs:element type="timeType" name="time" maxOccurs="unbounded" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="itemType">
    <xs:simpleContent>
      <xs:extension base="xs:string">
        <xs:attribute type="xs:string" name="id" use="optional"/>
        <xs:attribute type="xs:string" name="count" use="optional"/>
        <xs:attribute type="xs:string" name="enchantLevel" use="optional"/>
        <xs:attribute type="xs:string" name="chance" use="optional"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="rarityType">
    <xs:sequence>
      <xs:element type="itemType" name="item" maxOccurs="unbounded" minOccurs="0"/>
    </xs:sequence>
    <xs:attribute type="xs:string" name="stars" use="optional"/>
    <xs:attribute type="xs:string" name="chance" use="optional"/>
  </xs:complexType>
  <xs:complexType name="rewardsType">
    <xs:sequence>
      <xs:element type="rarityType" name="rarity" maxOccurs="unbounded" minOccurs="0"/>
    </xs:sequence>
    <xs:attribute type="xs:string" name="set" use="optional"/>
    <xs:attribute type="xs:string" name="isumu" use="optional"/>
  </xs:complexType>
  <xs:complexType name="listType">
    <xs:sequence>
      <xs:element type="timesType" name="times"/>
      <xs:element type="rewardsType" name="rewards" maxOccurs="unbounded" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
</xs:schema>
 
Решение
У меня idea говорит, что все ок при подставлении схемы с xml. Кастомный валидатор тоже не видит проблем. vscode тоже говорит, что все ок. Можно сразу файлами скинуть? Что с кодировками файлов, мб в них дело?
У меня idea говорит, что все ок при подставлении схемы с xml. Кастомный валидатор тоже не видит проблем. vscode тоже говорит, что все ок. Можно сразу файлами скинуть? Что с кодировками файлов, мб в них дело?
 
Решение
Вообще страннейший прикол.
После перезагрузки винды тоже перестало вылетать.
Могу сделать только один вывод
"Недостаточно памяти, милорд."
1653137888155.png
 
Назад
Сверху Снизу