0

我有一个架构文件,并且正在针对 xml 进行验证。但它说出生日期(日期)不是有效日期。我刚刚从架构中删除了其他标签,否则它会导致阅读时间过长。谁能发现我做错了什么?我以前没有太多使用 xml 模式的经验。

顺便说一句,我正在使用 vb.net。

我的xml如下。

  <?xml version="1.0" encoding="UTF-8" ?>
  <EEL>
  <CANDIDATE>
  <SURNAME>JONNY</SURNAME>
  <FORENAME>WALKER</FORENAME>
  <DOB>29/12/2005</DOB>
  <SEX>M</SEX>  
  <POSTCODE>DD12DL</POSTCODE> 
  </CANDIDATE>
  </EEL>

在架构中,

<?xml version="1.0" encoding="UTF-8"?>
 <xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="EEL">
    <xs:complexType>
        <xs:sequence>
            <xs:element maxOccurs="unbounded" name="CANDIDATE">
                <xs:complexType>
                    <xs:sequence>
                                               <xs:element name="DOB" type="xs:date" minOccurs ="1" maxOccurs="1" />
                                            </xs:sequence>
                </xs:complexType>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
</xs:element>

4

3 回答 3

0

日期需要按如下格式“YYYY-MM-DD”指定,默认

于 2013-03-18T17:00:04.377 回答
0

XMLSchema 需要(几乎)ISO 8601 格式的数据字符串,您没有提供:http ://www.w3.org/TR/xmlschema-2/#date

于 2013-03-18T17:00:26.553 回答
0

看看这个问题这个问题

他们声明为了与 XSD 声明兼容,Xml 文件中的日期必须以 ISO8601 格式(或与之非常相似的格式)声明。

于 2013-03-18T17:00:42.853 回答