XML 高速入门总结
XML已经学习完了一段时间了。一直感觉知识比較琐碎,没有去好好总结。事实上越琐碎的知识也越须要我们去好好
理一下。将知识串起来。争取变得不再琐碎。以下是我学完xml画的一张图。
以下对XML进行一下简单的介绍。
xml介绍
XML 指可扩展标记语言(EXtensible Markup Language)。 是一种标记语言,非常类似 HTML。
XML 的设计宗旨是
数据传输。而非显示数据。XML 标签没有被提前定义。须要自行定义标签。XML 被设计为具有自我描写叙述性。
XML 是 W3C
的推荐标准。
XML 与 HTML 的主要差异
XML 不是 HTML 的替代。
XML 和 HTML 为不同的目的而设计:
XML 被设计为传输和存储数据。其焦点是数据的内容。
HTML 被设计用来显示数据,其焦点是数据的外观。
HTML 旨在显示信息,而 XML 旨在传输信息。
语法
(1)全部 XML 元素都须有关闭标签
(2)XML 标签对大写和小写敏感
(3)XML 必须正确地嵌套
(4)XML 文档必须有一个元素是全部其它元素的父元素。该元素称为根元素。
DTD和Schema
Schema是对XML文档结构的定义和描写叙述,其基本的作用是用来约束XML文件,并验证XML文件有效性。DTD的作用
是定义XML的合法构建模块,它使用一系列的合法元素来定义文档结构。它们之间的差别有以下几点:
(1)Schema本身也是XML文档,DTD定义跟XML没有什么关系,Schema在理解和实际应用有非常多的优点。
(2)DTD文档的结构是“平铺型”的,假设定义复杂的XML文档,非常难把握各元素之间的嵌套关系;Schema文档
结构性强。各元素之间的嵌套关系很直观。
(3)DTD仅仅能指定元素含有文本,不能定义元素文本的详细类型,如字符型、整型、日期型、自己定义类型等。
Schema在这方面比DTD强大。
(4)Schema支持元素节点顺序的描写叙述,DTD没有提供无序情况的描写叙述。要定义无序必需穷举排列的全部情况。
Schema能够利用xs:all来表示无序的情况。
(5)对命名空间的支持。
DTD无法利用XML的命名空间,Schema非常好满足命名空间。而且,Schema还提供了
include和import两种引用命名空间的方法。
Schema是对DTD的替代。
个人点睛
上述图中的三种标记语言的发展顺序为:html(超文本标记语言)——xhtml(可扩展性超文本标记语言)——
xml(可扩展性标记语言)。在学习知识的时候首先要把大背景给搞清楚。弄清了语言之间的关系。理清了思路,学
习起来就有条理了。
XML 高速入门总结的更多相关文章
- XML高速入门
XML是什么 Extensible Markup Language 自己定义标签: 用来数据传输: 可扩展标记语言,是一种类似超文本标记语言的标记语言. 与HTML的比較: 1.不是用来替代HTML的 ...
- Hadoop高速入门
Hadoop高速入门 先决条件 支持平台 GNU/Linux是产品开发和执行的平台. Hadoop已在有2000个节点的GNU/Linux主机组成的集群系统上得到验证. Win32平台是作为开发平台支 ...
- Bmob移动后端云服务平台--Android从零開始--(二)android高速入门
Bmob移动后端云服务平台--Android从零開始--(二)android高速入门 上一篇博文我们简介何为Bmob移动后端服务平台,以及其相关功能和优势. 本文将利用Bmob高速实现简单样例,进一步 ...
- Windows下FFmpeg高速入门
本系列文章导航 Windows下FFmpeg高速入门 ffmpeg參数解释 mencoder和ffmpeg參数具体解释(Java处理视频) Java 生成视频缩略图(ffmpeg) 使用ffmpeg进 ...
- XML新手入门 创建构造良好的XML(1)
XML新手入门 创建构造良好的XML(1) 2009-03-19 09:24 Kay Whatley IBM Developerworks 我要评论(0) 字号:T | T 本文描述了构建良好的XML ...
- XML实例入门2
工具:notepad++.VS2008(MSXML6.0) 来自msdn的例子(经过修改,因为升级到MSXML6.0,有些关键字不太一样了), 需要文件books.xml,books.vsd(博客只支 ...
- Tensorflow高速入门2--实现手写数字识别
Tensorflow高速入门2–实现手写数字识别 环境: 虚拟机ubuntun16.0.4 Tensorflow 版本号:0.12.0(仅使用cpu下) Tensorflow安装见: http://b ...
- C语言高速入门系列(二)
C语言高速入门系列(二) -----转载请注明出处coder-pig 本节引言: 在前面一节中我们对C语言进行了初步的了解,学会了使用IDE进行代码的编写,编译执行! 在这一节中我们会对C语言的基本的 ...
- Swift高速入门之函数
函数 看一个函数的样例: func addNumbers( let a:Int,let b:Int)->Int{ return a+b; } 实现两个数相加.函数必须以func开头,后面是函数名 ...
随机推荐
- 关于webpack下热更新?&自动刷新?的小记(非vue-cli)
写本随笔时:webpack4.6.0 为何标题用?号,因为老衲也不知是否用词正确,大概是这样的说法: webpack4.0引入生产模式和开发模式,在开发时使用 webpack 打包后不压缩,所以只需要 ...
- __new__[转载]
转载自https://www.cnblogs.com/MnCu8261/p/6365665.html 实际上,实例化类时调用的第一个方法并不是__init__,而是__new__,其作用正是创建并返回 ...
- Java Service Wrapper将java程序设置为服务
有时候我们希望我们java写的程序作为服务注册到系统中,Java Service Wrapper(下面简称wrapper)是目前较为流行的将Java程序部署成Windows服务的解决方案, 本文将讨论 ...
- mysql学习------MySQL慢查询日志
一.什么是慢查询日志 1.当查询超过一定时间没有返回结果的时候,才会记录进慢查询日志 2.慢查询日志可以帮助dba找出执行效率缓慢的sql语句,为数据库的优化工作提供帮助 3.慢查询日志默认是不开启的 ...
- 简单解读linux的/proc下的statm、maps、memmap 内存信息文件分析【转】
转自:https://blog.csdn.net/sctq8888/article/details/7398776 转载自:http://hi.baidu.com/deep_pro/blog/item ...
- HTML播放FLASH(SWF)神器-SWFObject
环境 必须有 swfobject.js和 expressInstall.swf js: http://pan.baidu.com/share/link?shareid=2536087943& ...
- jenkins+jmeter结合使用
事件背景:想实现jmeter每30分钟执行一次,但是夜里不能人工操作,结果度娘,汇总结果如下 1.配置jmeter测试环境,注意修改Jmeter的bin目录下jmeter.properties文件的配 ...
- linux 环境变量设置方法总结(PATH / LD_LIBRARY_PATH)
PATH和LD_LIBRARY_PATH本质都是变量,所谓变量的意思就是由别人赋值产生的,直觉往往会让我们添加和减少这个变量本身的某些路径,实际上这是不正确的.正确的做法是我们要去修改赋予这个变量数值 ...
- Win7下如何使用GCC编译器
很多Linux的爱好者都很熟悉GCC编译器,但是对面初学者,如何去学习GCC使用GCC ,很多人都是直接在电脑上装一个虚拟机,这样不仅安装麻烦,而且占用了很多电脑资源,今天我来教大家如何在Win7使用 ...
- wpf 自定义控件展开popup,点击popup之外的部分,popup不能自动关闭
比如textbox点击展开popup,这样popup也是不能自动关闭的.可能是textbox获得了焦点. 可是使用textblock,或者ToggleButton来代替textbox点击展开popup ...