您的位置:首页 > 编程语言 > Java开发

一个JAVA的XSD解析问题的解决

2016-11-25 16:38 211 查看
现在很多XML配置文件都引入XSD来简化配置。Spring在加载这些配置的时候就可能会遇到问题:

nested exception is org.xml.sax.SAXParseException; lineNumber: 6; columnNumber: 9; cvc-complex-type.2.4.c: 通配符的匹配很全面, 但无法找到元素 'config' 的声明。

这个肯定是配置问题。

<spring:beans xmlns:spring="http://www.springframework.org/schema/beans"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.csii.com.cn/schema/pe"

xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
那么这样的配置有是如如查找的呢?比如java是如何找到“http://www.springframework.org/schema/beans/spring-beans.xsd”。

其一:当然是联网了啦。所以要确保URL地址是对的。能访问。

其二:那不能联网怎么办。我内部程序还要联网拿。。当然不是的,java也会在java包里面找了啦。。

在相应的jar包里面的“META-INF”目录找到如下的映射文件也可以啦

http\://www.xxxxxxx.com.cn/schema/config.xsd=/com/xxxxxxx/spring/config/config-6.1.xsd

所以就是这样啦。

XSD定义:

XSD是指XML结构定义 ( XML Schemas Definition )XML Schema 是DTD的替代品。XML Schema语言也就是XSD。XML Schema描述了XML文档的结构。可以用一个指定的XML Schema来验证某个XML文档,以检查该XML文档是否符合其要求。文档设计者可以通过XML Schema指定一个XML文档所允许的结构和内容,并可据此检查一个XML文档是否是有效的。XML
Schema本身是一个XML文档,它符合XML语法结构。可以用通用的XML解析器解析它。 一个XML Schema会定义:文档中出现的元素、文档中出现的属性、子元素、子元素的数量、子元素的顺序、元素是否为空、元素和属性的数据类型、元素或属性的默认和固定值。 XSD是DTD替代者的原因,一是据将来的条件可扩展,二是比DTD丰富和有用,三是用XML书写,四是支持数据类型,五是支持命名空间。 XSD文件的后缀名为.xsd。 XML Schema的优点: 1) XML Schema基于XML,没有专门的语法 2)
XML可以象其他XML文件一样解析和处理 3) XML Schema支持一系列的数据类型(int、float、Boolean、date等) 4) XML Schema提供可扩充的数据模型。 5) XML Schema支持综合命名空间 6) XML Schema支持属性组。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