【第22期】观点:IT 行业加班,到底有没有价值?

校验xml的合法性

原创 2015年11月19日 10:54:17


方法一:通过DTD文件

方法二:通过XSD文件

最后选用了方法二,原因如下:

· XML Schema 可针对未来的需求进行扩展

· XML Schema 更完善,功能更强大

· XML Schema 基于 XML 编写

· XML Schema 支持数据类型

· XML Schema 支持命名空间

 

太官方的理由。我用xsd的原因是:正在做的是web service 的项目,需要接受客户端传入的xml数据,可能会出现一下情况:

1.Xml格式错误

2.结点数据类型错误

3.数据不完整,结点数据为空

DTD不能很好的解决这些问题,所以用了XSD。用了一下午的时间熟悉基本的写法,第二天直接按xml的要求编写xsd文件。过程中遇到了一个问题:

xsd中提供的时间日期类型(dateTime)是这样的:YYYY-MM-DDThh:mm:ss

而我需要的是这样的:YYYY-MM-DD hh:mm:ss,也就是把T换成空格。百度了很多资料也不知道怎么解决,最后用的正则解决,暂时可用,不知道后面会不会出问题。

代码如下:

<!-- 自定义时间日期类型 yyyy-MM-dd HH:mm:ss -->
	<xs:simpleType name="myDateTime">	
		<xs:restriction base="xs:string">
			<xs:pattern value="((((1[6-9]|[2-9]\d)\d{2})-(0?[13578]|1[02])-(0?[1-9]|[12]\d|3[01]))|(((1[6-9]|[2-9]\d)\d{2})-(0?[13456789]|1[012])-(0?[1-9]|[12]\d|30))|(((1[6-9]|[2-9]\d)\d{2})-0?2-(0?[1-9]|1\d|2[0-8]))|(((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))-0?2-29-)) (20|21|22|23|[0-1]?\d):[0-5]?\d:[0-5]?\d|((((1[6-9]|[2-9]\d)\d{2})-(0?[13578]|1[02])-(0?[1-9]|[12]\d|3[01]))|(((1[6-9]|[2-9]\d)\d{2})-(0?[13456789]|1[012])-(0?[1-9]|[12]\d|30))|(((1[6-9]|[2-9]\d)\d{2})-0?2-(0?[1-9]|1\d|2[0-8]))|(((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))-0?2-29-))"></xs:pattern>
		</xs:restriction>
	</xs:simpleType>


版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

输入校验--基于XML配置方式实现

1. 基于XML配置方式实现对action的所有方法进行输入校验    使用基于XML配置方式实现输入校验时,Action也需要继承ActionSupport,并且提供校验文件,校验文件和actio...

XML解释及验证机制

XML基础及DTD与scheme校验机制
  • zane3
  • zane3
  • 2017-03-18 13:15
  • 335

程序员升职加薪指南!还缺一个“证”!

CSDN出品,立即查看!

javascript前端XML格式正确性验证方法

一、原理: 鉴于最近要做一个前端xml的数据验证,查找了一些资料,并且自我做了一些总结,写了一个简单的xml字符串验证函数,其实现的过程主要是通过用xml解析器去解析xml字符串,如果解析错误,会报...

验证框架的配置及validation.xml常用的验证规则

原文:http://www.blogjava.net/focusJ/archive/2010/11/15/367272.html validation.xml 的命名规则和放置路径: 文件...

Struts2框架xml验证

struts2框架验证(xml方式) 首先要从页面中获取对应的标签name属性的值,在动作类action中声明同名的属性,提供get和set方法创建一个xml格式验证文件:命名方式:ActionCla...

获取XML的验证模式。

最近在研究Spring源码,博文中的内容来源《Spring源码深度解析》这一本书,感激不尽。

spring源码附录(1)java实现对XML格式的验证

最近在看spring源码,涉及到xml文档的解析、xml文档的格式验证,发现自己对xml解析的基础较为薄弱,本篇博客复习下DOM方式解析xml(即spring解析xml的方式)。DOM解析XML是将整...

XML的校验方式

XML=可扩展标记语言(eXtensible Markup Language).可扩展标记语言XML是一种简单的数据存储语言,使用一系列简单的标记描述数据,而这些标记可以用方便的方式建立,虽然XML占...

xml有效性验证

最近在进行xml的有效性验证,发现了一些以前不知道的报错信息。 XML 文档形成一种树结构 XML 文档必须包含根元素。该元素是所有其他元素的父元素。 XML 文档中的元素形成了一棵文档树。...

利用xsd校验xml文件格式

1.xml文件 super_ccc
  • super_ccc
  • 2016-02-03 17:00
  • 950
  • 收藏助手
    不良信息举报
    您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
    举报原因:
    原因补充:

    (最多只允许输入30个字)