XSD: значение не в перечислении

я пытаюсь прочитать из XML-документа через файлы, сгенерированные CodeSynthesis XSD (.cxx / .hxx) и получить этот код:

1-> char* xmlFile = "C:\\Work\\MPRawDataExample.xml";
2-> auto_ptr<MPRawDataFile> f = MPRawDataFile_(xmlFile);
3-> cout << f->MPRawDataFileMeta().PatientID() << endl;

Теперь в строке 2 возникает следующая ошибка:

unterminated entity reference "D" выброшенный из xsd::cxx::tree::error_handler<C>

Файл действительно существует, также проверен этот но не помогло

Может быть, у кого-то есть решение для того или иного способа, как считать из XML-файла?

-> решаемая. XSD-файл не был правильно указан в XML-файле, но теперь это ниже:


Обновить:

неправильная часть в XML-файле:

    <AdditionalInformation>
<Info name="Ag" value="225.0/220.5"></Info>
<Info name="Vel" value="24.0/22.1"></Info>
<Info name="CC" value="0.999"></Info>
<Info name="AUC" value="1026/1159"></Info>
<Info name="Abbr. from mean" value="1.987"></Info>
<Info name="Base" value="1484/1501"></Info>
<Info name="End" value="1787/1795"></Info>
</AdditionalInformation>

ограничения от xsd:

<xs:simpleType name="ST_Info">
<xs:restriction base="xs:string">
<xs:enumeration value="0.999"/>
<xs:enumeration value="1.987"/>
<xs:enumeration value="1026/1159"/>
<xs:enumeration value="1484/1501"/>
<xs:enumeration value="1787/1795"/>
<xs:enumeration value="225.0/220.5 "/>
<xs:enumeration value="24.0/22.1"/>
</xs:restriction>
</xs:simpleType>

для каждого <Info> теперь я получаю ошибку value "" not in enumeration

но значения, которые есть в XML, находятся в ограничительном перечислении? или я что-то не так понимаю?

0

Решение

Превращаю мои комментарии в ответ

Обе проблемы, которые вы перечисляете, кажутся проблемами с самим файлом XML, а не с кодом синтаксического анализа. Первый выглядит как ссылка на сущность &D без соответствия ; или что-то.

Второй, вероятно, означает, что ограничение относится к содержание из Item элемент (текст между его открытием <Item> и закрытие </Item> теги), а не к его атрибуту с именем value).

1

Другие решения

Других решений пока нет …