xml的今生今世

时间:2022-09-17 16:48:18

跟随小编学习的脚步,今天小编来简单总结一下xml的今生今世,xml百度百科对她这样诠释到:可扩展标记语言 (ExtensibleMarkup Language, XML),用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。XML 被设计用来传输和存储数据。

XML是标准通用标记语言 (SGML) 的子集,非常适合 Web 传输。XML提供统一的方法来描述和交换独立于应用程序或供应商的结构化数据。今天这篇博文,小编主要简单的总结一下刘伟老师的xml学习视频的知识点,然后小编分别从什么是xml?xml的特点,xml和html的区别和联系,DTD,Schema几个方面对xml的今生今世进行详细的介绍,首先,下图是小编对刘伟老师的xml视频的总结:

xml的今生今世

沿着小编介绍xml的今生今世的路线,开始对xml的详细介绍:

  一、什么是xml

XML是一种可扩展标记语言 (Extensible Markup Language, XML)。XML重在数据交换,用于不同平台或者应用程序之间交换数据,存储数据。

二、xml的特点

a、XML使用Unicode字符集,可生成英文、中文、希腊文或梵文等多种语言。

b、可将多个来源(包括其他XML文档和二进制文件)汇合进一个XML文档。

c、可利用DTD或Schema(模式)管理一致性问题。DTD主要用于文档型文档,Schema主要用数据型文档。

d、具有很好的扩展性,可定义自已的元素和属性。

e、通过XML可从关系数据库管理系统中提取数据到结构化文档。它还被设计成可对各种数据对象进行操作。

f、在一个设计良好的XML应用中,XML标记不涉及文档如何显示,只表示文档的结构。

       xml被设计用来存储、支持和交换数据,而不是用来显示数据的。通常,XML被用于数据交换,而不是数据存储。下图就很好的表示了xml作为电子数据交换的统一格式。

三、xml  pk  html

   关系

a、xml不是用来替换html的技术

b、xml和html为不同的目的而设计

c、xml设计的核心是包含和传输数据

d、html设计的核心是显示数据

e、他们两个都是标记语言(ML),一个是超文本标记语言,一个是扩展标记语言

 区别

a、可扩展性:HTML不具备扩展性,而XML是原标记语言,可以用于定义新的标记语言

b、侧重点:HTML侧重于如何表现信息,而XML是侧重于如何结构化的描述信息

c、语法要求:HTML不要求标记的嵌套,配对等,不要求标记间具有一定的顺序,而XML则是严格要求嵌套,配对,遵循DTD的树形结构。

d、可读性和维护性:HTML难于阅读维护,而XML结构清晰,便于阅读维护

  四、DTD

概述

DTD(Document Type Definition),定义了XML文件的结构,为XML文件提供了语法与规则,内容既可以定义在XML文件中,也可以定义在XML文件之外(分为内部DTD和内部DTD(效果一样)),使用XML进行数据教书的行业或组织可定义自己的DTD。

分类

a、每个XML文档可单独定义的DTD,也可以推广为一个系统共享的公用DTD。

b、外部DTD,一个由权威机构制定的,提供给特定行业或公众使用哦的DTD。

语法

<!ELEMENT NAMECONTENT>   ,说明:NAME表示一个标准的XML的标记名称,CONTENT为下边介绍的内容模型。

   为什么要使用DTD

    a、通过 DTD,您的每一个 XML 文件均可携带一个有关其自身格式的描述。

b、通过 DTD,独立的团体可一致地使用某个标准的 DTD 来交换数据。

c、您的应用程序也可使用某个标准的 DTD来验证从外部接收到的数据。

d、您还可以使用 DTD来验证您自身的数据。总而言之就是给我们规章可循,使XML文件可以按照DTD很好的交换和表现。

内容模型介绍:

xml的今生今世

 小试牛刀

一个XML例子的DTD文档

