Я в настоящее время знакомлюсь с xsd и xml просто для удовольствия, и я не уверен, что делаю не так. Я хотел бы написать xsd для простой (ну не совсем, поскольку она имеет атрибуты) таблицы со строками и столбцами и использовать XML-сопоставление в Excel для удобного отображения данных. Строки для строк и столбцы для столбцов, как в таблицах, которые обычно можно увидеть. например,
<?xml version='1.0'?>
<table name='Data1'>
<row>
<col name='id'>1</col>
<col name='x'>0</col>
<col name='y'>6</col>
<col name='z'>7</col></row>
<row>
<col name='id'>2</col>
<col name='x'>0</col>
<col name='y'>5</col>
<col name='z'>8</col></row>
<row>
<col name='id'>3</col>
<col name='x'>0</col>
<col name='y'>5</col>
<col name='z'>9</col></row></table>
По сути, это должно выглядеть примерно так:
- id | х | у | z
- 1 | 0 | 6 | 7
- 2 | 0 | 5 | 8
- 3 | 0 | 5 | 9
Отредактированная схема:
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="table">
<xs:complexType>
<xs:sequence>
<xs:element name="row" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="col" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="name" type="xs:string"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="name" type="xs:string"/>
</xs:complexType>
</xs:element>
</xs:schema>
Я добавил какой-то дополнительный ингредиент или что-то упустил? Я не совсем ясно об этой вещи XSD еще. XD
Заранее спасибо всем, кто мог указать на мою ошибку (и).