Excel到XML xsd:日期模式格式,xsd的“假设”语句?

时间:2018-05-10 15:20:12

标签: xml excel date xsd

我使用Excel将数据转换为XML。其中一个字段是日期。我的问题是日期不是一致的格式:YYYY或YYYY-MM-DD,有时甚至是文本和日期的字符串值(例如“大约20世纪20年代”)。

我需要一个模式解决方案来识别该字段包含日期值或字符串值。

我的架构:

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <xsd:element nillable="true" name="metadata">
        <xsd:complexType>
            <xsd:sequence minOccurs="0">
                <xsd:element minOccurs="0" maxOccurs="unbounded" nillable="true" name="record" form="unqualified">
                    <xsd:complexType>
                        <xsd:sequence minOccurs="0">
                            <xsd:element minOccurs="0" nillable="true" type="xsd:date" name="date" form="unqualified"/>
                        </xsd:sequence>
                    </xsd:complexType>
                </xsd:element>
            </xsd:sequence>
        </xsd:complexType>
    </xsd:element>
</xsd:schema>

日期示例:

Date
1921-06-01
1919
1921-06-01
1921

我使用'xsd:date'和'xsd:string'来回走动,但Excel的格式不会转换。将架构映射到字段时,日期字段会提示用户选择当前格式或匹配元素格式。无论哪种方式,YYYY和YYYY-MM-DD都不会出现,一个总是被改变。我想要两者兼得。想法?

感谢。

0 个答案:

没有答案