我使用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都不会出现,一个总是被改变。我想要两者兼得。想法?
感谢。