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 ...
随机推荐
- TensorFlow-Slim image classification library:TensorFlow-Slim 图像分类库
TensorFlow-Slim 图像分类库 TF-slim是用于定义,训练和评估复杂模型的TensorFlow(tensorflow.contrib.slim)的新型轻量级高级API. 该目录包含用于 ...
- Python开发——利用正则表达式实现计算器算法
Python开发--利用正则表达式实现计算器算法 (1)不使用eval()等系统自带的计算方法 (2)实现四则混合运算.括号优先级解析 思路: 1.字符串预处理,将所有空格去除 2.判断是否存在括号运 ...
- App上架应用市场,如何攻破安全过检难题
App的安全过检与众所熟知的安全检测是两个完全不同的概念.首先App行业本身对App安全过检有一定的要求与规范,其次2017年6月1日正式实施的<中国网络安全法>中就曾要求App在渠道上线 ...
- 什么样的简历受HR青睐?
简历是我们在求职过程中的名片,那么如何写出更容易受到HR青睐的简历呢? HR可能一天要看上百份的简历,他们都希望能够尽快筛选出合适的人,然后用更多的时间去跟候选人沟通.所以招聘人员一般看一份简历只会花 ...
- OpenCV设置摄像头分辨率及全屏显示
OpenCV3.0下 设置摄像头分辨率为1920*1440,并全屏显示图像窗口. int _tmain(int argc, _TCHAR* argv[]) { Mat frame; VideoCapt ...
- python:浅析python 中__name__ = '__main__' 的作用(转载)
每次看文章的源码时,Python的主程序中都会看到开头有这个,查了一下作用:https://www.cnblogs.com/alan-babyblog/p/5147770.html. 讲的很详细,就直 ...
- MySQL 字符串连接CONCAT()函数
MySQL字符串连接函数 使用方法:CONCAT(str1,str2,-) 返回结果为连接参数产生的字符串.如有任何一个参数为NULL ,则返回值为 NULL. 注意:如果所有参数均为非二进制字符串, ...
- User-Agent-Switcher和fiddler
浏览器模拟器(可以模拟各种浏览器效果,浏览器中看手机显示的效果) http://chromecj.com/web-development/2014-09/70.html User-Agent-Swit ...
- 安卓高级 Android图片缓存之初识Glide
前言: 前面总结学习了图片的使用以及Lru算法,今天来学习一下比较优秀的图片缓存开源框架.技术本身就要不断的更迭,从最初的自己使用SoftReference实现自己的图片缓存,到后来做电商项目自己的实 ...
- 动手试试Android Studio插件开发
由于业务关系,经常需要写一些表单页面,基本也就是简单的增删改查然后上传,做过几个页面之后就有点想偷懒了,这么低水平重复性的体力劳动,能不能用什么办法自动生成呢,查阅相关资料,发现android stu ...