XML中的模式Schema代码详细介绍(图)

xml中拥有schema特性,能够比dtd更加强大地引入元素结构,下面我们就来详解xml中的模式schema的概念及作用和用法,需要的朋友可以参考下

文档定义模型为XML文档提供了规范,DTD的引入虽然解决了XML文档的规范化问题,但它文件格式类型和XML文件格式类型不一致,同时DTD提供的数据类型有限有时候无法满足行业的需求,所以引入了Schema。Schema模式可以确定XML文档的元素和属性的结构、元素的顺序、元素和属性的数据值,根据范围、枚举以及样式匹配等。
XML中的模式Schema代码详细介绍(图)

一、Schema初识

XML Schema语言也被称为XML Schema Definition (XSD),它的作用是定义一份XML文档的合法组件群(XML文档的结构),就像DTD的作用一样。 XML Schema以XML语言作为基础,也可以说XML Schema自身就是XML的一种应用。

1、Schema作用

XML Schema和DTD的作用一样,都是用来定义一个XML文档的结构的模式,那么为什么有了DTD还要有XML Schema呢? 因为,XML Schema比DTD作用更加强大。

Xml Schema 比 DTD的优越性:
(1)模式是可扩展的
(2)模式比 DTD 功能更丰富且更有用
(3)模式是用 XML 编写的
(4)模式支持数据类型
(5)模式支持名称空间
(6)不需要在学习其他的语言
(7)可以直接使用XML编辑器来编写XML Schema
(8)可以直接使用XML解析器来解析XML Schema
(9)可以使用XML DOM来灵活的操作XML Schema
(10)可以使用XSLT技术来转换XML Schema

2、对比学习

1.1 作用上

两者相同,都是定义了一个XML文档的结构的模式。

1.2 用法上

两者作用相同,但是语法上有些区别。Schema是DTD的扩展,同样支持元素和属性的定义,并且定义的语法相似,但Schema可以给元素和属性添加相应的数据类型,同时还引入了全局和局部元素声明的语法,另外根据元素和属性的数据内容引入了简单类型和复杂类型。
所谓的简单类型(SimpleType)和复杂类型(ComplexType),它们本身并不是具体的数据类型,它们只是对节点或者自定义类型的类型作一个抽象的说明。

也就是说Schema的引入使得模式的声明更加类似于我们使用的编程语言。

二、实例详解

2.1 Schema实例

清单1:User.xml文档结构

XML/HTML Code复制内容到剪贴板             xx用户名>         123456密码>         1用户类型>   用户>用户列表>

登录后复制

清单2:使用全局组件形式来定义Schema,User.xsd

XML/HTML Code复制内容到剪贴板                         

登录后复制

清单3:使用局部形式定义Schema,User.xsd

XML/HTML Code复制内容到剪贴板                                                               

登录后复制

清单2和清单3的都定义了User.xsd,它们的作用是相同的,都是为了验证XML文档的合法性,但定义的方法不同,清单2是使用全局组件的形式定义,而清单3使用的局部形式定义,具体的区别请看下文。

2.2 基本用法

上文中我们分别从作用和用法上对Schema和DTD进行了对比分析,Schema和DTD最大的区别在于Schema引入了数据类型,其它的如元素和属性的声明等类似于DTD,在下面讨论时就不再详述。

Schema基本内容导图:
XML中的模式Schema代码详细介绍(图)

2.2.1 引用语法
当一个模式文件建立好以后,可以用它来验证某一个XML文档的有效性,也就是说检验某个XML文档是否遵循了模式文件的定义。 那么,XML文档怎么来引用一个模式文档呢?
Schema模型的引用更类似于前面所说的命名空间的应用方法,具体实例如下:

XML/HTML Code复制内容到剪贴板   我是谁用户名>  123456密码>  1用户类型> 用户>用户列表>

登录后复制

2.2.2 元素类型
(1)按照内容的不同分为简单和复杂元素,分别使用simpleType和complexType标示。
简单元素:元素中内容只能是文本,不包含其它的元素和属性。

XML/HTML Code复制内容到剪贴板                                                                                            

登录后复制

复杂元素:元素中包含其它的元素和属性。它有四种类型,分别是空元素、只包含其他元素、只包含正文、包含正文又包含其他元素。

