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开头,后面是函数名 ...
随机推荐
- Dream Spark ------spark on yarn ,yarn的配置
<?xml version="1.0"?> <!-- Licensed under the Apache License, Version 2.0 (the &q ...
- 基于滑动窗口协议写的程序(UDP实现) .
正好有一个大作业关于用socket实现滑动窗口协议,所以写了一个,模拟接收方与发送方窗口都是2,用两个线程实现. 下面是代码,注释的比较详细了. socket_udp.h #include<st ...
- 搜索引擎ElasticSearchV5.4.2系列二之ElasticSearchV5.4.2+kibanaV5.4.2+x-packV5.4.2安装
相关博文: 搜索引擎ElasticSearchV5.4.2系列一之ES介绍 搜索引擎ElasticSearchV5.4.2系列二之ElasticSearchV5.4.2+klanaV5.4.2+x-p ...
- 001_软件waf
一.优秀的软件waf开源软件 <1>openwaf介绍 http://www.oschina.net/p/openwaf http://git.oschina.net/miracleqi ...
- 公司软raid问题
RAID的技术介绍: stripe width(条带宽度):RAID中的磁盘数,就是组成这个stripe的磁盘数.如,4个磁盘组成的RAID 0,条带宽度就是4. stripe depth(条带深度) ...
- Error updating database. Cause: java.lang.IllegalArgumentException: invalid comparison: java.util.Date and java.lang.String异常处理
问题原因:Mybatis中对于时间参数进行比较时的一个BUG. 如果拿传入的时间类型参数与空字符串‘‘进行对比判断则会引发异常.,所以应该去掉该判断, 只保留非空判断就正常了 <if test= ...
- MongoDB 进阶模式设计
原文链接:http://www.mongoing.com/mongodb-advanced-pattern-design 12月12日上午,TJ在开源中国的年终盛典会上分享了文档模型设计的进阶技巧,就 ...
- PS 切图、抠图
PS切图https://www.cnblogs.com/xiongmanli/p/6079172.html https://tech.youzan.com/cut-boy/?hmsr=toutiao. ...
- Android 隐藏虚拟按键,并且全屏
/** * 隐藏虚拟按键,并且全屏 */protected void hideBottomUIMenu() { //隐藏虚拟按键,并且全屏 if (Build.VERSION.SDK_INT > ...
- Mysql中count(*)和limit同时使用的问题
1.带有count的sql语句只会返回一条记录 , 结果如下图: 2.带有limit的sql语句是最后执行的 , 以上sql语句将返回空行,因为count(*)只会使sql语句产生一条结果记录,所以后 ...