`
747017186
  • 浏览: 317345 次
社区版块
存档分类
最新评论

schema校验xml

    博客分类:
  • xml
 
阅读更多

最近一段时间研究schema校验xml,很不熟悉,在这里做个记录。

schema:用于校验xml的完整性。数据的形态都可以进行校验。

下面我们来看一个schema,schema的后缀名是.xsd.

1.xsd:

<schema> 元素可包含属性。一个 schema 声明往往看上去类似这样:

<?xml version="1.0"?>
 
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.w3school.com.cn"
xmlns="http://www.w3school.com.cn"
elementFormDefault="qualified">

...
...
</xs:schema>

代码解释:

下面的片断:

xmlns:xs="http://www.w3.org/2001/XMLSchema"

显示 schema 中用到的元素和数据类型来自命名空间 "http://www.w3.org/2001/XMLSchema"。同时它还规定了来自命名空间 "http://www.w3.org/2001/XMLSchema" 的元素和数据类型应该使用前缀 xs:

我们必须了解的是这个空间不能随便改变,因为后面定义数据的类型都要用到这个空间里面字符类型。

 

 

这个片断:

targetNamespace="http://www.w3school.com.cn" 

显示被此 schema 定义的元素 (note, to, from, heading, body) 来自命名空间: "http://www.w3school.com.cn"。

显示各个标签的默认空间,可以进行修改。

 

 

这个片断:

xmlns="http://www.w3school.com.cn" 

指出默认的命名空间是 "http://www.w3school.com.cn"。

没什么用,但是最好保留,改不改不影响校验结果

 

这个片断:

elementFormDefault="qualified" 

指出任何 XML 实例文档所使用的且在此 schema 中声明过的元素必须被命名空间限定。

 

 

 

 

在 XML 文档中引用 Schema

此 XML 文档含有对 XML Schema 的引用:

<?xml version="1.0"?>

<note xmlns="http://www.w3school.com.cn"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.w3school.com.cn note.xsd">

<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don't forget the meeting!</body>
</note>

代码解释:

下面的片断:

xmlns="http://www.w3school.com.cn" 

规定了默认命名空间的声明。此声明会告知 schema 验证器,在此 XML 文档中使用的所有元素都被声明于 "http://www.w3school.com.cn" 这个命名空间。

这个空间的名称可以修改,但是必须和xsd文件里面targetNamespace这个空间的命名相同

 

 

一旦您拥有了可用的 XML Schema 实例命名空间:

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 

这个不可以修改,其中xsi只是变量,可以修改。但是后面的内容不可以修改。

 

 

您就可以使用 schemaLocation 属性了。此属性有两个值。第一个值是需要使用的命名空间。第二个值是供命名空间使用的 XML schema 的位置:

这个可以修改,但是必须和xsd文件里面targetNamespace这个空间的命名相同

xsi:schemaLocation="http://www.w3school.com.cn note.xsd"
分享到:
评论

相关推荐

    通过Schema验证XML格式是否正确

    C#源码, 通过Schema验证XML文件格式是否正确

    Java通过XML Schema校验XML

    ava校验XML是件很扯淡的事情,因为Sun的XML相关软件包会令你云里雾里。  W3C这块的XML相关的规范相当的多,这也是导致XML处理器起来费劲的主要原因。要想精通这些规范和相关的API,实在是异想天开(新的规范在不停...

    c# XML 验证器 Schema验证XML

    NULL 博文链接:https://fhqiwcw.iteye.com/blog/1696624

    DTD和Schema规范XML文档

    [实验目的]: 1、掌握使用XMLSpy软件创建DTD和Schema文档 2、掌握在XML文档如何引入DTD和Schema,并验证有效 3、掌握DTD中声明元素、属性的方法 4、掌握Schema中声明元素,属性,类型的方法

    java中实现xmlschema验证文件借鉴.pdf

    java中实现xmlschema验证文件借鉴.pdf

    XML - 实验(2) -- Schema

    1、学习如何使用XMLSPY集成开发环境完成XML Schema相关的开发工作。 2、掌握XML Schema与DTD之间的区别,能够完成两者之间的转换;掌握在XML Schema中如何定义元素和属性,如何使用限制、列表和合并派生自己的简单...

    《XML》实验(2) -- Schema

    1、学习如何使用XMLSPY集成开发环境完成XML Schema相关的开发工作。 2、掌握XML Schema与DTD之间的区别,能够完成两者之间的转换;掌握在XML Schema中如何定义元素和属性,如何使用限制、列表和合并派生自己的简单...

    xml dom,sax解析,schema验证

    xerces-c++ 2.8应用,主要报错xml文件的解析,创建,修改保存。schema验证的。希望对初学者有所帮助.

    Eclipse的XML编辑器

    使用DTD或Schema校验XML。从XML生成DTD或Schema。与其它编辑器相比最大不同之处在 于,Rinzo能够与Java elements结合在一起。你可以打开一个类的定义,自动完成类名,从XML声明创建类。这将非常有用假如你要编辑web....

    xml Schema 例子(C#写的验证程序)

    xml Schema 例子(C#写的验证程序)QQ:292258449

    深入理解C#中的XML,完整扫描版

    《深入理解C#中的XML》主要讲述C#软件开发中的XML的功能,全书共10章,分别介绍了XML基础语法、应用文档对象模型、用XSLT转换XML文档、利用DTD和XSDSchema验证XML文档、XML文档的读取、ADO.NET的相关知识、....

    XML Schema

    介绍XML中schema的语法,使用指南等等,使用schema进行内容校验

    schema_xml.rar_vc xml

    分享一下在网上找到的关于vc中xml文档校验的文章,自己试验过了,比较好用!

    武汉大学软工xml上机第二次作业Schema

    1、学习如何使用XMLSPY集成开发环境完成XML Schema相关的开发工作。2、掌握XML Schema与DTD之间的区别,能够完成两者之间的转换;掌握在XML Schema中如何定义元素和属性,如何使用限制、列表和合并派生自己的简单...

    xml schema 学习笔记

    介绍了xml的schema校验的基本知识

    DOMCount.rar_Schema C_XML程序开发_personal_xml list_解析xml

    默认情况下xxx=auto,如果DOCTYPE声明或schema声明出现在XML文档中,将进行验证:xxx=always,强制进行验证:xxx=never,不使用验证。 -n,允许处理名字空间。默认情况下不允许。 -s,允许处理大纲。默认情况下不...

    XSD(XML Schemas Definition)

    可以用一个指定的XML Schema来验证某个XML文档,以检查该XML文档是否符合其要求。文档设计者可以通过XML Schema指定一个XML文档所允许的结构和内容,并可据此检查一个XML文档是否是有效的。XML Schema本身是一个XML...

    java中实现xmlschema验证文件参照.pdf

    java中实现xmlschema验证文件参照.pdf

    《XML》实验任务书 XML Schema 答案 解答

    1、学习如何使用XMLSPY集成开发环境完成XML Schema相关的开发工作。 2、掌握XML Schema与DTD之间的区别,能够完成两者之间的转换;掌握在XML Schema中如何定义元素和属性,如何使用限制、列表和合并派生自己的简单...

    xmlschema:适用于Python的XML模式验证器和数据转换库

    xmlschema:适用于Python的XML模式验证器和数据转换库

Global site tag (gtag.js) - Google Analytics