<!DOCTYPE Resume
[
  <!--说明Resume元素中包含子元素Name,Email,HomePage,Publication-->
  <!ELEMENT Resume (Name,Email,HomePage,Publication)>
  <!--说明Name,Emal,HomePage元素只能包含字符数据,不能包含子元素-->
  <!ELEMENT Name (#PCDATA)>
  <!ELEMENT Email (#PCDATA)>
  <!ELEMENT HomePage (#PCDATA)>
  <!--说明Publication包含Book子元素-->
  <!ELEMENT Publication (Book)>
  <!ELEMENT Book (Title,Pages)>
]>

 五、Schema

概述

Schema模式使用的是一种类似于XML的语言,该模式中既有全局声明也有局部声明。Schema模式具有一套完整的数据类型系统,以便对数据类型进行详细定义,Schema模式文档是一个独立于XML文档的文本文件,其扩展名为.xsd。

定义和作用

a、Schema描述xml文档的结构

b、Schema是基于xml的DTD替代者

c、Schema也称为:xml Schema
Definition(xsd)

d、Schema要比DTD更强大

e、Schema使用xml语法

f、有xml编写Schema有很多好处

不必学习新的语言

可使用xml编辑器来编辑Schema文件

可使用xml解析器来解析Schema文件

g、Schema可包含数据通信

当数据从发送方被发送到接受方时,其要点是双方应有关于内容的相同的“期望值”

通过Schema。发送方可以用一种接受方能够明白的方式来描述数据

一种数据,比如“05-10-1992”,在某些国家被解释为10月5日,而在另一些国家为当作5月10日

但是一个带有数据类型的xml元素,比如<date type="date">1992-10-05</date>,可确保对内容一致的理解,这是因为xml的数据类型“date”要求的格式是“YYYY-MM-DD”

小试牛刀

使用Schema的xml文件

<?xml version="1.0" encoding="utf-8"?>
<email xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:noNamespaceSchemaLocation="email.xsd">
	   <to>liuwei8809@163.com</to>
	   <from>hellokitty@163.com</from>
       <title>loving</title>
	   <body>I love you forever!</body>
	   <date>2014-12-7 11:16:32</date>
</email>

小编寄语:该篇博文,小编主要总结了刘伟老师的xml视频,小编主要把xml的今生今世分成三个大分支,分别是基础、DTD、Schema,接着,小编分别从什么是xml?xml的特点,xml和html的区别和联系,DTD,Schema几个方面对xml的今生今世进行详细的介绍。就小编目前理解xml的水平来看,小编赶脚xml就是纯粹的文本文件,任何能够处理文本文件的应用程序都可以处理。但是不同的是有些应用程序能够针对性的处理其中的元素,来显示数据。数据为了更便捷的传输,那么简单的就需要一套标准来统一,这样才能交流起来不会受限制,所以就有了DTD以及后来的Schema模式。又由于存放的位置不同分为外部和内部。B/S学习,未完待续......

xml的今生今世的更多相关文章

  1. xml在此生活

    小编尾随学习的步伐.今天小编简要概述xml在此生活,xml她的百度百科这一解释:可扩展标记语言 (ExtensibleMarkup Language, XML).用于标记电子文件使其具有结构性的标记语 ...

  2. XStream将java对象转换为xml时,对象字段中的下划线&OpenCurlyDoubleQuote;&lowbar;”,转换后变成了两个的解决办法

            在前几天的一个项目中,由于数据库字段的命名原因 其中有两项:一项叫做"市场价格"一项叫做"商店价格" 为了便于区分,遂分别将其命名为market ...

  3. &period;NET Core采用的全新配置系统&lbrack;9&rsqb;&colon; 为什么针对XML的支持不够好?如何改进?

    物理文件是我们最常用到的原始配置的载体,最佳的配置文件格式主要由三种,它们分别是JSON.XML和INI,对应的配置源类型分别是JsonConfigurationSource.XmlConfigura ...

  4. WebApi接口 - 响应输出xml和json

    格式化数据这东西,主要看需要的运用场景,今天和大家分享的是webapi格式化数据,这里面的例子主要是输出json和xml的格式数据,测试用例很接近实际常用情况:希望大家喜欢,也希望各位多多扫码支持和点 ...

  5. XML技术之DOM4J解析器

    由于DOM技术的解析,存在很多缺陷,比如内存溢出,解析速度慢等问题,所以就出现了DOM4J解析技术,DOM4J技术的出现大大改进了DOM解析技术的缺陷. 使用DOM4J技术解析XML文件的步骤? pu ...

  6. UWP开发之Mvvmlight实践六:MissingMetadataException解决办法(&period;Net Native下Default&period;rd&period;xml配置问题)

    最近完成一款UWP应用,在手机端测试发布版(Release)的时候应用莫名奇妙的强行关闭,而同样的应用包在PC端一点问题都没有,而且Debug版在两个平台都没有问题,唯独手机的Release版有问题. ...

  7. PHP中遍历XML之SimpleXML

    简单来讲述一些XML吧,XML是可扩展标记语言,是一种用于标记电子文件使其具有结构性的标记语言.XML是当今用于传输数据的两大工具之一,另外一个是json. 我们在PHP中使用XML也是用来传输数据, ...

  8. Asp&period;Net 操作XML文件的增删改查 利用GridView

    不废话,直接上如何利用Asp.NET操作XML文件,并对其属性进行修改,刚开始的时候,是打算使用JS来控制生成XML文件的,但是最后却是无法创建文件,读取文件则没有使用了 index.aspx 文件 ...

  9. Mybatis XML配置

    Mybatis常用带有禁用缓存的XML配置 <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE ...

随机推荐

  1. 相克军&lowbar;Oracle体系&lowbar;随堂笔记006-日志原理

    简单来说,学习Oracle数据库就两个目标: 保证数据库数据的一致性: 提高数据库的性能(这个和日志没关系).   日志的功能:     只是保证数据库数据的一致性:   1.Oracle日志原理   ...

  2. js的client详解

    clientWidth:可视区宽       说明:样式宽+padding clientHeight:可视区高       说明:样式高+padding elem.clientWidth //获取元素 ...

  3. h&period;APR通道是个怎么回事

    APR通道是Tomcat比较有特色的通道,在早期的JDK的NIO框架不成熟的时候,因为java的网络包的低效,Tomcat使用APR开源项目做网络IO,这样有效的缓解了java语言的不足,提供了一个高 ...

  4. warning MSB3391

    1.用C#生成dll文件 提示 (warning MSB3391)"未包含任何可为 COM 互操作注销的类型"和 ( warning MSB3214)"不包含任何可为 C ...

  5. 在js中拼接&lt&semi;a&gt&semi;标签&comma;&lt&semi;a&gt&semi;标签中含有onclick事件,点击无法触发该事件

    我们在<a>标签中添加事件一般是onclick="editUser()" 这样添加,在html页面上是行的通的 但是如何你是在js中拼接<a>标签并在&lt ...

  6. zzuli 1812&colon; sort 排序

    1812: sort Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 352  Solved: 216 SubmitStatusWeb Board De ...

  7. SQLiteOpenHelper与SQLiteDatabase的使用

    1. 数据类型 与其它数据库不同,SQLite的数据类型很简单,只有NULL(空类型).INTEGER(整型).REAL(浮点型).TEXT(字符串型).BLOB(二进制型). SQLite为动态数据 ...

  8. js事件驱动函数

    输入框 获得光标的这个行为叫做获取焦点 失去光标的这个行为叫做失去焦点 blur 失去焦点 1.获取标签的时候,一定要先等页面加载完成,再去获取这个标签. 可以将整个script代码写在body的下面 ...

  9. Java中关键字static的使用

    static 关键字 1).static只能修饰成员变量或成员方法,所有非静态是对象相关的,所有静态是类相关的. 2)被static修饰的成员变量成员方法独立于该类的任何对象,它不依赖类的特定的实例, ...

  10. zw版【转发&&num;183&semi;*nvp系列Delphi例程】HALCON LocalMin2

    zw版[转发·*nvp系列Delphi例程]HALCON LocalMin2 procedure TForm1.Button1Click(Sender: TObject);var img : HUn ...