当前位置:  编程语言>java/jsp

以NetBeans IDE为例介绍如何使用XML中Schema语言

 
    发布时间:2014-1-12  


    本文导语:  Schame是一种语言,与DTD相似,同样用于描述和规范XML文档的逻辑结构。但是与DTD相比它又有着明显的优势,因此Schame被普遍认为是DTD的取代者。什么是XML Schema?XML Schema:1. 定义可出现在文档中的元...

          Schame是一种语言,与DTD相似,同样用于描述和规范XML文档逻辑结构。但是与DTD相比它又有着明显的优势,因此Schame被普遍认为是DTD的取代者。什么是XML SchemaXML Schema:

1.  定义可出现在文档中的元素

2.  定义可出现在文档中的属性

3.  定义哪个元素是子元素

4.  定义子元素的次序

5.   定义子元素的数目

6.  定义元素是否为空,或者是否可包含文本

7.   定义元素和属性的数据类型

8.  定义元素和属性的默认值以及固定值

        下面我们就来了解一下与DTD相比,Schame到底有何优势:

1.    Schame可针对未来的需求进行扩展

2.    Schame与DTD相比更加完善,功能更强大。

3.    Schame是基于XML编写的,本身就是一个有效的XML文档,因而可以更直观的了解XML的结构。

4.    Schame支持命名空间

5.    Schame内置多种简单和复杂的数据类型,并支持自定义数据类型。

       既然Schame有这么多的优点,那我们就通过实例来具体讲解一下Schame是怎样使用的(以NetBeans IDE为例讲解,在其他IDE环境中类似)。

1.   首先用记事本新建一个txt文件命名email

2.   打开记事本编辑如下内容并保存:

      其中有以下几点需要说明一下:

    a.  中的“schema”表示该文件的根元素是

    b. “xmlns:xs="http://www.w3.org/2001/XMLSchema"”表示中用到的元素和数据类型来自命名空间“http://www.w3.org/2001/XMLSchema”,同时规定来自该命名控件的元素和数据类型应该使用前缀xs。

    c. “”,标签之间嵌着”to”,”from”等五个元素,表名遵循该xsd规则的xml文件必须以email标签开始,email标签之间嵌着”to”等五个元素。

    d.  表示该xsd文件定义了复杂类型的数据

    e.  表示遵循该规则的xml文件中以上”to”等五个嵌入标签的顺序不能混乱。

     f.  更多xsd元素解释请参见:http://baike.baidu.com/view/1374119.htm

3.   将保存后的email.txt文件更改后缀名为email.xsd文件。这样一个schame文件建造完毕。

4.   在NetBeans中新建项目SchameApplication,将email.xsd文件拖到该项目“web页”文件夹中。然后在该文件加下建立xstTest.xml文件。

5.   在xsdTest.xml文件中指定该文件遵循email.xsd规范,并编辑内容如下:

www.@163.com www.169it.com@163.com www.169it.com@163.com

      建立好xsdtest.xml文件后,右键单击该文件,选择“验证xml”,此时在输出栏中将会出现验证结果,当然我们建立的xsdtest文件是遵循了xsd规范的xml文件,验证是通过的。如果我们向验证一下xsd文件是否对xmltest.xml起作用,可以人为改动任意两个元素的位置,比如将”to”和”from”互换位置,此时以同样的方法再次验证该xml文件,你会发现在输出栏中将会给出提示“cvc-complex-type.2.4.a: 发现了以元素 'to' 开头的无效内容。应以'{from}' 之一开头。 [4]”提示,这表明我们的xsd文件确实起到了规范xml文件逻辑结构的作用。


  • 本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载,整理或搜集自网络.欢迎任何形式的转载,转载请注明出处.
    转载请注明:文章转载自:[169IT-IT技术资讯]
    本文标题:以NetBeans IDE为例介绍如何使用XML中Schema语言
相关文章推荐:


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3