以文本方式查看主题 - 中文XML论坛 - 专业的XML技术讨论区 (http://bbs.xml.org.cn/index.asp) -- 『 DTD/XML Schema 』 (http://bbs.xml.org.cn/list.asp?boardid=23) ---- 有没有人能帮我拍看一下,为什么以下的XML通不过制定的Xml Schema验证 (http://bbs.xml.org.cn/dispbbs.asp?boardid=23&rootid=&id=56551) |
-- 作者:jackerlee -- 发布时间:12/9/2007 5:14:00 PM -- 有没有人能帮我拍看一下,为什么以下的XML通不过制定的Xml Schema验证 Xml Content: <?xml version="1.0" encoding="utf-16"?> <QueryHotelRequest xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" Version="1.0.0" xsi:noNamespaceSchemaLocation="file:///c:/temp/compare.xsd"> <BasicUserInfo Version="1.0.0"> <AgentId>test</AgentId> <AgentPassword>test_password</AgentPassword> <RequestTime>2007-12-09T02:49:03.71875+08:00</RequestTime> </BasicUserInfo> <BasicCriteria> <cityName>Changsha</cityName> <BookDate>2007-12-09</BookDate> <CheckInDate>2007-12-30</CheckInDate> <totalNights>2</totalNights> <Rooms> <AdultNum>2</AdultNum> <Quantity>1</Quantity> </Rooms> </BasicCriteria> <AllocationCriteria> <returnAllocationStatus>0</returnAllocationStatus> </AllocationCriteria> <PriceCriteria> <Budget> <maxBudget>9999</maxBudget> <minBudget>0</minBudget> </Budget> </PriceCriteria> <HotelInfoCriteria> <HotelName/> <StarLevel>0</StarLevel> </HotelInfoCriteria> </QueryHotelRequest> Schema Content: |
-- 作者:lialer -- 发布时间:12/13/2007 9:33:00 PM -- 检测环境:xp+xmlxpy 在schema中定义了requesttype元素。但 |
-- 作者:lialer -- 发布时间:12/13/2007 9:52:00 PM -- 检测环境:xp+xmlxpy 问题+答案: 1、在SCHEMA中定义了requestype元素,但在xml中没有写上。应在<BasicCriteria>上之前加<requestType>元素内容。 2、问题出在:<xs:element name="BookDate"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:pattern value="^\d{4}-\d{2}-\d{2}$"> </xs:pattern> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="CheckInDate"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:pattern value="^\d{4}-\d{2}-\d{2}$"> </xs:pattern> </xs:restriction> </xs:simpleType> </xs:element> 按照你的SCHEMA的定义,BookDate和CheckInDate的内容应是"^2007-12-13$"的形式,但在XML中,你写的是“2007-12-13”形式。因而出错。 <xs:element name="airportCode" maxOccurs="1"> |
-- 作者:jackerlee -- 发布时间:12/14/2007 11:06:00 AM -- 谢谢了! 1.确实没有RequestType的内容,加上就好了 2.BookDate使用字符串而不是日期考虑到时区问题 3.IATA Code属于输入错误 |
-- 作者:lialer -- 发布时间:12/16/2007 10:26:00 AM -- "BookDate使用字符串而不是日期考虑到时区问题" 学到了东西.谢谢分享. |
W 3 C h i n a ( since 2003 ) 旗 下 站 点 苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》 |
156.250ms |