powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / XSD: использование фасета enumeration
11 сообщений из 11, страница 1 из 1
XSD: использование фасета enumeration
    #36864206
zvb73
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть вот такая схема

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  
  <xsd:complexType name="USAddress">
    <xsd:sequence>
      <xsd:element name="state"  type="xsd:USState"/>
      <xsd:element name="zip"    type="xsd:decimal"/>
    </xsd:sequence>
  </xsd:complexType>

  <xsd:simpleType name="USState">
    <xsd:restriction base="xsd:string">
      <xsd:enumeration value="AK"/>
      <xsd:enumeration value="CA"/>
      <xsd:enumeration value="PA"/>
    </xsd:restriction>
  </xsd:simpleType>
  
</xsd:schema>

при попытке
DataSet ds = new DataSet();
ds.ReadXmlSchema("test.xsd");

происходит exception of type 'System.Windows.Markup.XamlParseException'

Где ошибка в данном случае и каким образом вообще производить отладку xsd файлов
...
Рейтинг: 0 / 0
XSD: использование фасета enumeration
    #36865801
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zvb73Где ошибка в данном случае
Должно быть
Код: plaintext
<xsd:element name="state"  type="USState"/>
zvb73и каким образом вообще производить отладку xsd файловОбычно есть метод, который возвращает детальную информации об ошибке. Ну или возьмите любой XML редактор. Тот же Oxygen
...
Рейтинг: 0 / 0
XSD: использование фасета enumeration
    #36865855
refreg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще в схеме не описан корневой элемент. Или это только часть схемы?
...
Рейтинг: 0 / 0
XSD: использование фасета enumeration
    #36865873
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
refregЕще в схеме не описан корневой элементЭто не обязательное условие. Может она инклудится в другую схему?
...
Рейтинг: 0 / 0
XSD: использование фасета enumeration
    #36865874
zvb73
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
_Vasilisk_zvb73Где ошибка в данном случае
Должно быть
Код: plaintext
<xsd:element name="state"  type="USState"/>


Спаибо, земляк, и к тому же, похоже, тёзка :)
Одним вопросом меньше, но задача ещё до конца не решена - ожидалось что если сделать так, то после того как
Код: plaintext
1.
2.
3.
                dataSet.ReadXmlSchema(xsd);
                dataSet.ReadXml(xml);
                dataGrid.DataContext = dataSet;
увижу в датагриде колнку state ввиде DataGridComboBoxColumn.
Но наверное слишком много хочу?
...
Рейтинг: 0 / 0
XSD: использование фасета enumeration
    #36865875
zvb73
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
По поводу корневого элемента - ну это я для теста сделал из "XML Schema Part 0: Primer" чтобы проще было вопрос задавать, но похоже и так работает
...
Рейтинг: 0 / 0
XSD: использование фасета enumeration
    #36865878
zvb73
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если что, хмл вот так выглядит

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
<?xml version="1.0"?>
<purchaseOrder>
  <item>
    <state>CA</state>
    <zip> 90952 </zip>
  </item>
  <item>
    <state>AK</state>
    <zip> 95819 </zip>
  </item>
</purchaseOrder>
...
Рейтинг: 0 / 0
XSD: использование фасета enumeration
    #36865987
refreg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_refregЕще в схеме не описан корневой элементЭто не обязательное условие. Может она инклудится в другую схему?
Я просто обратил на это внимание, предположив, что это только часть схемы.

zvb73По поводу корневого элемента - ну это я для теста сделал из "XML Schema Part 0: Primer" чтобы проще было вопрос задавать, но похоже и так работает
В смысле? и так работает? xml проходит валидацию вашей частью схемы? Или Вы схему используете для чего-то другого?
...
Рейтинг: 0 / 0
XSD: использование фасета enumeration
    #36865990
zvb73
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Насколько я понимаю проходит, потому что загружается в датасет и правильно отображается на датагриде.
В реальном хмл в схеме у меня корневой элемент есть, но отличий в отображении реального и этого примера я не вижу
...
Рейтинг: 0 / 0
XSD: использование фасета enumeration
    #36866002
refreg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Предположу, что вы схему просто грузите, на валидацию не проверяете. Можете вообще тогда выкинуть схему и живите спокойно...
...
Рейтинг: 0 / 0
XSD: использование фасета enumeration
    #36866031
zvb73
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
На валидацию ПОКА не проверяю. Но например схема уже сейчас даёт мне возможность загрузить инты именно в инты а не в стринги. А с enumeration была мысль что как-то получится проще забайндить это в DataGridComboBoxColumn. Но пока не получается.
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / XSD: использование фасета enumeration
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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