我目前正在熟悉xsd和xml只是为了好玩,而且我不确定我做错了什么。我想为一个简单的(好的,不是真的,因为它有属性)写一个xsd表和行和列,并在Excel中使用XML映射来很好地显示数据。行的行和列中的列(如表1中的列)通常会看到。 e.g。
<?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>
实际上,它应该类似于:
编辑架构:
<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
提前感谢任何可以指出我的错误的人。
答案 0 :(得分:0)
方案未验证xml - 列元素声明未完成。 试试这个:
<xs:element name='table'>
<xs:complexType>
<xs:sequence>
<xs:element name='row'>
<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:attribute>
</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>