使用添加的XSD架构保存工作表后获取XML损坏

时间:2015-07-09 16:00:23

标签: xml excel xsd

我在添加XSD Schema文件后遇到了问题。关闭Excel后,由于损坏,我无法再打开文件。我得到了一个"未声明的XSD类型"引用PortNameType时出错。它是在另一个XSD文件中声明的,它包含在我通过include元素添加到Excel的文件中(见下文)。

Main.xsd(添加到Excel的文件)

...
<xsd:include schemaLocation="NamesSchema.xsd"></xsd:include>
...
<xsd:element name="port_name" type="PortNameType" maxOccurs="1" minOccurs="1"></xsd:element>
...

NamesSchema.xsd(包含在Main.xsd中)

...
<xsd:simpleType name="PortNameType1">
    <xsd:restriction base="xsd:string">
        <xsd:enumeration value="COM1"></xsd:enumeration>
        <xsd:enumeration value="COM2"></xsd:enumeration>
    </xsd:restriction>
</xsd:simpleType>

<xsd:simpleType name="PortNameType2">
    <xsd:restriction base="xsd:string">
        <xsd:enumeration value="RS485"></xsd:enumeration>
    </xsd:restriction>
</xsd:simpleType>

</xsd:simpleType><xsd:simpleType name="PortNameType">
    <xsd:union memberTypes="PortNameType1 PortNameType2"></xsd:union>
</xsd:simpleType>
...

Excel可以处理include元素吗?

另外,Excel可以处理union元素吗?

1 个答案:

答案 0 :(得分:0)

问题是Excel无法处理include元素。将2个文件合并为一个,一切都很好。