xml的今生今世
跟随小编学习的脚步,今天小编来简单总结一下xml的今生今世,xml百度百科对她这样诠释到:可扩展标记语言 (ExtensibleMarkup Language, XML),用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。XML 被设计用来传输和存储数据。
XML是标准通用标记语言 (SGML) 的子集,非常适合 Web 传输。XML提供统一的方法来描述和交换独立于应用程序或供应商的结构化数据。今天这篇博文,小编主要简单的总结一下刘伟老师的xml学习视频的知识点,然后小编分别从什么是xml?xml的特点,xml和html的区别和联系,DTD,Schema几个方面对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例子的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的今生今世的更多相关文章
- xml在此生活
小编尾随学习的步伐.今天小编简要概述xml在此生活,xml她的百度百科这一解释:可扩展标记语言 (ExtensibleMarkup Language, XML).用于标记电子文件使其具有结构性的标记语 ...
- XStream将java对象转换为xml时,对象字段中的下划线“_”,转换后变成了两个的解决办法
在前几天的一个项目中,由于数据库字段的命名原因 其中有两项:一项叫做"市场价格"一项叫做"商店价格" 为了便于区分,遂分别将其命名为market ...
- .NET Core采用的全新配置系统[9]: 为什么针对XML的支持不够好?如何改进?
物理文件是我们最常用到的原始配置的载体,最佳的配置文件格式主要由三种,它们分别是JSON.XML和INI,对应的配置源类型分别是JsonConfigurationSource.XmlConfigura ...
- WebApi接口 - 响应输出xml和json
格式化数据这东西,主要看需要的运用场景,今天和大家分享的是webapi格式化数据,这里面的例子主要是输出json和xml的格式数据,测试用例很接近实际常用情况:希望大家喜欢,也希望各位多多扫码支持和点 ...
- XML技术之DOM4J解析器
由于DOM技术的解析,存在很多缺陷,比如内存溢出,解析速度慢等问题,所以就出现了DOM4J解析技术,DOM4J技术的出现大大改进了DOM解析技术的缺陷. 使用DOM4J技术解析XML文件的步骤? pu ...
- UWP开发之Mvvmlight实践六:MissingMetadataException解决办法(.Net Native下Default.rd.xml配置问题)
最近完成一款UWP应用,在手机端测试发布版(Release)的时候应用莫名奇妙的强行关闭,而同样的应用包在PC端一点问题都没有,而且Debug版在两个平台都没有问题,唯独手机的Release版有问题. ...
- PHP中遍历XML之SimpleXML
简单来讲述一些XML吧,XML是可扩展标记语言,是一种用于标记电子文件使其具有结构性的标记语言.XML是当今用于传输数据的两大工具之一,另外一个是json. 我们在PHP中使用XML也是用来传输数据, ...
- Asp.Net 操作XML文件的增删改查 利用GridView
不废话,直接上如何利用Asp.NET操作XML文件,并对其属性进行修改,刚开始的时候,是打算使用JS来控制生成XML文件的,但是最后却是无法创建文件,读取文件则没有使用了 index.aspx 文件 ...
- Mybatis XML配置
Mybatis常用带有禁用缓存的XML配置 <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE ...
随机推荐
- PHP内核之旅-1.生命周期
1.SAPI接口 PHP具体应用的编程接口. 2.开始和结束 PHP开始执行以后会经过两个主要的阶段: 处理请求之前的开始阶段和请求之后的结束阶段. 1.1开始阶段: 1.1.1 模块初始化阶段(MI ...
- C语言第二次作业-----顺序结构
一:改错题 (1)输出指定信息: 将给定源代码输入编译器: 执行编译命令,发现编译器报错,错误信息如下: 经检查,发现源程序将"stdio.h"误拼为"stido.h&q ...
- Java 中 json字符串转换为类
使用到alibaba.fastjson包 具体实现 JSONObject jsonObject = JSONObject.parseObject(msg); SmsSenderStatus smsSe ...
- PAT甲级真题打卡:1001.A+B Format
题目: Calculate a + b and output the sum in standard format -- that is, the digits must be separated i ...
- Linux学习之CentOS(六)---mount挂载设备(u盘,光盘,iso等 )
对于新手学习,mount 命令,一定会有很多疑问.其实我想疑问来源更多的是对linux系统本身特殊性了解问题. linux是基于文件系统,所有的设备都会对应于:/dev/下面的设备.如: [cheng ...
- Tomcat出现validateJarFile-jar not loaded问题
tomcat启动时问题: validateJarFile(...\WEB-INF\lib\servlet-api.jar)-jar not loaded. See Servlet Spec 2.3, ...
- 数据结构之堆Heap
1. 概述 堆(也叫优先队列),是一棵完全二叉树,它的特点是父节点的值大于(小于)两个子节点的值(分别称为大顶堆和小顶堆).它常用于管理算法执行过程中的信息,应用场景包括堆排序,优先队列等. 2. 堆 ...
- hadoop hdfs 高可用
单点故障: 如果某一个节点或服务出了问题,导致服务不可用 单点故障解决方式: 1.给容易出故障的地方安排备份 2.一主一备,要求同一时刻只能有一个对外提供服务 3.当active挂掉之后,standb ...
- MLDS笔记:浅层结构 vs 深层结构
深度学习出现之前,机器学习方面的开发者通常需要仔细地设计特征.设计算法,且他们在理论上常能够得知这样设计的实际表现如何: 深度学习出现后,开发者常先尝试实验,有时候实验结果常与直觉相矛盾,实验后再找出 ...
- ReactNative 4Android源码分析二: 《JNI智能指针之实现篇》
文/Tamic http://blog.csdn.net/sk719887916/article/details/53462268 回顾 上一篇介绍了<ReactNative4Android源码 ...