XML/HTML Code复制内容到剪贴板                                                                                                            

登录后复制

(2)按照定义位置可分为局部和全局元素。
全局元素:元素的父元素必须是;
局部元素:局部元素声明只能出现在复杂类型(元素)定义内部。即元素的父元素只能是、或元素。

XML/HTML Code复制内容到剪贴板                                                                                                                                    

登录后复制

以上就是XML中的模式Schema代码详细介绍(图)的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2419668.html

(0)
上一篇 2025年3月3日 02:52:12
下一篇 2025年3月3日 02:52:43

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • 如何 精通各种Web前端技术?

    看见很多岗位要求都是: 1. 精通各种web前端技术,包括xhtml/xml/css/javascript/actionscript等(js和as之一即可); 2. 深刻理解web标准,对可用性、可访问性等相关知识有实际的了解和实践经验; …

    编程技术 2025年4月1日
    100
  • xml跟html有关系吗?

    我感觉xml是用来定义数据的,而html是用来展示数据(元素)的。这两者完全是两个概念啊。 回复内容: 当初HTML是SGML的一个应用(意思是SGML可以有许多应用,比如docbook最初也是SGML的一个应用),而XML是简化了的SGM…

    编程技术 2025年4月1日
    100
  • XML与HTML的区别

    相信有很多同学都搞不清楚html和xml到有什么区别对吧!今天就让我们看一下html和xml的区别在哪里,html和xml的语法有什么不同。 一、什么是HTML        带着疑问走到这里,一句话:HTML(HyperTextMark-…

    编程技术 2025年4月1日
    100
  • 怎样操作JS读取xml内容并输出到div内

    这次给大家带来怎样操作JS读取xml内容并输出到div内,操作JS读取xml内容并输出到div内的注意事项有哪些,下面就是实战案例,一起来看一下。 note.xml文件结构: GeorgeJohnReminderDon’t forget t…

    编程技术 2025年3月31日
    100
  • XML外部实体注入漏洞的示例分析

    一、XML外部实体注入 xml 外部实体注入漏洞也就是我们常说的 xxe 漏洞。xml 作为一种使用较为广泛的数据传输格式,很多应用程序都包含有处理 xml 数据的代码,默认情况下,许多过时的或配置不当的 xml 处理器都会对外部实体进行引…

    2025年3月30日 编程技术
    100
  • 如何使用XML和JSON处理数据?

    随着互联网的发展,数据处理成为了一个不可避免的问题。在数据处理中,xml和json这两种格式已经成为了被广泛应用的选择。本文将从什么是xml和json开始,分别介绍这两种数据格式的特点和应用场景,最后总结如何使用它们来进行数据处理。 一、什…

    编程技术 2025年3月30日
    100
  • 如何处理PHP中的XML和JSON数据

    在web开发中,我们经常需要处理不同格式的数据,包括xml和json格式的数据。在php中,处理这些数据是一个常见的任务,因为php是一种非常流行的服务器端脚本语言,而xml和json都是常用的数据交换格式。 在本文中,我们将介绍如何使用P…

    编程技术 2025年3月30日
    100
  • 如何在PHP中使用XML进行API响应

    随着互联网技术的发展,api接口的应用越来越广泛,而 xml 作为数据传输的一种格式也被广泛使用。在 php 中使用 xml 进行 api 响应是一种常见的实现方法。在本文中,我们将介绍如何在 php 中使用 xml 进行 api 响应。 …

    编程技术 2025年3月30日
    100
  • 能否用PowerPoint打开XML文件

    xml文件可以用ppt打开吗? XML,即可扩展标记语言(Extensible Markup Language),是一种被广泛应用于数据交换和数据存储的通用标记语言。与HTML相比,XML更加灵活,能够定义自己的标签和数据结构,使得数据的存…

    互联网 2025年3月29日
    100
  • xml格式用什么打开

    xml(extensible markup language)是一种标记语言,用于存储和传输结构化的数据。与html不同,xml不是用来描述展示效果的,而是用来描述数据的。打开xml文件的方法有很多种,下面介绍几种常见的xml文件打开方式。…

    互联网 2025年3月29日
    100

发表回复

登录后才能评论